diff --git a/README.md b/README.md index 21cb236d59a7ad5002b3432ee1b5084571640c2d..aab5932f168d584d81a72c95320182977c2873a5 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ emoji: 📚 colorFrom: pink colorTo: yellow sdk: streamlit -sdk_version: 1.31.0 +sdk_version: 1.30.0 python_version: 3.10.5 app_file: Вход.py -pinned: False +pinned: false --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference diff --git a/old_version/.gitattributes b/old_version/.gitattributes deleted file mode 100644 index c7d9f3332a950355d5a77d85000f05e6f45435ea..0000000000000000000000000000000000000000 --- a/old_version/.gitattributes +++ /dev/null @@ -1,34 +0,0 @@ -*.7z filter=lfs diff=lfs merge=lfs -text -*.arrow filter=lfs diff=lfs merge=lfs -text -*.bin filter=lfs diff=lfs merge=lfs -text -*.bz2 filter=lfs diff=lfs merge=lfs -text -*.ckpt filter=lfs diff=lfs merge=lfs -text -*.ftz filter=lfs diff=lfs merge=lfs -text -*.gz filter=lfs diff=lfs merge=lfs -text -*.h5 filter=lfs diff=lfs merge=lfs -text -*.joblib filter=lfs diff=lfs merge=lfs -text -*.lfs.* filter=lfs diff=lfs merge=lfs -text -*.mlmodel filter=lfs diff=lfs merge=lfs -text -*.model filter=lfs diff=lfs merge=lfs -text -*.msgpack filter=lfs diff=lfs merge=lfs -text -*.npy filter=lfs diff=lfs merge=lfs -text -*.npz filter=lfs diff=lfs merge=lfs -text -*.onnx filter=lfs diff=lfs merge=lfs -text -*.ot filter=lfs diff=lfs merge=lfs -text -*.parquet filter=lfs diff=lfs merge=lfs -text -*.pb filter=lfs diff=lfs merge=lfs -text -*.pickle filter=lfs diff=lfs merge=lfs -text -*.pkl filter=lfs diff=lfs merge=lfs -text -*.pt filter=lfs diff=lfs merge=lfs -text -*.pth filter=lfs diff=lfs merge=lfs -text -*.rar filter=lfs diff=lfs merge=lfs -text -*.safetensors filter=lfs diff=lfs merge=lfs -text -saved_model/**/* filter=lfs diff=lfs merge=lfs -text -*.tar.* filter=lfs diff=lfs merge=lfs -text -*.tflite filter=lfs diff=lfs merge=lfs -text -*.tgz filter=lfs diff=lfs merge=lfs -text -*.wasm filter=lfs diff=lfs merge=lfs -text -*.xz filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text -*.zst filter=lfs diff=lfs merge=lfs -text -*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/old_version/README.md b/old_version/README.md deleted file mode 100644 index 55c42ef178ace4214754b07816080d38bdc81df9..0000000000000000000000000000000000000000 --- a/old_version/README.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Russian Task Generator -emoji: 📚 -colorFrom: pink -colorTo: yellow -sdk: streamlit -sdk_version: 1.30.0 -python_version: 3.10.5 -app_file: app.py -pinned: false ---- - -Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference diff --git a/old_version/app.py b/old_version/app.py deleted file mode 100644 index f4fc945984243ae37cf8356c9047fc86cd87aac3..0000000000000000000000000000000000000000 --- a/old_version/app.py +++ /dev/null @@ -1,35 +0,0 @@ -import warnings -import streamlit as st -from utilities.utils import is_valid_uuid -from utilities_database.user_database_widgets import LogIn - -warnings.filterwarnings('ignore') -st.header('Добро пожаловать!') -st.subheader('Вы используете инструмент по автоматической генерации лексико-грамматических заданий по ' - 'русскому языку!') -st.write('**Зарегистрируйтесь или войдите в аккаунт**') -__login__obj = LogIn(auth_token=st.secrets['COURIER_AUTH_TOKEN'], - company_name=st.secrets['COMPANY_NAME'], - width=200, height=200, - logout_button_name='Выйти', - hide_menu_bool=False, - hide_footer_bool=False, - lottie_url='https://assets2.lottiefiles.com/packages/lf20_jcikwtux.json') -LOGGED_IN = __login__obj.build_login_ui() -st.session_state['-LOGGED_IN-'] = False -# Check for username in cookies -if '-USER_NAME-' not in st.session_state: - if __login__obj.cookies.get('__streamlit_login_signup_ui_username__'): - if not is_valid_uuid(__login__obj.cookies['__streamlit_login_signup_ui_username__']): - st.session_state['-USER_NAME-'] = __login__obj.cookies['__streamlit_login_signup_ui_username__'] - st.session_state['-LOGGED_IN_BOOL-'] = True - -if LOGGED_IN: - st.session_state['-LOGGED_IN_BOOL-'] = True - # st.session_state['-USER_NAME-'] = - st.success('Можете переходить к следующим вкладкам!') - -st.markdown('*Автор-разработчик: А.В.Белый, кафедра математической лингвистики, филологический факультет СПбГУ,' - ' 3 курс, бакалавриат, "Прикладная, компьютерная и математическая лингвистика (английский язык)"*' - '\n\n*Научный руководитель: канд. филол. наук, доц. О.А.Митрофанова*') -st.markdown('*E-mail: st087202@student.spbu.ru*') diff --git a/old_version/language_data/A1_MINIMUM.txt b/old_version/language_data/A1_MINIMUM.txt deleted file mode 100644 index ac7f25d4d0b1db78ab8527282c2772a0f2d78497..0000000000000000000000000000000000000000 --- a/old_version/language_data/A1_MINIMUM.txt +++ /dev/null @@ -1,1162 +0,0 @@ -До свидания! -а -август -автобиография -автобус -автор -адрес -активный -алфавит -английский -англичанин -англичанка -англо-русский -анкета -анна -антон -апрель -аптека -арбуз -артист -артистка -аудитория -аэропорт -бабушка -багаж -балет -банк -баскетбол -бассейн -бедно -бедный -без -белый -библиотека -бизнес -бизнесмен -билет -благодарить -бланк -близкий -близко -блузка -богато -богатый -болезнь -болен -болеть -боль -больница -больно -больной -большой -ботинки -брат -брать -бригадир -брюки -будущий -буква -бумага -бутерброд -бутылка -быстро -быстрый -быть -в -вагон -важно -важный -валюта -варежки -вариант -варить -ваш -вдруг -везде -везти -век -великий -верх -верхний -весело -весенний -весна -весной -вести -весь -весёлый -ветер -вечер -вечерний -вечером -вещь -взять -видеть -виза -вилка -вино -виноград -вишня -включать -вкусно -вкусный -вместе -внимательно -внимательный -внук -внучек -внучка -вода -водитель -водить -возить -возраст -войти -вокзал -волейбол -вопрос -восемнадцать -восемь -восемьдесят -восемьсот -воскресение -воскресенье -восьмой -вот -врач -время -всегда -вслух -вспоминать -вспомнить -вставать -встретить -встретиться -встречать -встречу -всё -вторник -второе -второй -вход -входить -вчера -вы -выбирать -вывеска -выйти -выключать -вымыть -выпить -высокий -выставка -выучить -выход -выходить -выходной -выше -газета -где -география -герб -герой -гимн -гитара -главный -глаз -говорить -год -голова -голубой -гора -горло -город -городской -горький -горячий -горячо -господин -госпожа -гостиница -гость -государство -готов -готовить -готовый -гражданин -гражданство -грамм -грамматика -граница -гриб -грипп -громкий -громко -грудь -груз -грузчик -группа -грустный -груша -грязный -гулять -да -давать -давление -давно -даже -далекий -далеко -далёкий -дам -дарить -дать -два -двадцать -двенадцать -дверь -двести -движение -дворец -дворник -девочка -девушка -девяносто -девятнадцать -девятый -девять -девятьсот -дедушка -дежурный -декабрь -делать -день -деньга -деньги -деревня -дерево -десерт -десятый -десять -дети -детский -детство -дешёвый -диван -директор -дисциплина -днм -до -до свидания -добрый -договор -дождь -доклад -документ -долг -долгий -долго -должен -должный -дом -дома -домой -домохозяйка -дорога -дорого -дорогой -дочь -друг -другой -дружба -дружить -думать -дядя -дёшево -его -еда -едите -ездить -есть -ехать -ещ -ещё -её -жаль -жаркий -жарко -ждать -желание -желать -жена -женатый -женский -женщина -живот -животное -жизнь -жиль -житель -жительница -жить -журнал -журналист -журналистка -жёлтый -за -забывать -завод -завтра -завтрак -завтракать -задавать -задание -задать -задача -заканчивать -закон -закрою -закрывать -закрыт -закрытый -закрыть -замужем -заниматься -занят -занятый -занять -заплатить -запоминать -запомнить -заработная -зачем -заявление -звать -звонить -звук -здание -здесь -здоров -здоровый -здравствуй -здравствуйте -зелёный -земля -зима -зимний -зимой -злой -знакомиться -знакомый -знать -золотой -зонт -зонтик -зоопарк -зуб -и -игра -играть -идти -из -известный -извинить -изучать -изучить -или -иметь -императорский -имя -инженер -иногда -иностранец -иностранка -иностранный -институт -интерес -интересно -интересный -интересоваться -интернет -искусство -испанец -испанка -испанский -историк -исторический -история -их -июль -июнь -йли -ймя -к -кабинет -каждый -как -какой -капуста -карандаш -карта -картина -картофель -касса -кассета -кассир -каф -кафе -каша -кашлять -квартира -квитанция -кекс -килограмм -километр -кино -киоск -китаец -китайский -китаянка -класс -клуб -ключ -книга -книжный -когда -колбаса -колледж -комедия -комната -композитор -компот -компьютер -конверт -конец -конечно -конфета -концерт -кончать -кончить -копейка -коричневый -костюм -котлета -который -кофе -кошка -красиво -красивый -красный -кресло -кровать -кровь -круг -кто -куда -купить -куплю -кура -курить -курица -курс -куртка -кухня -лампа -лг -левый -легко -лежать -лекция -лес -летать -лететь -лето -летом -литература -лицо -ложка -лук -любимый -любить -любовь -любопытство -люди -лёгкий -магазин -магнитофон -май -макароны -маленький -мало -мальчик -маляр -мама -марк -марка -март -масло -математик -математика -мать -машина -мебель -медицина -медицинский -медленно -медленный -медсестра -менеджер -место -месяц -метр -метро -мечтать -мизинец -милиция -минута -минуточка -мир -младший -много -мог -может -может быть -можно -мой -молодой -молоко -море -морковь -мороженое -москвич -москвичка -московский -мочь -муж -мужской -мужчина -музей -музыка -музыкант -мы -мыть -мягкий -мясо -на -надо -назад -называться -налево -написать -направо -например -нарисовать -народ -народный -наука -научить -научно -научный -находиться -национальный -начать -начинать -наш -не -не только -недавно -недалеко -неделя -нельзя -немец -немецкий -немецко-русский -немка -несколько -нет -нижегородского -низкий -никогда -никто -никуда -ничего -ничто -но -но и -новость -новый -нога -нож -ножик -номер -нормально -нормальный -носки -ночь -ночью -ноябрь -нравиться -нсв -нужен -нужно -нужный -о -обводить -обед -обедать -обмен -обувь -обучение -общежитие -общество -объявление -обычно -обязательно -овощ -овощи -огурец -одеваться -одежда -один -одиннадцать -оканчивать -окно -окончить -октябрь -он -она -они -опаздывать -опера -опоздать -оранжевый -осень -осенью -осмотр -остановка -осторожно -ответ -ответить -отвечать -отвечу -отдыхать -отель -отец -открою -открывать -открыт -открытка -открыть -откуда -отмечать -очень -очки -ошибка -палец -пальто -памятник -папа -парк -партия -паспорт -певец -педагогического -первое -первый -переводчик -передача -перерыв -переход -перец -перчатки -песня -петь -петя -пианино -пиво -пиджак -писатель -писать -письмо -пить -план -планета -платить -платье -плохо -плохой -площадь -по -по-английски -по-испански -по-китайски -по-немецки -по-русски -по-французски -повторить -повторять -погода -подарить -подарок -подготовить -подождать -подруга -подумать -поезд -поездка -поесть -поехать -пожалуйста -пожелать -позавтракать -позвать -позвонить -поздно -познакомиться -поинтересоваться -пойти -покажу -показать -показывать -покупать -поликлиника -полицейский -полиция -половина -положить -полукруг -полуодетый -получать -получить -полчаса -помидор -помог -помогать -помогу -помочь -помощь -понедельник -понимать -понравиться -понравлюсь -понятно -понять -пообедать -попросить -посадить -послать -после -посмотреть -построить -посылать -посылка -потом -потому -потому что -поужинать -почему -почта -почти -почтовый -почувствовать -пошлю -поэт -поэтому -прав -правильно -правительство -право -правый -праздник -предложение -президент -преподаватель -преподавательница -преступление -привет -пригласить -приглашать -приглашу -приготовить -придти -приехать -прийти -прил -природа -пришла -приятно -проблема -программа -продавать -продавец -продолжать -продолжить -просить -проспект -профессия -прочитать -прошлый -пункт -путешественник -путешествие -путешествовать -пюре -пятнадцать -пятница -пятый -пять -пятьдесят -пятьсот -работа -работать -рабочий -рад -рада -радио -раз -разговаривать -разговор -разный -район -ранний -рано -раньше -расскажу -рассказ -рассказать -рассказывать -ребёнка -ребёнок -редкий -редко -режиссер -результат -река -ресторан -речка -решать -решить -рис -рисовать -родилась -родина -родители -родитель -родиться -родной -родный -рождение -розовый -российский -рост -рот -рубашка -рубль -рука -русский -русско-английский -русско-немецкий -ручка -ручная -рыба -с -сад -салат -сам -самолёт -сапоги -сахар -св -свидание -свободно -свободный -свой -сделать -себя -сегодня -седьмой -сейчас -семнадцать -семь -семьдесят -семьсот -семья -сентябрь -сердце -сертификат -серый -серьёзно -серьёзный -сестра -сидеть -сильно -сильный -синий -скажу -сказать -сколько -скоро -скульптор -слева -следующий -словарь -слово -слушать -смело -смелый -смогла -смогу -смотреть -смочь -сначала -снег -снимать -со -собака -современно -современный -согласен -согласие -согласный -сок -солнце -соль -сорок -сосед -соседка -сосиска -спасибо -спать -специалист -спина -спокойно -спокойный -спорт -спортсмен -справа -справка -спрашивать -спросить -спрошу -среда -средний -стадион -станция -старший -старый -стать -статья -стена -стих -стихи -сто -стоить -стол -столица -столовая -сторона -стоять -страна -страница -строитель -строительство -строить -студент -студентка -студенческий -стул -суббота -сувенир -сумка -суп -сфотографировать -счастие -счастливо -счастливый -счастье -съесть -сыграть -сын -сыр -сюда -так -такси -талантливо -талантливый -там -танцевать -тарелка -твой -театр -текст -телевизор -телеграмма -телепередача -телефон -температура -теннис -теперь -тепло -тетрадь -тихий -тихо -товарищ -тоже -только -тот -трамвай -транспорт -третий -третье -три -тридцать -тринадцать -триста -троллейбус -трудно -трудный -туда -тумбочка -турист -тут -туфли -ты -тысяча -у -увидеть -удовольствие -уже -ужин -ужинать -узнать -улица -умереть -уметь -умно -умный -умываться -университет -управлять -упражнение -урок -уставать -устать -утро -утром -ухо -учебник -ученик -ученица -учитель -учительница -учить -учиться -учёный -факультет -фамилия -февраль -физик -физика -филолог -философ -фильм -фирма -фотоаппарат -фотографировать -фотографирую -фотография -фраза -француженка -француз -французский -фрукт -футбол -футболист -характер -химик -химия -хлеб -ходить -хозяин -хозяйка -хоккеист -хоккей -холодно -холодное -холодный -хороший -хорошо -хотеть -художник -цвет -цветка -цветок -цветы -цена -центр -цирк -цифра -чай -чайник -час -часто -частый -часы -чашка -чей -человек -чемпион -черный -чеснок -четверг -четвертый -четвёртый -четыре -четыреста -четырнадцать -число -чистый -читатель -читать -чихать -чт -что -чувствовать -чёрный -шапка -шарф -шахматы -шашки -шестнадцать -шестой -шесть -шестьдесят -шестьсот -шкаф -школа -шоколад -штаны -шуба -шш -экзамен -экзаменационный -экономика -экономист -экономический -экскурсия -экскурсовод -электронный -этаж -это -этот -юбка -юмор -юноша -юрист -я -яблоко -язык -языком -яйцо -январь diff --git a/old_version/language_data/A2_MINIMUM.txt b/old_version/language_data/A2_MINIMUM.txt deleted file mode 100644 index c4859655f7307328488f4a07c8f56fd44d6820c1..0000000000000000000000000000000000000000 --- a/old_version/language_data/A2_MINIMUM.txt +++ /dev/null @@ -1,696 +0,0 @@ -Всего хорошего! -администрация -алло! -апельсин -аппетит -архитектор -архитектура -аспирант -аспирантка -аспирантура -бегу -бежать -бейсбол -берег -беру -бесплатно -бесплатный -биография -биолог -биология -бить -бог -борис -бороться -буду -букет -булочная -булочный -бывать -бью -варение -вверх -везла -везу -верить -вернуть -вернуться -верный -вз -видео -вижу -висеть -включить -вниз -внимание -во -во время -водка -вожу -возвратить -возвратиться -возвращать -возвращаться -воздух -возможно -возьму -войду -волноваться -волнуюсь -волос -волосы -восток -восточный -вошёл -вперёд -враг -всего -встану -встать -встаю -встреча -встречаться -встречусь -вхожу -вчерашний -выберу -выбрать -выйду -выключить -вымою -выпью -вырасти -вырос -выросла -высоко -выступать -выступить -выступлю -выхожу -вышел -галерея -географ -географический -глубже -глубокий -голос -горько -государственный -готовлю -градус -грустно -грязно -дадите -дата -даю -двое -деле -делегация -дело -депутат -держать -держаться -держу -диалог -длинный -для -доволен -доеду -доехать -докажу -доказать -доказывать -домашний -дружно -дружный -душ -душа -европейский -еду -езжу -ел -ем -если -жалко -жду -женат -жениться -жив -живой -живопись -живу -забуду -задам -задаю -закажу -заказать -заказывать -закончить -зал -заметить -замечательный -замечать -замечу -замуж -занятие -запад -западный -заплачу -звонок -зеркало -знак -знаком -знакомлюсь -знание -значение -значить -золото -иван -игрушка -иду -избиратель -избить -изменить -изменять -иностранцы -интересуюсь -инф -искать -испанцев -испанцы -истратить -ищу -казаться -каникулы -китайцев -китайцы -кладу -класть -коллекционирование -команда -конференция -кончаться -кончиться -корабль -коридор -короткий -коротко -короче -космический -космонавт -космос -кризис -круглый -ксерокс -кто-то -ку -культура -лежу -лекарство -лестница -летний -лечу -лимон -литературный -лифт -личность -лка -лоб -луна -лыжа -лыжи -люблю -медсёстры -международный -меньше -менять -мечта -мешать -милиционер -миллион -минус -мирно -мирный -многие -могла -могу -модно -модный -молодец -молодость -молодцы -молодёжный -молодёжь -молчать -молчу -момент -монета -москва -мою -музыкальный -мультфильм -мультфильмы -мыло -мяч -наверно -наверное -надеюсь -надеяться -найду -найти -наконец -напишу -напротив -нарисую -насорить -научиться -находить -нахожу -начало -начаться -начинаться -начну -начнётся -нашёл -небо -невнимательность -невозможно -несчастие -несчастный -несчастье -нигде -нок -ноль -нос -носка -носок -нравлюсь -обещать -образование -обращать -общий -объяснить -объяснять -обыкновенный -обычный -овощной -огромный -одеться -одинаково -одинаковый -одна -однажды -одно -озеро -около -окончание -онона -ооб -опасно -опасность -оптимист -опытный -опять -организовать -осенний -осматривать -особенно -остров -отдохну -отдых -откроется -открываться -открыться -откуда-то -отлично -отпуск -отсюда -оттуда -отчество -парка -певица -пенсионер -пенсионерка -пенсия -переведу -перевела -перевести -перевод -переводить -перевожу -перевёл -передавать -передадите -передам -передать -передашь -передаю -перейду -перейти -переходить -перехожу -перешла -перешёл -петербург -печение -печенье -пешком -пишу -плавать -плачу -плащ -плеер -плыву -плыть -плюс -по-вашему -по-моему -победа -победить -побежать -побеждать -поблагодарить -побывать -поверить -поверхность -подожду -подписать -поеду -поздравить -поздравлю -поздравлять -познакомлюсь -пойду -пойму -пока! -показаться -пол -поле -полезно -полезный -полететь -политика -политически -политический -полка -полтора -полюбить -поменять -помешать -помнить -помогла -помыть -пообещать -популярный -последний -посоветовать -посольство -поступать -поступить -поступлю -потерянный -потратить -поцеловать -пошл -пошутить -пошучу -поэзия -пою -появиться -появлюсь -появляться -правда -предмет -прекрасно -прекрасный -преподавать -преподаю -привлечь -приготовлю -приду -приезд -приезжать -пример -приходить -прихожу -причина -пришл -приятный -продавщица -продадите -продам -продать -продашь -продолжаться -продолжиться -продукт -продукты -произведение -пройти -промолчать -просто -простой -против -профессор -процент -прошу -прямо -психолог -психология -птица -путешествую -пыль -пью -радиопередача -радость -разбить -размер -расти -режиссёр -религия -решение -рисую -родился -рок -роль -роман -рос -ру -рую -рынок -рядом -садиться -сажусь -самостоятельно -самостоятельный -самый -сантиметр -сапог -сварить -свет -светло -светлый -сво -свои -своя -сдавать -сдадите -сдам -сдать -сдаю -север -северный -секретарь -секунда -сел -села -сесть -сестёр -сигарета -сижу -симпатичный -система -ситуация -сказка -скрипка -скучно -скучный -сладкий -сладко -случай -случаться -случиться -слышать -смерть -смешно -смешной -смеюсь -смеяться -смог -снова -собирать -собор -собрание -собрать -совет -советовать -советую -солнечный -сообщать -сообщение -сообщить -сорить -соседний -состав -специальность -сплю -спортивный -спою -сразу -срок -стакан -старость -стою -странный -строительный -суметь -сутки -счёт -съедим -съем -сяду -сёстры -тайна -так как -также -такой -талант -танец -танцую -твёрдо -твёрдый -телеграф -темно -техника -технический -то -то есть -тогда -торт -точка -точно -точный -тратить -трачу -труд -ття -туфля -тяжело -тяжёлый -тёмный -тёплый -тётя -убивать -убить -убью -уважаемый -уважать -уверен -уверенный -увижу -ударение -уделять -удивительно -удивительный -удобно -удобный -уеду -уезжать -уехать -узкий -узко -уйду -уйти -улыбаться -улыбнуться -ум -умер -умерли -умирать -универмаг -университетский -упас -упасть -употребление -услышать -успех -устану -устаю -уходить -ухожу -участвовать -участвую -учебный -учёба -ушл -фабрика -факс -фермер -физически -физический -филологический -филология -философия -философский -флешка -фонтан -фрукты -химический -хоб -хобби -хожу -хозяек -хочу -царь -цветной -целовать -целую -целый -центральный -часть -чем -через -чес -честно -честный -чис -чисто -читальный -чтение -чтобы -чувствую -шахматист -широкий -широко -школьник -школьница -шл -шла -шум -шуметь -шумлю -шутить -шутка -шучу -щи -энергично -энергичный -энергия -юг -южный -юность -юридический -являться -ягода -яркий -ёлка diff --git a/old_version/language_data/B1_MINIMUM.txt b/old_version/language_data/B1_MINIMUM.txt deleted file mode 100644 index dbe32867b752475a40527d1ae0ea29de70da0922..0000000000000000000000000000000000000000 --- a/old_version/language_data/B1_MINIMUM.txt +++ /dev/null @@ -1,1920 +0,0 @@ -абсолютно -абсолютный -австралия -автобусный -автомат -автомобиль -азиатский -азия -академия -аккуратно -алло -альбом -америка -американец -американка -американский -анализ -анализировать -анализирую -ангина -англичанок -ансамбль -антарктида -аппетита -армия -архитектурный -атеизм -атмосфера -атомный -афиша -африка -б -бабочка -балерина -балкон -банан -бандероль -банка -баскетболист -баскетболистка -батон -башня -бег -бегать -беда -белка -белок -бельё -бензин -берг -береза -беречь -берлога -берёза -беседа -беседовать -беседую -беспокоиться -библиотекарь -биологический -биться -бледный -блестеть -блестящий -блин -блины -блюдо -богатство -бой -бок -более -болельщик -болото -болтать -большинство -борода -борщ -борьба -ботинок -боюсь -бояться -бревно -бреюсь -бриться -бровь -бродить -бросать -бросаться -бросить -будто -будущее -булочка -бумажка -буфет -бы -бывший -ваза -ванна -ванная -варенье -вверху -вдвоем -вдвоём -ведро -веду -ведь -вежливый -велосипед -веник -вера -веревка -верно -верну -вернусь -вершина -верёвка -веселый -ветка -вешать -взгляд -вздохнуть -вздыхать -взрослый -вид -визитная -визитный -виноватый -вл -власть -влезать -вместо -внизу -внутри -во-вторых -во-первых -вовремя -воевать -военный -воздушный -возможность -война -вокруг -волк -волна -волнение -волшебный -вон -вообще -воробей -ворона -ворота -воспитание -воспитать -воспитывать -воспоминание -восторг -воюю -впервые -впереди -впечатление -вполне -врать -вред -вредно -вредный -вс -все -вскоре -вставить -вставлять -всякий -выбегать -выбираться -выглядеть -выеду -выезжать -выехать -вызвать -выздоравливать -выздороветь -вызов -вызову -вызывать -выиграть -выигрывать -вылезать -вылетать -вылечить -вымыться -выполнить -выполнять -выпь -выражать -выражение -выражу -выразить -вырастать -вырезать -выскочить -высота -выстирать -выступление -вытаскивать -вытирать -газ -газопровод -галстук -гараж -гастроном -гвоздь -где-нибудь -где-то -генерал -геолог -геологический -геология -гимназия -гимнастика -глава -глагол -гладить -глазок -глубоко -глупо -глупость -глупый -глухой -глядеть -глянуть -гнездо -говориться -говядина -голод -голодный -голый -гораздо -гордиться -гордо -гордый -гореть -горжусь -городок -гостей -гостеприимно -гостеприимный -готовиться -гроза -гром -грубо -грубый -грусть -грядка -грязь -губа -гуманитарный -гусеница -густой -гусь -дальний -дама -данный -дача -дая -дважды -двигаться -двинуться -двойка -двор -дворянский -дед -действие -действительно -действовать -декан -декларация -дела -делить -делиться -демократический -демонстрация -деревянный -дерзить -детектив -детская -дешево -деятель -джем -джема -джинсы -дикий -диктант -дипломат -дипломатический -дирижёр -диск -дискуссия -диссертация -длина -дневник -дно -добавить -добавлять -добиваться -добиться -добро -доброта -добьюсь -довольно -довольный -догадаться -догадываться -догнать -договариваться -договориться -доезжать -дождаться -дойду -дойти -доктор -документальный -домашнее -домик -дорожка -доска -доставать -достаточно -достать -достиг -достигать -достигнуть -достижение -доходить -дочка -дошл -дошлый -драться -древний -дрожать -дружеский -дружественный -дуб -дует -дуть -дым -дыхание -дышать -европа -едва -едим -единственный -единый -ее -ежегодно -ежегодный -ежедневно -ежедневный -ежик -еле -елка -естественно -естественный -еще -ж -жалеть -жаловаться -жара -жареный -жарить -же -железный -желтый -желудок -жених -жестокий -жестоко -жу -жук -заблудиться -заблуждение -заболеть -забор -забота -заботиться -забыть -зависеть -заводить -загадка -заглядывать -заглянуть -загорать -загореть -задний -задумчиво -задумываться -зажигать -зайду -займу -зайти -заканчиваться -законспектировать -закончиться -закричать -закрой -закроюсь -закрываться -закрыться -закурить -закуска -залезать -залезть -заменить -заменять -замок -замолчать -замолчу -занимать -заорать -запас -запах -записать -записка -записывать -запись -заплакать -запретить -запрещать -запрещу -запятая -заранее -зарплата -зарубежный -засмеюсь -засмеяться -заснуть -заставлять -засыпать -затем -затылок -захватить -заходить -захотеть -захотеться -зачёт -защитить -защищать -защищу -заяц -звезда -звенеть -звенит -зверек -зверь -зверёк -звучать -здороваться -здорово -здоровье -зеленый -землетрясение -земной -злиться -змея -знакомить -знакомлю -знаменитый -зритель -зрительный -зря -зу -зубная -зубной -иголка -идет -идея -из-за -известно -извинение -извини -измениться -изменяться -изображать -изображение -изображу -изобразить -изучение -имена -иметься -импорт -иначе -иной -инструмент -интересовать -интернациональный -инфляция -информация -испанско-русский -исполниться -исполняться -использовать -исправить -исправлю -исправлять -испуганно -испугаться -исследование -исследовать -исследую -исчезать -итак -йогурт -как будто -как-нибудь -как-то -какао -каков -какой-нибудь -какой-то -календарь -калитка -каменный -камень -капитан -капля -карман -картинка -карточка -картошка -касаться -кастрюля -катастрофа -кататься -каток -кафедра -качество -кашель -кепка -кефир -кивнуть -кинотеатр -кислый -китайско-русский -классический -классный -клевать -клей -клетка -климат -клюв -км -книжка -ковер -ковёр -когда-нибудь -когда-то -код -кожа -коза -козел -козёл -колено -колесо -количество -коллега -коллекция -кольцо -командировка -командировок -комар -компания -компьютерная -компьютерный -конкурс -консерватория -конспектировать -конституция -консультация -континент -контрольный -конь -коньки -конёк -копать -кора -корень -корзина -корзинка -кормить -коробка -корова -королева -король -корпус -коса -костер -кость -костёр -кот -котенок -котёнок -кошелёк -край -крайний -краска -краски -красота -кредитный -кремль -крепкий -крепко -крепость -крестьянин -крестьянка -крик -крикну -крикнуть -критиковать -критикую -кричать -кроме -кроссовки -кроссовок -крошка -кружится -кружиться -кружок -крупный -крыло -крыша -крышка -кто-нибудь -куда-нибудь -куда-то -кукла -кулак -культурно -культурный -купаться -кусок -куст -куча -ла -лаборатория -лагерь -ладонь -лазерный диск -лампочка -лапа -лапка -ласково -ласковый -ласточка -лаять -лебедь -лев -лед -ледяной -лезть -лесной -летчик -лечить -лечь -ли -линейка -линия -лиса -лист -листок -личный -лишний -ловить -ловко -лодка -ложиться -локоть -ломать -лопата -лось -лотерея -лото -лошадь -луг -лужа -луч -лучше -любой -лягу -лягушка -лёд -лётчик -майк -майка -мал -малый -малыш -мамин -маршрут -маршрутка -масленица -мастер -математический -матери -материал -матрос -матч -махать -махнуть -мгновение -мед -медведь -медвежонок -между -мелкий -мелодия -менее -меня -мера -мерить -мертвый -местный -металл -метель -мешок -миг -миллиард -мило -милый -мимо -министр -минутка -мировой -митинг -мишка -мнение -многий -многое -множество -мобильный -модель -мокрый -молния -мороз -морс -морской -моряк -мост -мочалка -моюсь -му -мужественно -мужественный -мужество -мука -муравей -муха -мчаться -мысль -мыться -мышка -мышь -мюзикл -мягко -мяукать -мячик -мёд -мёртвый -набирать -наблюдать -наверх -наверху -навестить -навещать -навещу -навсегда -навстречу -награда -над -надевать -надежда -надену -надеть -надолго -надпись -название -назвать -назову -называть -наиболее -наизусть -накормить -накрывать -наливать -намного -наоборот -напечатать -напоминать -напомнить -направление -нарочно -насекомое -население -насколько -насморк -настольная -настольный -настоящий -настроение -наступать -наступить -национальность -начальник -небольшой -невеста -негде -неделе -независимость -незаметно -незнакомый -неизвестно -некогда -некоторый -некуда -немедленно -немного -необходимо -необходимый -необыкновенно -необыкновенный -необычный -неожиданно -неожиданный -непонятно -непонятный -неправильно -непрерывно -непрерывный -неприятность -нервно -нервный -несла -несмотря -нести -нестись -неужели -нефть -нечего -ни -ниже -нижний -низко -никак -никакой -нитка -ничей -новогодний -ножка -ножницы -нора -норка -носить -ночи -ночной -нс -ну -обезьяна -обида -обидеть -обидеться -обижать -обижаться -обижу -обижусь -обладать -облако -область -обманывать -обойду -обойти -обрадовать -обрадоваться -обрадую -образец -обратить -обратиться -обратно -обратный -обращаться -обслуживание -обсудить -обсуждать -обучать -обучить -обходить -обхожу -общественный -объединить -объединять -объявить -объявлю -объявлять -объяснение -обычай -обязан -обязать -овца -оглядываться -оглянуться -огонь -огород -одевать -одену -оденусь -одеть -одеяло -однако -одновременно -одноклассник -ожидать -означать -окажусь -оказаться -оказываться -оканчиваться -океан -окончательно -окончиться -окорка -окошко -оно -оон -опасный -операция -описание -описать -описывать -опускать -опушка -опыт -орать -организация -организую -орех -оригинально -оригинальный -оружие -освободить -освобождать -освобожу -осмотреть -основатель -основной -особенность -особенный -особый -оставаться -оставить -оставлять -остальной -останавливать -останавливаться -остановить -остановиться -остановлю -останусь -остаток -остаться -остро -острый -от -ответственность -отдавать -отдадим -отдать -отдохнуть -откажусь -отказаться -отказываться -откроить -открытие -открытый -отличный -отметка -отнимать -отниму -относиться -отношение -отнять -отойду -отойти -отправить -отправиться -отправлять -отправляться -отпускать -отрезать -отсталый -отходить -отчаяние -отъезд -офицер -официально -официальный -официант -оформить -оформлю -оформлять -охота -охотник -оценивать -оценить -оценка -очередной -очередь -ошибаться -ошибиться -ошиблась -падать -падеж -палатка -палка -память -папин -пара -парень -парламент -пароход -парта -парус -пассажир -паста -пасха -пахнуть -педагогический -пейзаж -пенал -перебивать -перебить -перевезла -перевезти -перевозить -переговоры -перед -передвигаться -передний -перееду -переезжать -переехать -перемена -перенести -переносить -пересадка -пересказать -пересказывать -переставать -перестать -переулок -перо -перчатка -пес -песенка -песок -пессимист -петух -печатать -печка -печь -пещера -пирог -пирожное -пирожок -пицца -плакать -платок -плач -плечо -плита -плод -площадка -по-прежнему -по-твоему -побегу -побеседовать -побеседую -побреюсь -побриться -поведение -повезти -повесить -повод -погиб -погибать -погибнуть -погладить -поговорить -погодить -погулять -под -подавать -подбегать -подбирать -подготовиться -подготовка -подготовлюсь -поделить -поделиться -поднимать -подниматься -поднимусь -поднять -подняться -подобный -подобрать -подойду -подойти -подоконник -подписывать -подпишу -подружиться -подружка -подсказывать -подушка -подходить -подходящий -подъеду -подъезд -подъезжать -подъехать -поем -пожалеть -пожаловать -пожалуй -пожар -пожарить -пожениться -позаботиться -позавчера -поздний -поздороваться -познакомить -познакомлю -поиграть -поиск -поить -поймать -пока -показываться -покататься -покачать -покормить -покормлю -покрасить -покраснеть -покупатель -полагаться -полезть -полет -полечить -полечу -ползти -поливать -политехнический -полностью -полный -положение -полоса -полотенце -получаться -получиться -польза -пользоваться -полюблю -поляна -полёт -померить -помолчать -помощник -помыться -понадобиться -понятный -попадать -попадаться -попробовать -попрощаться -попугай -попытаться -пора -поражение -поранить -порезать -поросенок -поросёнок -порт -портрет -портфель -порядок -поселок -посетить -посещать -посидеть -послезавтра -пословица -послушать -послышаться -посоветоваться -посоветуюсь -посол -поспешить -поспешно -поспорить -поставить -поставлю -постараться -постель -постоянно -постоять -поступок -постучать -посуда -посчитать -посёлок -потерять -потолок -потрачу -потребовать -потребую -потянуть -потянуться -похвалить -поход -похож -похоже -похожий -поцеловаться -поцелуй -поцелую -почему-то -пошлый -пояс -правило -правильный -праздничный -практика -практически -практический -превращаться -предлагать -предложить -предполагать -предположить -представитель -представление -представлять -прежде чем -премия -при -прибавлять -прибегать -приведу -привезла -привезти -привести -приводить -привозить -привык -привыкать -привыкнуть -привычка -приготовиться -придумать -придумывать -приеду -прием -прикажу -приказ -приказать -приключение -прилетать -прилететь -прилечу -примета -принадлежать -принесла -принести -принимать -приносить -принять -прислать -присылать -причесаться -пришлый -пришлю -приятель -приятного -приём -про -проанализировать -проанализирую -пробежать -пробовать -проведу -провезти -проверить -проверять -провести -проводить -провожать -провозить -прогресс -прогулка -продукция -проеду -проезжать -проехать -проживу -прожить -прозрачный -проиграть -проигрывать -произведу -произвести -производить -производство -произнести -произносить -произношение -произойти -происходить -пройда -пройду -промышленность -промышленный -пропадать -пропускать -пропустить -проснусь -проснуться -прости -простить -проститься -простудиться -просыпаться -просьба -прохладно -проходить -процесс -прочитывать -прошептать -прошл -прощать -прощаться -пруд -прыгать -прыгну -прыгнуть -прямой -прятаться -прятки -психологически -психологический -птенец -птичка -пугать -пускать -пусто -пустой -пусть -путь -пушистый -пчела -пытаться -пьеса -пятерка -пятно -пятёрка -пёс -равен -равно -равный -радовать -радоваться -радостно -радостный -радуга -радую -разбираться -разбудить -разве -развивать -развиваться -развитие -развиться -разглядывать -разделить -разделиться -различный -разница -разноцветный -разрешать -разрешить -рак -рана -раскрашивать -раскрывать -расписание -рассердиться -рассматривать -рассмеяться -рассмотреть -расстояние -растение -растерянно -расческа -расчёска -реакция -ребята -революция -регулярно -реж -режу -резать -резко -ректор -республика -реформа -рецепт -речь -решительно -решительный -рисунок -ровно -ровный -рог -род -родственник -рождаться -рождество -роза -ромашка -россия -рояль -ругать -рукав -руководитель -руководить -руковожу -русски -ручей -рыбак -рыбка -рыжий -рюкзак -ряд -сажать -салют -самовар -самолет -санки -саша -сбегать -сберечь -свежий -сверкать -сверху -светить -светиться -свеча -свинина -свинья -свитер -свобода -свободен -связывать -связь -святой -сгореть -северная -седой -секрет -село -сельский -семейный -семена -семестр -семинар -семя -сердито -сердиться -серебро -серебряный -середина -серьезно -серьезный -сессия -сзади -сибирский -сила -символ -скакать -скала -скамейка -скидка -скорость -скорый -скромно -скромный -скучать -слабо -слабый -слава -славянский -слегка -след -следить -следовательно -следовать -слеза -слива -слишком -слова -сложно -сложный -сломать -слон -служить -слух -случайно -слушаться -слышаться -сметана -смех -смысл -снаружи -снеговик -снегурочка -снежинка -снежки -снежный -снежок -сниму -снять -соберу -соберусь -собираться -собраться -собственный -событие -сова -совершать -совершенно -советоваться -советский -советуюсь -совсем -согласиться -соглашаться -сожаление -создавать -создам -создать -солдат -соловей -сомневаться -сомнение -сон -сорвать -соревнование -сорт -сосна -составлять -состояние -состоять -соус -сохранить -сохранять -социализм -социальный -сочинение -сошью -спальня -спас -спасать -спасти -спектакль -спеть -специально -специальный -спешить -спичка -спокойной -спор -спорить -способ -способный -спрятать -спрятаться -спускаться -спутник -сравнивать -сравнить -среди -средство -ссора -ставить -становиться -стану -стараться -старик -старинный -старушка -стая -ствол -стекло -стеклянный -стипендия -стирать -стихотворение -столб -столик -столько -сторож -страдать -странно -страх -страшно -страшный -стрелять -стремиться -стремлюсь -строгий -строго -стройка -строка -строчка -стук -ступать -ступенька -стучать -стыдно -суд -судьба -сухой -существо -существовать -сфотографироваться -схема -сходить -сцена -считать -считаться -счт -сшить -съедать -съедите -съезд -сэкономить -та -таблетка -таинственный -таким образом -таможенный -таможня -тащить -твердо -твердый -творчество -тело -тема -темнота -темный -тень -теоретически -теоретический -теория -теплеть -теплоход -теплый -терпеть -территория -терять -тетрадка -тетя -течение -течь -тигр -тип -тишина -товар -толпа -толстый -толща -только что -тон -тонкий -топор -торговля -торопиться -торопливо -торчать -точность -трава -травка -трагедия -традиция -требовать -тревога -тренироваться -тренировка -тренируюсь -трогать -трое -тройка -тропинка -труба -трубка -трудиться -трудность -трудолюбивый -туалет -туман -туча -тюрьма -тяжелый -тянуть -тянуться -убегать -убегу -убедить -убежать -убеждать -уберу -убирать -убрать -увезти -увеличиваться -увеличиться -увз -увлекаться -увлекусь -увлечение -увлечься -уводить -увожу -увозить -угол -уголь -угощать -угроза -удаваться -удар -ударить -удаться -удивиться -удивление -удивлюсь -удивляться -уж -ужас -ужасно -ужасный -узнавать -укол -украсть -украшать -украшение -улетать -улететь -улечу -улитка -улучшать -улучшаться -улучшить -улучшиться -улыбка -умение -уменьшаться -уменьшиться -умоюсь -умыться -уникальный -упад -упаду -упал -употребить -употреблю -употреблять -урожай -ус -условие -уснуть -успевать -успеть -успешно -успешный -успокаиваться -успокоиться -устало -усталый -устно -устный -устраивать -усы -утка -утренний -участие -участник -участок -ученый -училище -факт -фашизм -фашист -фестиваль -фигура -физкультура -флаг -фонарь -форма -фото -фотографироваться -фронт -фруктовый -футболка -футбольный -хвалить -хватать -хватить -хвост -хвостик -хирург -хитрый -хлопать -хлопнуть -ход -хозяйство -холод -холодильник -хор -хотеться -хотя -хохотать -храм -художественный -худой -цвести -целоваться -цель -ценить -ценный -церкви -церковь -цыпленок -цыплёнок -чей-нибудь -чей-то -человеческий -человечество -чемодан -чемпионат -чердак -черта -честь -четверо -четверть -четвёрка -чистить -член -что-нибудь -что-то -чувство -чудесный -чудо -чужой -чуть -чуть-чуть -шаг -шагать -шар -шарик -шашлык -шевелиться -шепотом -шептать -шерсть -шея -шить -шишка -школьный -шляпа -шоссе -шофер -штука -шумно -шумный -шёпотом -щека -щенок -щетка -щётка -экологический -экология -экономить -экономлю -экспедиция -эксперимент -экспорт -электричество -электроника -электростанция -энциклопедия -эпоха -эта -этап -южная -юный -ядерный -яма -ярко -ясно -ясный -ящик -ёжик diff --git a/old_version/language_data/B2_MINIMUM.txt b/old_version/language_data/B2_MINIMUM.txt deleted file mode 100644 index a2192e9dd7bc38fa9af23ff77284b8427220b018..0000000000000000000000000000000000000000 --- a/old_version/language_data/B2_MINIMUM.txt +++ /dev/null @@ -1,2751 +0,0 @@ -абзац -аборт -абрикос -абстрактно -абстрактный -абсурд -абсурдный -авария -австрийцы -автодорожный -автоматически -автономия -автономный -автоответчик -авторитет -агент -агентство -агрессивно -агрессивный -ад -адаптироваться -адвокат -адекватно -адекватный -административный -администратор -азартно -азартный -академик -акварель -аккуратный -акт -актриса -актуально -актуальный -актёр -акцент -акционерный -акция -албанцы -алгебра -алжирцы -алкоголь -аллергия -аллея -алтайцы -альпинист -американок -американцы -ананас -анатомия -ангел -англичане -анекдот -анти- -антибиотик -антисемитизм -античный -антракт -аплодировать -аплодисменты -арабы -аргентинцы -аргумент -аргументировать -аренда -арендовать -арест -арестовать -арестовывать -армяне -аромат -ароматный -археолог -археология -атлетика -аудирование -аукцион -афганцы -африканец -африканка -африканок -африканский -африканцы -бадминтон -база -базар -бакалавр -баклажан -бал -балалайка -балл -баловать -баловаться -банкет -банкир -банкомат -банкрот -баня -бар -барабан -баран -баранина -баранка -бас -бастовать -бегун -бегунья -беднеть -бедность -бедствие -бежевый -беженец -беженка -безвкусно -безвкусный -безвыходный -безграмотно -безграмотный -безгранично -безграничный -бездарный -бездействовать -бездельничать -бездетный -бездушный -беззаботно -беззаботный -беззащитный -безлюдно -безлюдный -безнадёжно -безнадёжный -безнравственный -безобразно -безобразный -безопасно -безопасность -безопасный -безработица -безработный -безусловно -бекон -белеть -белорусы -бельгийцы -бережливый -бережно -беременная -беременный -берет -беседка -бесконечно -бесконечный -бескорыстно -бескорыстный -беспокоить -беспокойно -беспокойный -бесполезно -бесполезный -беспомощный -беспорядок -бесправный -бессмысленно -бессмысленный -бессовестный -бессонница -бессрочный -бестактно -бестактный -бесцветный -бесценный -бесшумно -бесшумный -бетон -библия -бильярд -биржа -благодарный -благодаря -благородно -благородный -благотворительный -бледнеть -близнец -близнецы -блок -блокнот -блондин -блондинка -блюдце -богатеть -боевик -бож -бокал -бокс -боксёр -болгары -боливийцы -болотистый -больничный -бомба -бомбить -бомж -борец -бородатый -босоножка -босоножки -ботаник -ботаника -бразильцы -брак -браслет -бредить -брести -бриллиант -британцы -бритва -бронировать -бронхит -брошка -брошь -брюнет -брюнетка -буддизм -буддист -будильник -будить -будни -булка -бульвар -бульон -бумажник -бумажный -буржуазный -буря -бусы -буханка -бык -быт -бытовой -бюджет -бюро -бюрократ -в частности -в-третьих -вальс -варежка -варёный -вата -ватрушка -вафли -вафля -вбегать -вбежать -ввезти -ввести -вводить -ввоз -ввозить -вглядеться -вглядываться -вдали -вдаль -вдвое -вдова -вдовец -вдоль -вдохновение -ве -вегетарианец -вегетарианцы -ведущий -ведёшь -вез -везучий -веко -велик -великолепно -великолепный -велогонка -велосипедист -венгры -венчаться -вер -верблюд -вермишель -верность -веровать -вероятно -вероятность -версия -вертикально -вертикальный -вертолёт -верующий -вес -веселиться -весить -весы -ветеран -ветчина -вечеринка -вечно -вечный -вешалка -взаимно -взаимный -взаимо- -взаимосвязь -взвесить -взвешивать -взволнованно -взволнованный -взволновать -взволную -взглянуть -вздрагивать -вздрогнуть -взлетать -взлететь -взорвать -взрыв -взрывать -взятка -виден -видеокамера -видеомагнитофон -видеться -видимо -видный -вижусь -визит -визитка -винегрет -виноват -вирус -висок -висок, -витамин -витрина -вить -вкладывать -вкус -владелец -владеть -влажно -влажный -властно -властный -влево -влетать -влететь -влияние -влиять -вложить -влюбить -влюбиться -влюбляться -влюблённый -вмешаться -вмешиваться -вначале -внезапно -внезапный -внести -внешне -внешний -внешность -вничью -вносить -внутренний -внёс -водопад -водопроводный -возглавить -возглавлять -возле -возможный -возмутиться -возмущаться -возникать -возникнуть -возражать -возражение -возразить -возрождение -волевой -волейболист -волейболистка -волновать -воля -воображение -вооружённый -вопреки -вор -воровать -воротник -ворчать -воскресный -воспитанный -восстанавливать -восстание -восстановить -восхититься -восхищаться -восход -впечатлительный -вписать -вписывать -вполголоса -впоследствии -вправо -впускать -впустить -враждебно -враждебный -враждовать -вратарь -времени -временно -временный -времён -вручать -вручить -вряд -вряд ли -всемирный -всеобщий -всерьёз -всесторонне -всесторонний -вскипеть -вскипятить -вскипячу -вследствие -всматриваться -всмотреться -вступать -вступить -вступление -всё-таки -втроём -вуз -вулкан -вульгарно -вульгарный -въезжать -въехать -выбежать -выбор -выборы -выбрасывать -выбросить -вывезти -вывести -вывод -выводить -вывоз -вывозить -выглядишь -выгнать -выгодно -выгодный -выгонять -выдавать -выдадим -выдать -выживать -выжить -выйдешь -выключатель -вылететь -выливать -вылить -вынести -вынимать -выносить -выносливый -вынуть -выписать -выписывать -выпуск -выпускать -выпускник -выпускница -выпустить -выразительно -выразительный -вырастить -выращивать -выселить -выселять -высказать -высказывать -выслушать -выслушивать -высотный -высохнуть -выспаться -выстрелить -высушить -высший -высыпаться -высыхать -вытащить -вытереть -вышивать -выяснить -выяснять -вьетнамцы -вьющийся -вязаный -вязать -вянуть -гарантировать -гарантия -гардероб -гармонично -гармоничный -гарнир -гасить -гаснуть -гастроли -гастроль -гвоздик -гвоздика -где-либо -гель -ген -генетик -генетический -гениально -гениальный -гений -геноцид -героически -героический -гибель -гибкий -гибко -гибнуть -гигантский -гид -гидроэлектростанция -гимнаст -гимнастка -гинеколог -гитарист -гладкий -гладко -глина -глохнуть -глубина -гнать -гнаться -гнилой -гов -годовщина -гол -голодать -гололёд -голосовать -голубь -гольф -гольфы -гонка -горбуша -горе -горизонтально -горизонтальный -горничная -горнолыжный -горный -горчица -госпиталь -гостиная -грабить -гравюра -град -градусник -гражданка -гражданский -грамотно -грамотный -гранит -граничить -графика -греки -греть -греться -грех -гречка -гроб -громадный -груб -грубить -грузины -грустить -гу -губернатор -гуляш -гуманный -дагестанцы -дадим -далее -дальновидный -данные -даром -дворянин -дворянка -двоюродный -двух -двухлетний -двухместный -двухтысячный -двухэтажный -деградировать -дезодорант -декорация -делегат -деликатно -деликатный -деловой -демагог -демографический -демократ -демократичный -демонстрировать -депрессия -деталь -дефект -дешеветь -деятельность -джаз -диабет -диагноз -диета -диетический -дизайнер -диктатор -диктор -динамично -динамичный -диплом -дипломатично -дипломатичный -дискета -дискотека -дискуссионный -дневной -дневный -днём -добираться -добраться -добродушно -добродушный -доброжелательно -доброжелательный -добросовестно -добросовестный -доверие -доверить -доверять -догонять -доделать -доделывать -дождливый -доживать -дожить -дозваниваться -дозвониться -дойдёшь -доказательство -должность -долина -доллар -доминиканцы -домофон -домработница -дописать -дописывать -дополнительно -дополнительный -дополнить -дополнять -дорожать -досрочно -досрочный -достичь -достоин -достоинство -достойный -достопримечательность -досуг -доход -драгоценный -драка -драма -драматический -друга -ду -дублёнка -дума -духовный -душно -душный -дую -дыня -дыра -дьявол -евангелие -евреи -европеец -европейцы -египтяне -единица -единичный -единогласно -единогласный -единомышленник -ежемесячно -ежемесячный -еженедельно -еженедельный -ежи -ела -ель -жадно -жадность -жадный -жалость -жаргон -жаркое -жать -желательно -железнодорожный -железо -желтеть -жемчуг -жертва -жертвовать -жест -жидкий -жидкость -жизнерадостный -жилой -жир -жирный -журналистика -жюри -жёсткий -забастовка -забивать -забить -заботливо -заботливый -забронировать -заваривать -заварить -завернуть -завести -завещание -завидовать -зависть -завоевать -заворачивать -завоёвывать -завтрашний -завязать -завязывать -завянуть -загадочно -загадочный -заговор -заголовок -загорелый -заграничный -загрязнение -загрязнить -загрязнять -задуматься -зажечь -зажигалка -заинтересовать -заинтересоваться -зай -закат -заключаться -заключение -заключительный -законодательный -закономерно -закономерный -залив -заложник -заместитель -замечание -заморозки -заморозок -замёрзнуть -запланировать -заповедник -запрет -зарабатывать -заработать -заражать -заражаться -заражу -заразить -заразиться -зарегистрироваться -заседание -засмотреться -застегнуть -застегнуться -застёгивать -застёгиваться -затормозить -зачитаться -зачитываться -защитник -заявить -заявлять -зевать -зевнуть -зелень -зи -зна -знакомство -значит -значок -зрение -зять -игла -идеал -идеалист -идеально -идеальный -из-под -изба -избаловать -избирательный -известна -извиниться -извинять -извиняться -издавать -издание -издательство -издать -измена -изменение -измерить -измерять -изобретатель -изобретение -изой -израильтяне -изюм -изящно -изящный -икона -икра -именно -имидж -иммигрант -иммигрировать -иммунитет -инвалид -инвалидный -инвестировать -инвестиция -инвестор -индейцы -индекс -индивидуалист -индивидуально -индивидуальный -индийцы -индонезийцы -индуизм -индустриальный -инициал -инициалы -инициатива -инициативный -иностранок -инспектор -инспекция -инструкция -интеллект -интеллектуал -интеллектуальный -интеллигент -интеллигентный -интеллигенция -интенсивно -интенсивный -интервал -интервью -интимный -интонация -интуиция -инфаркт -инфекция -информативный -информационный -иорданцы -ир -иранцы -ирландцы -иронично -ироничный -ирония -исключать -исключение -исключительно -исключить -искренне -искренний -искусственно -искусственный -ислам -исландцы -испачкать -испачкаться -испечь -исполнить -исполнять -испортить -испортиться -испорчусь -испугать -исследователь -итальянцы -итог -итого -иудаизм -йеменцы -йод -ка -кавказцы -казахи -какой-либо -калорийный -калькулятор -камбоджийцы -кампания -канадцы -канал -кандидат -капитализм -капиталистический -карамель -карьера -каталог -католик -католицизм -качаться -качественный -квадрат -квадратный -квалифицированный -квас -кг -керамика -кивать -кипеть -киприоты -кипятить -кипячёный -киргизы -кирпич -кисель -кислород -классовый -клеить -клиент -клубника -клюква -ко -ковать -коваться -когда-либо -кое-где -кое-как -кое-какой -кое-когда -кое-кто -кое-куда -кое-что -кожаный -колготки -коллектив -коллективный -коллекционер -коллекционировать -колокол -колумбийцы -коляска -ком -командовать -коми -комитет -комментировать -коммерческий -коммунист -коммунистический -компенсация -компенсировать -комплекс -комплимент -компресс -компромисс -комфортно -комфортный -кон -конгресс -кондитерский -кондиционер -кондуктор -конкретно -конкретный -конкурент -конкуренция -консервативно -консервативный -консервы -консультант -контрабанда -контракт -контроль -конфликт -копить -копия -коран -корейцы -корм -корреспондент -коррупция -косметика -косметический -коснуться -кофеварка -кофемолка -кран -красить -краснеть -красть -краткий -кратко -кратковременный -кредит -крем -крест -кривая -кривой -криминальный -критерий -критик -критика -критически -критический -кроссворд -крупа -крыжовник -кстати -кто-либо -кубинцы -куда-либо -кукуруза -кулинария -кульминация -купальник -купе -курительный -курсы -курьер -кусать -кусаться -кушать -ладно -ладный -ладоши -лак -ландыш -лапша -латинский -лауреат -легально -легальный -легенда -легкомысленно -легкомысленный -легла -лейтенант -лектор -лениво -ленивый -лениться -лень -либеральный -либо -лидер -ликвидировать -ликёр -лингвистика -листа -литр -лить -литься -лицей -лишь -логика -логичный -лоджия -лучший -лую -лыжник -лысый -льгота -лю -любитель -любоваться -любознательный -любопытно -любопытный -люстра -люсь -мага -магистр -магистрант -мазать -майонез -майор -максимум -малина -мандарин -маргарин -маринованный -мариновать -мармелад -мастерская -матерей -материально -материальный -матрёшка -мафия -медаль -междугородный -мелко -мелодрама -мелочь -мемуары -меньшинство -меняться -металлический -метод -мех -механизм -меценат -миксер -минеральный -минимальный -минимум -министерство -мириться -мировоззрение -миролюбивый -мить -мода -мозг -мокла -мол -молиться -молодеть -молчаливый -монолог -моральный -морозный -морщина -моск -мотор -мотоцикл -мощный -мрамор -мрачно -мрачный -мстить -мудрый -мусор -мусоропровод -мусульманин -мусульманство -мыльница -мёрзнуть -набережная -наблюдательный -набрать -наводнение -наволочка -наврать -наговориться -наградить -награждать -нагрубить -нагуляться -надоедать -надоесть -надстраивать -надстроить -наедине -наесться -нажать -нажимать -назначать -назначить -наивно -наивный -наименее -найдёшь -наказание -наказать -наказывать -накануне -наклеивать -наклеить -наклониться -наклоняться -накопить -накупить -налить -наличные -наличный -налог -намазать -намекать -намекнуть -намерен -намерение -намеренный -намочить -нанимать -нанять -нападать -напал -напасть -напиваться -напиток -напиться -напрасно -напряжённо -напряжённый -напрячь -нарезать -наркоман -наркомания -наркотик -нарушать -нарушить -нарядно -нарядный -насилие -насквозь -наследство -насмотреться -настаивать -настойчиво -настойчивый -настолько -настоять -наступление -натощак -натуральный -натюрморт -наушник -наушники -находчивый -национализм -националист -националистический -нация -недоделать -недоделывать -недостатки -недостаток -нежно -нежный -немой -ненавидеть -ненависть -необходимость -неопределённый -неопредёленный -неповторимый -неподвижно -неподвижный -неправда -неприятно -неприятный -нервничать -несправедливость -несправедливый -неудачно -неудачный -неудобно -неудобный -неудовлетворительно -нечаянно -нечто -нечётный -никла -ниоткуда -нисколько -ничуть -ничья -нищета -нищий -новинка -ноготь -номерок -носильщик -нотариус -ночевать -нравственно -нравственный -нуждаться -нулевой -ную -ные -ный -нынешний -нырнуть -нырять -нюхать -няня -оба -обанкротиться -обаятельный -обвенчаться -обвинение -обвинить -обвинять -обгонять -обдумать -обдумывать -обеднеть -обеспеченный -обеспечивать -обеспечить -обещание -обжечься -обжигаться -обзор -обидный -обидчивый -областной -облачно -облачный -облегчать -облегчить -обливать -облить -обложка -обман -обмануть -обменивать -обмениваться -обменять -обменяться -обморок -обнимать -обновить -обновлять -обнять -обобщать -обобщение -обобщить -обогнать -обожать -обозреватель -обои -обойдёшь -оборона -обострение -обостриться -обостряться -обрадуюсь -образовать -образовывать -обстановка -обстоятельства -обстоятельство -общаться -общение -общительный -объединение -объединиться -объединяться -объезжать -объект -объективно -объективный -объесться -объехать -обязанность -оглавление -оглохнуть -ограбить -ограничение -ограничивать -ограничиваться -ограничить -ограничиться -одеколон -одержать -одерживать -одинокий -одиночество -одноместный -однообразно -однообразный -одноразовый -одобрить -одобрять -одуванчик -ожидание -ожог -озаглавить -оккупировать -окорок -окраина -окрошка -округ -окружать -окружить -окулист -олег -олень -оливковый -олимпиада -олимпийский -омлет -оперетта -оплатить -оплачивать -опоздание -оппозиция -оппонент -оправдать -оправдывать -определение -определить -определять -опровергать -опровергнуть -опровержение -оптимизм -оптимистический -опубликовать -опустить -орган -организатор -организм -организовывать -орден -оригинал -ориентироваться -оркестр -орёл -осветить -освещать -освещение -освободиться -освобождаться -осетрина -оскорбить -оскорблять -ослабеть -ослепнуть -осложнение -основа -основать -основывать -особняк -осторожный -остроумно -остроумный -остывать -остыть -осудить -осуждать -осуществить -осуществиться -осуществлять -осуществляться -осёл -отвезти -ответственно -ответственный -отдашь -отделение -отечественный -отечество -отзывчивый -отказать -отказывать -откладывать -отключать -отключить -откровенно -откровенный -открыто -откусить -откусывать -отличаться -отличие -отличительный -отложить -отменить -отменять -отметить -отнести -относить -отовсюду -отойдёшь -отомстить -отопление -оторвать -отпрашиваться -отпросить -отпроситься -отпустить -отравиться -отражать -отразить -отреагировать -отремонтировать -отреставрировать -отрицательно -отрицательный -отрывать -отрывок -отставать -отставка -отстать -отсутствовать -отчего -отчего-то -отчий -отчёт -оформление -охарактеризовать -охотиться -охотно -охрана -охранник -охранять -оштрафовать -ощутить -ощущать -ощущение -падение -пакет -палата -паника -папка -пар -парад -парализовать -параллельно -параллельный -парикмахер -парикмахерская -паркет -парковаться -партер -партийный -парфюмерия -пасмурно -пасмурный -пассивно -пассивный -патриот -патриотизм -пауза -паук -пачка -пачкать -пачкаться -паштет -пельмени -пельмень -пена -пере -переводчица -перевязать -перевязывать -передумать -перезванивать -перезвонить -переиздавать -переиздать -перекладывать -переключать -переключить -перекрёсток -переложить -перенесу -переобуваться -переобуться -переодеваться -переодеться -переписка -переписываться -переполнить -переполнять -перепутать -пересаживаться -пересесть -переслать -перестану -пересылать -переутомиться -переутомляться -период -периодически -периодический -персик -перспектива -перспективный -песню -пессимизм -пессимистический -песчаный -петров -петрушка -печально -печальный -печать -печень -пешеход -пи -пианист -пламя -планировать -пластиковый -пластмассовый -пластырь -платный -плевать -племянник -племянница -плен -плов -пловец -плодотворно -плодотворный -плюнуть -пляж -плясать -плёнка -пневмония -по-видимому -по-другому -по-разному -побелеть -побережье -побледнеть -поболтать -повар -повезло -повернуться -повести -повесть -повлиять -поворачиваться -поворот -повреждение -повседневный -повсюду -повторение -повторный -повысить -повыситься -повышать -повышаться -погасить -погаснуть -поглядеть -поговорка -пограничник -подать -подбежать -подбородок -подбородок, -подвал -подвезти -подвести -подвиг -подвинуть -подвинуться -подводить -подвозить -поддержать -поддерживать -поддержка -подействовать -подешеветь -подмести -подметать -подогревать -подогреть -пододеяльник -подорожать -подписаться -подписываться -подпись -подплывать -подплыть -подполковник -подрабатывать -подраться -подробно -подросток -подсказать -подслушать -подслушивать -подсматривать -подсмотреть -подстригать -подстригаться -подстрижёшь -подстричь -подстричься -подтвердить -подтверждать -подтверждение -подуть -подчиниться -подчиняться -поедите -пожаловаться -пожарный -пожать -пожелание -пожелтеть -пожертвовать -пожилой -пожимать -позавидовать -позавидую -позади -позволить -позволять -позиция -познавать -познать -позор -поклониться -поклонник -поклонница -поколение -покупка -полдень -ползать -политик -полить -полк -полковник -полночь -положительно -положительный -полюбоваться -полюс -помахать -поменяться -помещение -помириться -помолиться -помолодеть -понемногу -понижаться -понизиться -понимание -понюхать -понятие -попасть -поперёк -попить -поправить -поправиться -поправка -поправлять -поправляться -попытка -поражать -поразить -порвать -порваться -поровну -портить -портиться -поругаться -порядочный -посвятить -посвящать -посередине -посетитель -посинеть -поскольку -последить -послушно -послушный -посоветую -посолить -посочувствовать -поссориться -постареть -постепенно -постирать -постоянный -постричься -потемнеть -потенциальный -потеплеть -потереть -поток -потомок -потребитель -потребительский -потребность -потребоваться -потрогать -потрясать -потрясающий -потушить -похвастать -похвастаться -походка -похолодание -похолодать -похоронить -похороны -похудеть -почерк -почернеть -починить -почистить -почтальон -почётный -пошлина -пошёл -поэма -пра -пра- -прабабушка -править -правнук -правнучка -правовой -православие -православный -правосудие -правящий -прадед -прадедушка -праздновать -практикант -практичный -прачечная -превосходно -превосходный -превратить -превращать -пред -предавать -предатель -предать -предварительно -предварительный -предвидеть -предвыборный -предисловие -предок -предположение -предпочесть -предпочитать -предприимчивый -предприниматель -предприятие -предрассудок -председатель -предсказать -предсказывать -представить -представиться -представляться -предупредить -предупреждать -предупреждение -предусматривать -предусмотреть -предусмотрительно -предусмотрительный -предчувствовать -предшествовать -предъявить -предъявлять -предыдущий -преемник -прежде -презрительно -презрительный -преимущество -прекратить -прекращать -премьера -преобладать -преодолевать -преодолеть -препятствие -препятствовать -преследовать -пресса -престижно -престижный -преступник -претендент -претендовать -прибавить -прибежать -приближаться -приблизительно -приблизительный -приблизиться -прибывать -прибыль -прибыть -привезу -приветливо -приветливый -приветствовать -привилегия -привлекательный -привлекать -привыкла -привычно -привычный -пригласительный -приглашение -приговор -приезжий -призвание -призвать -признавать -признаваться -признак -признать -признаться -призывать -прийтись -приказывать -прикасаться -прикоснуться -примерить -примерять -примитивно -примитивный -приморский -принцип -принципиально -принципиальный -приобрела -приобрести -приобретать -припарковаться -природный -присниться -присоединить -присоединиться -присоединять -присоединяться -приступать -приступить -присутствовать -приходиться -причёска -причёсываться -пришлось -приятельница -пробка -пробыть -проветривать -проветрить -провинциальный -провинция -проводник -прогноз -проголосовать -проголосую -программист -прогрессивный -продадим -продемонстрировать -продлевать -продлить -продовольственный -продолжение -продолжительность -продолжительный -продумать -продумывать -проезд -проездной -проект -прожиточный -проза -прозвучать -произвела -происшествие -прокомментировать -пролетать -пролететь -промокать -промокнуть -пропасть -проплывать -проплыть -пропуск -проработать -прослушать -проспать -просторный -простыня -протест -протестовать -противоположный -противопоставить -противопоставлять -противоречие -профессионал -профессионально -профессиональный -прохладный -прохожий -процитировать -прочувствовать -прошедший -прошлогодний -прошлое -прятать -публиковать -пугаться -пуговица -пунктуальный -путать -путеводитель -пылесос -пыльно -пыльный -пьяный -пятеро -пятка -работоспособный -работу -равнодушно -равнодушный -равноправие -ради -радикально -радикальный -радиоволна -разбивать -разбиваться -разбирать -разбиться -разбогатеть -развестись -развить -развлекательный -разводиться -разглядеть -разговориться -разговорчивый -разгораться -разгореться -раздавать -раздать -раздеваться -раздеться -разливать -разлить -разлюбить -разменивать -разменять -разнообразный -разносторонний -разобрать -разобраться -разогревать -разогреть -разозлиться -разойтись -разорвать -разориться -разоряться -разочароваться -разочаровываться -разочаруюсь -разрезать -разрешение -разрушаться -разрушиться -рай -ракета -раненый -расизм -расист -расписаться -расписываться -распродажа -рассвет -рассержусь -рассеянно -рассеянный -расследовать -расслышать -расставаться -расстаться -расстегнуть -расстраиваться -расстроиться -расстёгивать -рассуждать -рассчитать -рассчитаться -рассчитывать -рассчитываться -рассыпать -рассыпаться -растеряться -расход -расходиться -расходы -расцвет -расчесать -расчёсывать -расчётливый -расширить -расширять -рациональный -рвать -ре -реагировать -реализовать -реально -реальный -ревниво -ревнивый -ревновать -регион -региональный -регистрация -регистрироваться -регулировать -регулярный -редактор -резкий -реклама -рекламировать -рекомендация -рекомендовать -рекорд -ремонт -ремонтировать -репертуар -репетировать -репетиция -репродукция -ресница -ресницы -реставрировать -референдум -реформировать -рецензия -речку -риск -рискнуть -рисковать -ритм -ровесник -розетка -романс -романтик -россиянин -россиянка -россиянок -ругаться -рулет -руль -румяный -русый -русь -рюмка -рябина -салфетка -самолюбивый -санаторий -сантехник -сарделька -сатирический -сахарница -сбежать -сбербанк -свадьба -свекровь -светофор -свидетель -свободолюбивый -свойство -свою -связать -священник -свёкла -свёкор -сдаст -сдача -се -сеанс -сегодняшний -седина -секретно -секретный -секс -сексуальный -сельдь -селёдка -сенсация -сентиментальный -сердитый -серебристый -серебристый, -сериал -серия -сибиряк -сибирячка -сигнал -сигнализация -симфония -сиреневый -сирень -сирота -систематизировать -систематически -скандал -скатерть -сквер -сквозняк -сквозь -скептик -складывать -склероз -сковорода -сковородка -скользкий -скользко -скрипач -скульптура -слабеть -слепнуть -слепой -сливка -сложить -сломаться -служащий -случайный -смелость -сниться -собеседник -собственник -собственность -совершенствовать -совесть -соврать -современник -согласно -соглашение -согреться -сода -содержание -соединить -соединять -создашь -сознание -созревать -созреть -сойдёшь -сойти -сократить -сокращать -сокращение -солидарность -солить -солёный -сообща -соответствовать -соотечественник -соотношение -сопоставить -сопоставлять -сопротивляться -соскучиться -сослаться -сосредотачиваться -сосредоточиться -составить -состояться -сотовый -сотрудник -сотрудничать -сотрудничество -сохнуть -социалистический -социолог -социология -сочный -сочувствие -сочувствовать -союзник -спагетти -спальный -спасатель -спасаться -спастись -специализироваться -специи -специфика -специя -спид -спирт -список -спо -спонсор -способность -споткнуться -спотыкаться -справедливо -справедливый -справочник -спуститься -срочно -срочный -срывать -ссориться -ссылаться -ста -стабильно -стабильный -ставлю -стадо -стальной -стандарт -стандартный -старомодно -старомодный -старт -старуха -старшеклассник -старшеклассница -статуя -стесняться -стиль -стимул -стихийный -стоимость -сток -стоматолог -страстно -страстный -страховка -стрижка -стричься -стройный -структура -стюардесса -субъективно -субъективный -суверенитет -суверенный -судить -судья -сумасшедший -сумма -супруг -сушить -сушка -сущий -суэцкий -сую -сформировать -сформироваться -сформулировать -сходство -съездить -съезжать -съехать -сыро -сырой -сытый -сэкономлю -сядешь -табак -таблица -таз -тайга -тайно -тайный -так и -таким -таксист -тактично -тактичный -таможенник -танк -тапочки -таракан -театральный -тезис -телевидение -телевизионный -телохранитель -тельно -тельности -темнеть -темперамент -темпераментный -тенденция -теннисист -терапевт -тереть -термометр -терпеливо -терпеливый -терроризм -террорист -террористический -теряться -тесно -тесный -тест -тесто -ти -типичный -ткань -толкать -толкнуть -тоннель -тонуть -торжественно -торжественный -тормозить -тост -тошнить -травма -трагически -трагический -традиционно -традиционный -трактор -транспортный -траур -требование -требовательно -требовательный -требоваться -тревожный -тренер -треск -треска -треть -трещина -трижды -трогаться -тронуться -тротуар -трус -трусливо -трусливый -трусы -тряпка -тупик -тупой -туризм -туристический -туристский -тушить -тщательно -тщательный -тыква -тюльпан -убедительно -убедительный -убедиться -убеждаться -убеждён -убеждённый -уберечь -убийство -убийца -уборка -уборщица -уважение -увеличивать -увеличить -уверенность -увести -увидеться -увлекательно -увлекательный -уволить -уволиться -увольнять -увольняться -увёз -угадать -угадывать -угнать -уговаривать -уговорить -угонять -угостить -удалить -удалять -удариться -удача -удачливый -удачно -удачный -удовлетворительно -удовлетворительный -удочка -указатель -укладывать -украсить -укрепить -укрепление -укреплять -уксус -укусить -уложить -улучшение -умерла -умолять -унести -унесёшь -универсальный -унижать -унижение -унизить -уничтожать -уничтожить -уносить -упаковать -упала -употребляться -управление -упрекать -упрекнуть -упростить -упрощать -упрямо -упрямый -ураган -урегулировать -урна -уровень -усадьба -усиливаться -усилить -усилиться -ускорить -ускорять -усложнить -усложнять -услуга -усовершенствовать -устанавливать -установить -устаревать -устареть -устроить -уступать -уступить -утверждать -утверждение -утонуть -уточнение -уточнить -уточнять -утюг -ухаживать -ухудшать -ухудшаться -ухудшение -ухудшить -ухудшиться -учреждение -уютный -фальшиво -фальшивый -фантастика -фарфор -федеральный -федерация -фен -филе -филиал -финансировать -финиш -фиолетовый -фирменный -флот -фойе -фону -формально -формальный -формирование -формировать -формироваться -формулировать -фотографируюсь -фрагмент -французско-русский -фундамент -функционировать -халат -характеризовать -характеристика -характерный -хвастать -хвойный -химчистка -хитро -хлопок -холл -хоронить -хранить -христианин -христианка -христианок -христианство -хромать -хроника -худеть -хулиган -цвета -целеустремлённо -целеустремлённый -целиком -цениться -цепочка -цивилизация -цинично -циничный -цитата -цитировать -ция -частный -чек -чепуха -черешня -чернеть -чесаться -честолюбивый -чинить -чиновник -чихнуть -чрезвычайно -чрезвычайный -что-либо -чудесно -чуткий -чутко -чёрствый -чётный -шампанский -шампанское -шампунь -шанс -шахтёр -шашка -шепнуть -ширина -шок -шоколадный -шорты -шофёр -штора -шторм -шторы -штраф -шу -шёлк -шёлковый -щедро -щедрый -эвакуировать -эгоист -экономно -экономный -эксперт -эксплуатировать -экспресс -элегантно -элегантный -электричка -элемент -элементарный -элита -эмблема -эмигрант -эмигрировать -эмоционально -эмоциональный -энергетический -эпидемия -эрудированный -эскалатор -эстрада -этикет -этикетка -этично -этичный -эффективно -эффективный -эффектно -эффектный -юбилей -ювелирный -юмористический -яв -явление -яд -яичница -яичный -якобы -ярмарка -ёж diff --git a/old_version/language_data/C1_MINIMUM.txt b/old_version/language_data/C1_MINIMUM.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/old_version/language_data/C2_MINIMUM.txt b/old_version/language_data/C2_MINIMUM.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/old_version/language_data/OLD_MIN/A1_MINIMUM.txt b/old_version/language_data/OLD_MIN/A1_MINIMUM.txt deleted file mode 100644 index 7470d135d5e1e194967910bd332ab4e40601a645..0000000000000000000000000000000000000000 --- a/old_version/language_data/OLD_MIN/A1_MINIMUM.txt +++ /dev/null @@ -1,1162 +0,0 @@ -а -август -автобиография -автобус -автор -адрес -активный -алфавит -английский -англичанин -англичанка -англо-русский -анкета -анна -антон -апрель -аптека -арбуз -артист -артистка -аудитория -аэропорт -бабушка -багаж -балет -банк -баскетбол -бассейн -бедно -бедный -без -белый -библиотека -бизнес -бизнесмен -билет -благодарить -бланк -близкий -близко -блузка -богато -богатый -болезнь -болен -болеть -боль -больница -больно -больной -большой -ботинки -брат -брать -бригадир -брюки -будущий -буква -бумага -бутерброд -бутылка -быстро -быстрый -быть -в -вагон -важно -важный -валюта -варежки -вариант -варить -ваш -вдруг -везде -везти -век -великий -верх -верхний -весело -весёлый -весенний -весна -весной -вести -весь -ветер -вечер -вечерний -вечером -вещь -взять -видеть -виза -вилка -вино -виноград -вишня -включать -вкусно -вкусный -вместе -внимательно -внимательный -внук -внучек -внучка -вода -водитель -водить -возить -возраст -войти -вокзал -волейбол -вопрос -восемнадцать -восемь -восемьдесят -восемьсот -воскресение -воскресенье -восьмой -вот -врач -время -всё -всегда -вслух -вспоминать -вспомнить -вставать -встретить -встретиться -встречать -встречу -вторник -второе -второй -вход -входить -вчера -вы -выбирать -вывеска -выйти -выключать -вымыть -выпить -высокий -выставка -выучить -выход -выходить -выходной -выше -газета -где -география -герб -герой -гимн -гитара -главный -глаз -говорить -год -голова -голубой -гора -горло -город -городской -горький -горячий -горячо -господин -госпожа -гостиница -гость -государство -готов -готовить -готовый -гражданин -гражданство -грамм -грамматика -граница -гриб -грипп -громкий -громко -грудь -груз -грузчик -группа -грустный -груша -грязный -гулять -да -давать -давление -давно -даже -далекий -далёкий -далеко -дам -дарить -дать -два -двадцать -двенадцать -дверь -двести -движение -дворец -дворник -девочка -девушка -девяносто -девятнадцать -девятый -девять -девятьсот -дедушка -дежурный -декабрь -делать -день -деньга -деньги -деревня -дерево -десерт -десятый -десять -дети -детский -детство -дёшево -дешёвый -диван -директор -дисциплина -днм -до -до свидания -До свидания! -добрый -договор -дождь -доклад -документ -долг -долгий -долго -должен -должный -дом -дома -домой -домохозяйка -дорога -дорого -дорогой -дочь -друг -другой -дружба -дружить -думать -дядя -его -еда -едите -её -ездить -есть -ехать -ещ -ещё -жаль -жаркий -жарко -ждать -желание -желать -жёлтый -жена -женатый -женский -женщина -живот -животное -жизнь -жиль -житель -жительница -жить -журнал -журналист -журналистка -за -забывать -завод -завтра -завтрак -завтракать -задавать -задание -задать -задача -заканчивать -закон -закрою -закрывать -закрыт -закрытый -закрыть -замужем -заниматься -занят -занятый -занять -заплатить -запоминать -запомнить -заработная -зачем -заявление -звать -звонить -звук -здание -здесь -здоров -здоровый -здравствуй -здравствуйте -зелёный -земля -зима -зимний -зимой -злой -знакомиться -знакомый -знать -золотой -зонт -зонтик -зоопарк -зуб -и -игра -играть -идти -из -известный -извинить -изучать -изучить -или -иметь -императорский -имя -инженер -иногда -иностранец -иностранка -иностранный -институт -интерес -интересно -интересный -интересоваться -интернет -искусство -испанец -испанка -испанский -историк -исторический -история -их -июль -июнь -йли -ймя -к -кабинет -каждый -как -какой -капуста -карандаш -карта -картина -картофель -касса -кассета -кассир -каф -кафе -каша -кашлять -квартира -квитанция -кекс -килограмм -километр -кино -киоск -китаец -китайский -китаянка -класс -клуб -ключ -книга -книжный -когда -колбаса -колледж -комедия -комната -композитор -компот -компьютер -конверт -конец -конечно -конфета -концерт -кончать -кончить -копейка -коричневый -костюм -котлета -который -кофе -кошка -красиво -красивый -красный -кресло -кровать -кровь -круг -кто -куда -купить -куплю -кура -курить -курица -курс -куртка -кухня -лампа -лг -левый -лёгкий -легко -лежать -лекция -лес -летать -лететь -лето -летом -литература -лицо -ложка -лук -любимый -любить -любовь -любопытство -люди -магазин -магнитофон -май -макароны -маленький -мало -мальчик -маляр -мама -марк -марка -март -масло -математик -математика -мать -машина -мебель -медицина -медицинский -медленно -медленный -медсестра -менеджер -место -месяц -метр -метро -мечтать -мизинец -милиция -минута -минуточка -мир -младший -много -мог -может -может быть -можно -мой -молодой -молоко -море -морковь -мороженое -москвич -москвичка -московский -мочь -муж -мужской -мужчина -музей -музыка -музыкант -мы -мыть -мягкий -мясо -на -надо -назад -называться -налево -написать -направо -например -нарисовать -народ -народный -наука -научить -научно -научный -находиться -национальный -начать -начинать -наш -не -не только -недавно -недалеко -неделя -нельзя -немец -немецкий -немецко-русский -немка -несколько -нет -нижегородского -низкий -никогда -никто -никуда -ничего -ничто -но -но и -новость -новый -нога -нож -ножик -номер -нормально -нормальный -носки -ночь -ночью -ноябрь -нравиться -нсв -нужен -нужно -нужный -о -обводить -обед -обедать -обмен -обувь -обучение -общежитие -общество -объявление -обычно -обязательно -овощ -овощи -огурец -одеваться -одежда -один -одиннадцать -оканчивать -окно -окончить -октябрь -он -она -они -опаздывать -опера -опоздать -оранжевый -осень -осенью -осмотр -остановка -осторожно -ответ -ответить -отвечать -отвечу -отдыхать -отель -отец -открою -открывать -открыт -открытка -открыть -откуда -отмечать -очень -очки -ошибка -палец -пальто -памятник -папа -парк -партия -паспорт -певец -педагогического -первое -первый -переводчик -передача -перерыв -переход -перец -перчатки -песня -петь -петя -пианино -пиво -пиджак -писатель -писать -письмо -пить -план -планета -платить -платье -плохо -плохой -площадь -по -по-английски -повторить -повторять -погода -подарить -подарок -подготовить -подождать -подруга -подумать -поезд -поездка -поесть -поехать -пожалуйста -пожелать -позавтракать -позвать -позвонить -поздно -познакомиться -поинтересоваться -по-испански -пойти -покажу -показать -показывать -по-китайски -покупать -поликлиника -полицейский -полиция -половина -положить -полукруг -полуодетый -получать -получить -полчаса -помидор -помог -помогать -помогу -помочь -помощь -понедельник -по-немецки -понимать -понравиться -понравлюсь -понятно -понять -пообедать -попросить -по-русски -посадить -послать -после -посмотреть -построить -посылать -посылка -потом -потому -потому что -поужинать -по-французски -почему -почта -почти -почтовый -почувствовать -пошлю -поэт -поэтому -прав -правильно -правительство -право -правый -праздник -предложение -президент -преподаватель -преподавательница -преступление -привет -пригласить -приглашать -приглашу -приготовить -придти -приехать -прийти -прил -природа -пришла -приятно -проблема -программа -продавать -продавец -продолжать -продолжить -просить -проспект -профессия -прочитать -прошлый -пункт -путешественник -путешествие -путешествовать -пюре -пятнадцать -пятница -пятый -пять -пятьдесят -пятьсот -работа -работать -рабочий -рад -рада -радио -раз -разговаривать -разговор -разный -район -ранний -рано -раньше -расскажу -рассказ -рассказать -рассказывать -ребёнка -ребёнок -редкий -редко -режиссер -результат -река -ресторан -речка -решать -решить -рис -рисовать -родилась -родина -родители -родитель -родиться -родной -родный -рождение -розовый -российский -рост -рот -рубашка -рубль -рука -русский -русско-английский -русско-немецкий -ручка -ручная -рыба -с -сад -салат -сам -самолёт -сапоги -сахар -св -свидание -свободно -свободный -свой -сделать -себя -сегодня -седьмой -сейчас -семнадцать -семь -семьдесят -семьсот -семья -сентябрь -сердце -сертификат -серый -серьёзно -серьёзный -сестра -сидеть -сильно -сильный -синий -скажу -сказать -сколько -скоро -скульптор -слева -следующий -словарь -слово -слушать -смело -смелый -смогла -смогу -смотреть -смочь -сначала -снег -снимать -со -собака -современно -современный -согласен -согласие -согласный -сок -солнце -соль -сорок -сосед -соседка -сосиска -спасибо -спать -специалист -спина -спокойно -спокойный -спорт -спортсмен -справа -справка -спрашивать -спросить -спрошу -среда -средний -стадион -станция -старший -старый -стать -статья -стена -стих -стихи -сто -стоить -стол -столица -столовая -сторона -стоять -страна -страница -строитель -строительство -строить -студент -студентка -студенческий -стул -суббота -сувенир -сумка -суп -сфотографировать -счастие -счастливо -счастливый -счастье -съесть -сыграть -сын -сыр -сюда -так -такси -талантливо -талантливый -там -танцевать -тарелка -твой -театр -текст -телевизор -телеграмма -телепередача -телефон -температура -теннис -теперь -тепло -тетрадь -тихий -тихо -товарищ -тоже -только -тот -трамвай -транспорт -третий -третье -три -тридцать -тринадцать -триста -троллейбус -трудно -трудный -туда -тумбочка -турист -тут -туфли -ты -тысяча -у -увидеть -удовольствие -уже -ужин -ужинать -узнать -улица -умереть -уметь -умно -умный -умываться -университет -управлять -упражнение -урок -уставать -устать -утро -утром -ухо -учебник -ученик -ученица -учёный -учитель -учительница -учить -учиться -факультет -фамилия -февраль -физик -физика -филолог -философ -фильм -фирма -фотоаппарат -фотографировать -фотографирую -фотография -фраза -француженка -француз -французский -фрукт -футбол -футболист -характер -химик -химия -хлеб -ходить -хозяин -хозяйка -хоккеист -хоккей -холодно -холодное -холодный -хороший -хорошо -хотеть -художник -цвет -цветка -цветок -цветы -цена -центр -цирк -цифра -чай -чайник -час -часто -частый -часы -чашка -чей -человек -чемпион -черный -чёрный -чеснок -четверг -четвертый -четвёртый -четыре -четыреста -четырнадцать -число -чистый -читатель -читать -чихать -чт -что -чувствовать -шапка -шарф -шахматы -шашки -шестнадцать -шестой -шесть -шестьдесят -шестьсот -шкаф -школа -шоколад -штаны -шуба -шш -экзамен -экзаменационный -экономика -экономист -экономический -экскурсия -экскурсовод -электронный -этаж -это -этот -юбка -юмор -юноша -юрист -я -яблоко -язык -языком -яйцо -январь \ No newline at end of file diff --git a/old_version/language_data/OLD_MIN/A2_MINIMUM.txt b/old_version/language_data/OLD_MIN/A2_MINIMUM.txt deleted file mode 100644 index 934e62e16b8c0c95da219f03e941ea87d17ae6aa..0000000000000000000000000000000000000000 --- a/old_version/language_data/OLD_MIN/A2_MINIMUM.txt +++ /dev/null @@ -1,1549 +0,0 @@ -август -автобус -автор -администрация -адрес -активный -алло! -английский -англичанин -англичанка -анкета -апельсин -аппетит -апрель -аптека -артист -артистка -архитектор -архитектура -аспирант -аспирантка -аспирантура -аудитория -аэропорт -бабушка -багаж -балет -банк -баскетбол -бассейн -бегу -бедный -бежать -без -бейсбол -белый -берег -беру -бесплатно -бесплатный -библиотека -бизнес -бизнесмен -билет -биография -биолог -биология -бить -благодарить -близко -бог -богатый -болен -больница -больно -больной -большой -борис -бороться -брат -брать -брюки -буду -будущий -буква -букет -булочная -булочный -бумага -бутерброд -бутылка -бывать -быстро -быстрый -быть -бью -в -вагон -важно -важный -варение -варить -ваш -вверх -вдруг -везде -везла -везти -везу -век -великий -верить -вернуть -вернуться -верный -весело -весёлый -весенний -весна -весной -весь -ветер -вечер -вечером -вещь -вз -видео -видеть -вижу -виза -вилка -вино -висеть -включать -включить -вкусно -вкусный -вместе -вниз -внимание -внимательно -внимательный -внук -внучка -во -во время -вода -водить -водка -вожу -возвратить -возвратиться -возвращать -возвращаться -воздух -возить -возможно -возьму -войду -вокзал -волейбол -волноваться -волнуюсь -волос -волосы -вопрос -восемнадцать -восемь -восемьдесят -восемьсот -воскресенье -восток -восточный -восьмой -вот -вошёл -вперёд -враг -врач -всегда -всего -Всего хорошего! -вспоминать -вставать -встану -встать -встаю -встреча -встречать -встречаться -встречу -встречусь -вторник -второй -вход -входить -вхожу -вчера -вчерашний -вы -выберу -выбирать -выбрать -выйду -выключать -выключить -вымою -вымыть -выпью -вырасти -вырос -выросла -высокий -высоко -выставка -выступать -выступить -выступлю -выход -выходить -выхожу -вышел -газета -галерея -где -географ -географический -география -герой -гитара -главный -глаз -глубже -глубокий -говорить -год -голова -голос -голубой -гора -город -городской -горький -горько -горячий -госпожа -гостиница -гость -государственный -государство -готов -готовить -готовлю -градус -грамм -граница -грипп -громко -группа -грустно -грустный -грязно -грязный -гулять -да -давать -давно -дадите -даже -далёкий -далеко -дам -дарить -дата -даю -два -двадцать -двенадцать -дверь -двести -двое -дворец -девяносто -девятнадцать -девятый -девять -девятьсот -дедушка -декабрь -делать -деле -делегация -дело -день -деньги -депутат -деревня -дерево -держать -держаться -держу -десятый -десять -дети -детский -детство -дёшево -дешёвый -диалог -диван -директор -длинный -для -днм -до -добрый -доволен -доеду -доехать -дождь -докажу -доказать -доказывать -документ -долго -должен -дом -дома -домашний -домой -домохозяйка -дорога -дорого -дорогой -дочь -друг -другой -дружба -дружно -дружный -думать -душ -душа -дядя -европейский -его -еда -едите -еду -ездить -езжу -ел -ёлка -ем -если -есть -ехать -ещ -жалко -жаль -жарко -ждать -жду -желать -жёлтый -жена -женат -женатый -жениться -женский -женщина -жив -живой -живопись -животное -живу -жизнь -житель -жить -журнал -журналист -за -забуду -забывать -завод -завтра -завтрак -завтракать -задавать -задам -задание -задача -задаю -закажу -заказать -заказывать -заканчивать -закон -закончить -закрою -закрывать -закрыт -закрыть -зал -заметить -замечательный -замечать -замечу -замуж -замужем -заниматься -занят -занятие -запад -западный -заплатить -заплачу -запоминать -зачем -звать -звонить -звонок -звук -здание -здесь -здоров -здоровый -зелёный -земля -зеркало -зима -зимний -зимой -злой -знак -знаком -знакомиться -знакомлюсь -знакомый -знание -знать -значение -значить -золото -золотой -зонт -зоопарк -зуб -иван -игра -играть -игрушка -идти -иду -из -избиратель -избить -известный -изменить -изменять -изучать -или -инженер -иногда -иностранец -иностранка -иностранный -иностранцы -институт -интересно -интересный -интересоваться -интересуюсь -интернет -инф -искать -искусство -испанец -испанка -испанский -испанцев -испанцы -историк -исторический -история -истратить -их -ищу -июль -июнь -к -кабинет -каждый -казаться -как -какой -каникулы -карандаш -карта -картина -картофель -касса -кафе -каша -квартира -килограмм -километр -киоск -китаец -китайский -китайцев -китайцы -китаянка -кладу -класс -класть -клуб -ключ -книга -книжный -когда -колбаса -коллекционирование -команда -комедия -комната -композитор -компьютер -конверт -конец -конечно -конференция -конфета -концерт -кончать -кончаться -кончиться -копейка -корабль -коридор -коричневый -короткий -коротко -короче -космический -космонавт -космос -костюм -который -кофе -кошка -красивый -красный -кресло -кризис -кровать -круглый -ксерокс -кто -кто-то -ку -куда -культура -куплю -курить -курица -курс -куртка -кухня -лампа -левый -лёгкий -легко -лежать -лежу -лекарство -лекция -лес -лестница -летать -лететь -летний -лето -летом -лечу -лимон -литература -литературный -лифт -лицо -личность -лка -лоб -ложка -луна -лыжа -лыжи -любимый -любить -люблю -любовь -люди -магазин -магнитофон -май -маленький -мало -мальчик -мама -марка -март -масло -математик -математика -мать -машина -медицина -медленно -медленный -медсестра -медсёстры -международный -менеджер -меньше -менять -место -месяц -метр -метро -мечта -мечтать -мешать -милиционер -милиция -миллион -минус -минута -мир -мирно -мирный -младший -многие -много -мог -могла -могу -модно -модный -может -можно -мой -молодёжный -молодёжь -молодец -молодой -молодость -молодцы -молоко -молчать -молчу -момент -монета -море -москва -москвич -москвичка -московский -мочь -мою -муж -мужской -мужчина -музей -музыка -музыкальный -музыкант -мультфильм -мультфильмы -мы -мыло -мыть -мягкий -мясо -мяч -на -наверно -наверное -надеюсь -надеяться -надо -назад -называться -найду -найти -наконец -налево -напишу -направо -например -напротив -нарисую -народ -народный -насорить -наука -научиться -научный -находить -находиться -нахожу -национальный -начало -начаться -начинать -начинаться -начнётся -начну -наш -нашёл -не -небо -невнимательность -невозможно -недавно -недалеко -неделя -нельзя -немец -немецкий -немецко-русский -немка -несколько -несчастие -несчастный -несчастье -нет -нигде -никогда -никто -никуда -ничего -но -новость -новый -нога -нож -нок -ноль -номер -нормально -нос -носка -носки -носок -ночь -ночью -ноябрь -нравиться -нравлюсь -нужен -нужно -обед -обедать -обещать -образование -обращать -обувь -общежитие -общество -общий -объявление -объяснить -объяснять -обыкновенный -обычно -обычный -обязательно -овощи -овощной -огромный -одеваться -одежда -одеться -один -одинаково -одинаковый -одиннадцать -одна -однажды -одно -озеро -оканчивать -окно -около -окончание -октябрь -он -онона -ооб -опаздывать -опасно -опасность -опера -оптимист -опытный -опять -организовать -осенний -осень -осенью -осматривать -особенно -остановка -осторожно -остров -ответ -отвечать -отвечу -отдохну -отдых -отдыхать -отец -откроется -открою -открывать -открываться -открыт -открытка -открыться -откуда -откуда-то -отлично -отпуск -отсюда -оттуда -отчество -очень -очки -ошибка -палец -пальто -памятник -папа -парк -парка -паспорт -певец -певица -пенсионер -пенсионерка -пенсия -первый -переведу -перевёл -перевела -перевести -перевод -переводить -переводчик -перевожу -передавать -передадите -передам -передать -передача -передашь -передаю -перейду -перейти -перерыв -переход -переходить -перехожу -перешёл -перешла -песня -петербург -петь -печение -печенье -пешком -пиво -писатель -писать -письмо -пить -пишу -плавать -план -платить -платье -плачу -плащ -плеер -плохо -плохой -площадь -плыву -плыть -плюс -победа -победить -побежать -побеждать -поблагодарить -побывать -по-вашему -поверить -поверхность -повторять -погода -подарок -подожду -подписать -подруга -поеду -поезд -поездка -поехать -пожалуйста -позвать -поздно -поздравить -поздравлю -поздравлять -познакомлюсь -пойду -пойму -пойти -пока! -покажу -показаться -пол -поле -полезно -полезный -полететь -поликлиника -политика -политически -политический -полка -половина -полтора -получать -полюбить -поменять -помешать -помнить -помог -помогать -помогла -помогу -по-моему -помыть -понедельник -понимать -понравлюсь -понятно -пообещать -популярный -после -последний -посоветовать -посольство -поступать -поступить -поступлю -посылать -потерянный -потом -потому -потратить -поцеловать -почему -почта -почти -пошл -пошлю -пошутить -пошучу -поэзия -поэт -поэтому -пою -появиться -появлюсь -появляться -прав -правда -правильно -правительство -правый -праздник -предмет -президент -прекрасно -прекрасный -преподаватель -преподавательница -преподавать -преподаю -привет -привлечь -приглашать -приглашу -приготовлю -приду -приезд -приезжать -пример -природа -приходить -прихожу -причина -пришл -приятно -приятный -проблема -программа -продавать -продавец -продавщица -продадите -продам -продать -продашь -продолжать -продолжаться -продолжиться -продукт -продукты -произведение -пройти -промолчать -просить -проспект -просто -простой -против -профессия -профессор -процент -прошлый -прошу -прямо -психолог -психология -птица -путешествовать -путешествую -пыль -пью -пятнадцать -пятница -пятый -пять -пятьдесят -пятьсот -работа -работать -рабочий -рад -радиопередача -радость -раз -разбить -разговаривать -размер -разный -район -рано -раньше -расскажу -рассказ -рассказывать -расти -ребёнка -ребёнок -редко -режиссёр -результат -река -религия -ресторан -решать -решение -рис -рисовать -рисую -родилась -родился -родина -родители -родиться -родной -рождение -рок -роль -роман -рос -российский -рот -ру -рубашка -рубль -рука -русский -ручка -рую -рыба -рынок -рядом -сад -садиться -сажусь -салат -сам -самолёт -самостоятельно -самостоятельный -самый -сантиметр -сапог -сапоги -сахар -сварить -свет -светло -светлый -сво -свободный -свои -свой -своя -сдавать -сдадите -сдам -сдать -сдаю -себя -север -северный -сегодня -седьмой -сейчас -секретарь -секунда -сел -села -семнадцать -семь -семьдесят -семьсот -семья -сентябрь -сердце -серый -серьёзно -серьёзный -сестёр -сестра -сёстры -сесть -сигарета -сидеть -сижу -сильный -симпатичный -синий -система -ситуация -скажу -сказка -сколько -скоро -скрипка -скучно -скучный -сладкий -сладко -слева -следующий -словарь -слово -случай -случаться -случиться -слушать -слышать -смелый -смерть -смешно -смешной -смеюсь -смеяться -смог -смогу -смотреть -сначала -снег -снова -со -собака -собирать -собор -собрание -собрать -совет -советовать -советую -современный -согласен -сок -солнечный -солнце -соль -сообщать -сообщение -сообщить -сорить -сорок -сосед -соседка -соседний -состав -спасибо -спать -специалист -специальность -сплю -спокойно -спокойный -спорт -спортивный -спортсмен -спою -справа -справка -спрашивать -спрошу -сразу -среда -средний -срок -стадион -стакан -станция -старость -старший -старый -статья -стена -стихи -сто -стоить -стол -столица -столовая -стою -стоять -страна -страница -странный -строитель -строительный -строить -студент -студентка -студенческий -стул -суббота -сувенир -суметь -сумка -суп -сутки -счастливый -счастье -счёт -съедим -съем -сын -сыр -сюда -сяду -тайна -так -так как -также -такой -талант -талантливый -там -танец -танцевать -танцую -тарелка -твёрдо -твёрдый -твой -театр -текст -телевизор -телеграмма -телеграф -телепередача -телефон -темно -тёмный -температура -теннис -теперь -тепло -тёплый -тетрадь -тётя -техника -технический -тихо -то -то есть -товарищ -тогда -тоже -только -торт -тот -точка -точно -точный -трамвай -транспорт -тратить -трачу -третий -три -тридцать -тринадцать -триста -троллейбус -труд -трудно -трудный -ття -туда -турист -тут -туфли -туфля -ты -тысяча -тяжело -тяжёлый -у -убивать -убить -убью -уважаемый -уважать -уверен -уверенный -увижу -ударение -уделять -удивительно -удивительный -удобно -удобный -удовольствие -уеду -уезжать -уехать -уже -ужин -ужинать -узкий -узко -уйду -уйти -улица -улыбаться -улыбнуться -ум -умер -умереть -умерли -уметь -умирать -умный -универмаг -университет -университетский -упас -упасть -употребление -упражнение -урок -услышать -успех -уставать -устану -устать -устаю -утро -утром -ухо -уходить -ухожу -участвовать -участвую -учёба -учебник -учебный -ученик -ученица -учёный -учитель -учительница -учить -учиться -ушл -фабрика -факс -факультет -фамилия -февраль -фермер -физик -физика -физически -физический -филолог -филологический -филология -философ -философия -философский -фильм -фирма -флешка -фонтан -фотоаппарат -фотографировать -фотография -фраза -француженка -француз -французский -фрукты -футбол -футболист -характер -химик -химический -химия -хлеб -хоб -хобби -ходить -хожу -хозяек -хозяин -хозяйка -хоккеист -хоккей -холодно -холодный -хороший -хорошо -хотеть -хочу -художник -царь -цвет -цветной -цветы -целовать -целую -целый -цена -центр -центральный -цирк -цифра -чай -чайник -час -часто -часть -часы -чашка -чей -человек -чем -чемпион -через -чёрный -чес -честно -честный -четверг -четвёртый -четыре -четыреста -четырнадцать -чис -число -чисто -чистый -читальный -читатель -читать -чтение -что -чтобы -чувствовать -чувствую -шапка -шарф -шахматист -шестнадцать -шестой -шесть -шестьдесят -шестьсот -широкий -широко -шкаф -школа -школьник -школьница -шл -шла -шоколад -шум -шуметь -шумлю -шутить -шутка -шучу -щи -экзамен -экономика -экономист -экономический -экскурсия -экскурсовод -энергично -энергичный -энергия -этаж -это -этот -юбка -юг -южный -юмор -юность -юноша -юридический -юрист -яблоко -являться -ягода -язык -яйцо -январь -яркий diff --git a/old_version/language_data/OLD_MIN/B1_MINIMUM.txt b/old_version/language_data/OLD_MIN/B1_MINIMUM.txt deleted file mode 100644 index 71eb82363fe9c0af4fb4035549b4c499e5b89de6..0000000000000000000000000000000000000000 --- a/old_version/language_data/OLD_MIN/B1_MINIMUM.txt +++ /dev/null @@ -1,3379 +0,0 @@ -а -абсолютно -абсолютный -август -австралия -автобус -автобусный -автомат -автомобиль -автор -администрация -адрес -азиатский -азия -академия -аккуратно -активный -алло -алфавит -альбом -америка -американец -американка -американский -анализ -анализировать -анализирую -ангина -английский -англичанка -англичанок -англо-русский -анкета -ансамбль -антарктида -апельсин -аппетит -аппетита -апрель -аптека -армия -артист -архитектор -архитектурный -аспирант -аспирантура -атеизм -атмосфера -атомный -аудитория -афиша -африка -аэропорт -б -бабочка -бабушка -багаж -балерина -балет -балкон -банан -бандероль -банк -банка -баскетбол -баскетболист -баскетболистка -бассейн -батон -башня -бег -бегать -бегу -беда -бедный -бежать -без -белка -белок -белый -бельё -бензин -берг -берег -береза -берёза -беречь -берлога -беру -беседа -беседовать -беседую -бесплатно -бесплатный -беспокоиться -библиотека -библиотекарь -бизнесмен -билет -биография -биолог -биологический -бить -биться -благодарить -бланк -бледный -блестеть -блестящий -близкий -близко -блин -блины -блюдо -бог -богатство -богатый -бой -бок -более -болезнь -болельщик -болен -болеть -болото -болтать -боль -больница -больно -больной -большинство -большой -борода -бороться -борщ -борьба -ботинки -ботинок -боюсь -бояться -брат -брать -бревно -бреюсь -бриться -бровь -бродить -бросать -бросаться -бросить -брюки -будто -буду -будущее -будущий -буква -букет -булочка -булочная -булочный -бумага -бумажка -бутерброд -бутылка -буфет -бы -бывать -бывший -быстро -быстрый -быть -в -вагон -важно -важный -ваза -ванна -ванная -варение -варенье -вариант -варить -ваш -вверх -вверху -вдвоем -вдвоём -вдруг -ведро -веду -ведь -вежливый -везде -везла -везти -век -великий -велосипед -веник -вера -веревка -верёвка -верить -верно -верну -вернусь -вернуть -вернуться -верный -верхний -вершина -весело -веселый -весёлый -весенний -весна -вести -весь -ветер -ветка -вечер -вечерний -вечером -вешать -вещь -вз -взгляд -вздохнуть -вздыхать -взрослый -взять -вид -видео -видеть -виза -визитная -визитный -вилка -вино -виноватый -виноград -висеть -включать -вкусно -вкусный -вл -власть -влезать -вместе -вместо -вниз -внизу -внимание -внимательно -внимательный -внук -внутри -внучка -вовремя -во-вторых -вода -водитель -водить -водка -воевать -военный -вожу -возвращаться -воздух -воздушный -возить -возможно -возможность -возраст -войду -война -войти -вокзал -вокруг -волейбол -волк -волна -волнение -волноваться -волос -волосы -волшебный -вон -вообще -во-первых -вопрос -воробей -ворона -ворота -восемнадцать -восемь -восемьдесят -восемьсот -воскресение -воскресенье -воспитание -воспитать -воспитывать -воспоминание -восток -восторг -восточный -восьмой -вот -воюю -впервые -вперёд -впереди -впечатление -вполне -враг -врать -врач -вред -вредно -вредный -время -вс -все -всё -всегда -вскоре -вслух -вспоминать -вспомнить -вставать -вставить -вставлять -встану -встать -встретиться -встреча -встречать -встречаться -встречусь -всякий -вторник -второй -вход -входить -вчера -вчерашний -вы -выбегать -выберу -выбирать -выбираться -выбрать -выглядеть -выеду -выезжать -выехать -вызвать -выздоравливать -выздороветь -вызов -вызову -вызывать -выиграть -выигрывать -выйду -выйти -выключать -вылезать -вылетать -вылечить -вымою -вымыть -вымыться -выполнить -выполнять -выпь -выпью -выражать -выражение -выражу -выразить -вырастать -вырасти -вырезать -выскочить -высокий -высоко -высота -выстирать -выступать -выступить -выступление -выступлю -вытаскивать -вытирать -выход -выходить -выходной -газ -газета -газопровод -галерея -галстук -гараж -гастроном -гвоздь -где -где-нибудь -где-то -генерал -географ -географический -география -геолог -геологический -геология -герой -гимназия -гимнастика -гитара -глава -главный -глагол -гладить -глаз -глазок -глубокий -глубоко -глупо -глупость -глупый -глухой -глядеть -глянуть -гнездо -говорить -говориться -говядина -год -голова -голод -голодный -голос -голубой -голый -гора -гораздо -гордиться -гордо -гордый -гореть -горжусь -горло -город -городок -городской -горький -горячий -господин -госпожа -гостей -гостеприимно -гостеприимный -гостиница -гость -государственный -государство -готов -готовить -готовиться -готовый -градус -гражданин -гражданство -грамм -грамматика -граница -гриб -гроза -гром -громкий -громко -грубо -грубый -грудь -группа -грустно -грустный -грусть -груша -грядка -грязно -грязный -грязь -губа -гулять -гуманитарный -гусеница -густой -гусь -да -давать -давно -даже -далекий -далёкий -далеко -дальний -дам -дама -данный -дарить -дата -дать -дача -дая -два -двадцать -дважды -двенадцать -дверь -двести -двигаться -движение -двинуться -двое -двойка -двор -дворец -дворянский -девочка -девушка -девяносто -девятнадцать -девятый -девять -девятьсот -дед -дедушка -дежурный -действие -действительно -действовать -декабрь -декан -декларация -дела -делать -делегация -делить -делиться -дело -демократический -демонстрация -день -деньга -деньги -депутат -деревня -дерево -деревянный -держать -держаться -держу -дерзить -десятый -десять -детектив -дети -детская -детский -детство -дешево -дёшево -дешёвый -деятель -джем -джема -джинсы -диалог -диван -дикий -диктант -дипломат -дипломатический -директор -дирижёр -диск -дискуссия -диссертация -длина -длинный -для -дневник -днм -дно -до -добавить -добавлять -добиваться -добиться -добро -доброта -добрый -добьюсь -доволен -довольно -довольный -догадаться -догадываться -догнать -договариваться -договориться -доеду -доезжать -доехать -дождаться -дождь -дойду -дойти -докажу -доказать -доказывать -доклад -доктор -документ -документальный -долгий -долго -должен -должный -дом -домашнее -домашний -домик -домой -дорога -дорого -дорожка -доска -доставать -достаточно -достать -достиг -достигать -достигнуть -достижение -доходить -дочка -дочь -дошл -дошлый -драться -древний -дрожать -друг -другой -дружба -дружеский -дружественный -дружить -дружно -дружный -дуб -дует -думать -дуть -душ -душа -дым -дыхание -дышать -дядя -европа -европейский -его -еда -едва -едим -единственный -единый -ее -ежегодно -ежегодный -ежедневно -ежедневный -ежик -ёжик -ездить -еле -елка -ёлка -если -естественно -естественный -есть -ехать -ещ -еще -ещё -ж -жалеть -жалко -жаловаться -жаль -жара -жареный -жарить -жаркий -жарко -ждать -же -желание -желать -железный -желтый -жёлтый -желудок -жена -жених -женский -женщина -жестокий -жестоко -жив -живой -живот -животное -живу -жизнь -житель -жить -жу -жук -журнал -журналист -за -заблудиться -заблуждение -заболеть -забор -забота -заботиться -забуду -забывать -забыть -зависеть -завод -заводить -завтра -завтрак -завтракать -загадка -заглядывать -заглянуть -загорать -загореть -задавать -задам -задание -задать -задача -задний -задумчиво -задумываться -зажигать -зайду -займу -зайти -закажу -заказать -заканчивать -заканчиваться -закон -законспектировать -закончиться -закричать -закрой -закрою -закроюсь -закрывать -закрываться -закрыт -закрытый -закрыть -закрыться -закурить -закуска -зал -залезать -залезть -заменить -заменять -заметить -замечательный -замечать -замок -замолчать -замолчу -замужем -занимать -заниматься -занят -занятие -занятый -занять -заорать -запад -западный -запас -запах -записать -записка -записывать -запись -заплакать -заплатить -запоминать -запомнить -запретить -запрещать -запрещу -запятая -заранее -зарплата -зарубежный -засмеюсь -засмеяться -заснуть -заставлять -засыпать -затем -затылок -захватить -заходить -захотеть -захотеться -зачем -зачёт -защитить -защищать -защищу -заявление -заяц -звать -звезда -звенеть -звенит -зверек -зверёк -зверь -звонить -звонок -звук -звучать -здание -здесь -здоров -здороваться -здорово -здоровый -здоровье -здравствуйте -зеленый -зелёный -землетрясение -земля -земной -зеркало -зима -зимний -зимой -злиться -злой -змея -знак -знакомить -знакомиться -знакомлю -знакомый -знаменитый -знание -знать -значение -значить -золото -золотой -зонт -зоопарк -зритель -зрительный -зря -зу -зуб -зубная -зубной -и -иголка -игра -играть -игрушка -идет -идея -идти -из -известно -известный -извинение -извини -извинить -из-за -измениться -изменяться -изображать -изображение -изображу -изобразить -изучать -изучение -или -имена -иметь -иметься -импорт -имя -иначе -инженер -иногда -иной -иностранец -иностранный -иностранцы -институт -инструмент -интерес -интересно -интересный -интересовать -интересоваться -интересуюсь -интернациональный -инфляция -информация -искать -искусство -испанец -испанский -испанско-русский -исполниться -исполняться -использовать -исправить -исправлю -исправлять -испуганно -испугаться -исследование -исследовать -исследую -историк -исторический -история -исчезать -итак -их -июль -июнь -йогурт -к -кабинет -каждый -казаться -как -как будто -какао -как-нибудь -каков -какой -какой-нибудь -какой-то -как-то -календарь -калитка -каменный -камень -каникулы -капитан -капля -капуста -карандаш -карман -карта -картина -картинка -карточка -картошка -касаться -касса -кассир -кастрюля -катастрофа -кататься -каток -кафе -кафедра -качество -каша -кашель -квартира -кепка -кефир -кивнуть -килограмм -километр -кино -кинотеатр -киоск -кислый -китайский -китайско-русский -кладу -класс -классический -классный -класть -клевать -клей -клетка -климат -клуб -клюв -ключ -км -книга -книжка -книжный -ковер -ковёр -когда -когда-нибудь -когда-то -код -кожа -коза -козел -козёл -колбаса -колено -колесо -количество -коллега -колледж -коллекция -кольцо -команда -командировка -командировок -комар -комедия -комната -компания -композитор -компот -компьютер -компьютерная -компьютерный -конверт -конёк -конец -конечно -конкурс -консерватория -конспектировать -конституция -консультация -континент -контрольный -конференция -конфета -концерт -кончать -кончаться -конь -коньки -копать -копейка -кора -корабль -корень -корзина -корзинка -коридор -коричневый -кормить -коробка -корова -королева -король -короткий -корпус -коса -космический -космонавт -космос -костер -костёр -кость -костюм -кот -котенок -котёнок -котлета -который -кофе -кошелёк -кошка -край -крайний -красиво -красивый -краска -краски -красный -красота -кредитный -кремль -крепкий -крепко -крепость -кресло -крестьянин -крестьянка -кризис -крик -крикну -крикнуть -критиковать -критикую -кричать -кровать -кровь -кроме -кроссовки -кроссовок -крошка -круг -круглый -кружится -кружиться -кружок -крупный -крыло -крыша -крышка -ксерокс -кто -кто-нибудь -кто-то -куда -куда-нибудь -куда-то -кукла -кулак -культура -культурно -культурный -купаться -купить -курица -курс -куртка -кусок -куст -кухня -куча -ла -лаборатория -лагерь -ладонь -лазерный диск -лампа -лампочка -лапа -лапка -ласково -ласковый -ласточка -лаять -лг -лебедь -лев -левый -лёгкий -легко -лед -лёд -ледяной -лежать -лезть -лекарство -лекция -лес -лесной -лестница -летать -лететь -летний -лето -летчик -лётчик -лечить -лечь -ли -лимон -линейка -линия -лиса -лист -листок -литература -литературный -лифт -лицо -личный -лишний -лоб -ловить -ловко -лодка -ложиться -ложка -локоть -ломать -лопата -лось -лотерея -лото -лошадь -луг -лужа -лук -луна -луч -лучше -лыжа -лыжи -любимый -любить -любовь -любой -люди -лягу -лягушка -магазин -магнитофон -май -майк -майка -макароны -мал -маленький -мало -малый -малыш -мальчик -мама -мамин -март -маршрут -маршрутка -масленица -масло -мастер -математик -математический -матери -материал -матрос -матч -мать -махать -махнуть -машина -мгновение -мебель -мед -мёд -медведь -медвежонок -медицинский -медленно -медленный -медсестра -между -международный -мелкий -мелодия -менеджер -менее -меня -мера -мерить -мертвый -мёртвый -местный -место -месяц -металл -метель -метр -метро -мечта -мечтать -мешать -мешок -миг -милиционер -милиция -миллиард -миллион -мило -милый -мимо -министр -минус -минута -минутка -мир -мирный -мировой -митинг -мишка -младший -мнение -многие -многий -много -многое -множество -мобильный -мог -модель -модный -можно -мой -мокрый -молния -молодёжный -молодец -молодой -молоко -молчать -момент -монета -море -морковь -мороженое -мороз -морс -морской -моряк -москва -москвич -московский -мост -мочалка -мочь -моюсь -му -муж -мужественно -мужественный -мужество -мужской -мужчина -музей -музыка -музыкальный -музыкант -мука -мультфильм -муравей -муха -мчаться -мы -мыло -мысль -мыть -мыться -мышка -мышь -мюзикл -мягкий -мягко -мясо -мяукать -мяч -мячик -на -набирать -наблюдать -наверно -наверное -наверх -наверху -навестить -навещать -навещу -навсегда -навстречу -награда -над -надевать -надежда -надену -надеть -надеюсь -надеяться -надо -надолго -надпись -назад -название -назвать -назову -называть -называться -наиболее -наизусть -найду -найти -наконец -накормить -накрывать -налево -наливать -намного -наоборот -напечатать -написать -напоминать -напомнить -направление -направо -например -напротив -нарисовать -народ -народный -нарочно -насекомое -население -насколько -насморк -настольная -настольный -настоящий -настроение -наступать -наступить -наука -научить -научный -находить -находиться -национальность -национальный -начало -начальник -начать -начаться -начинать -начинаться -начнётся -наш -не -небо -небольшой -невеста -невозможно -негде -недавно -недалеко -неделе -неделя -независимость -незаметно -незнакомый -неизвестно -некогда -некоторый -некуда -нельзя -немедленно -немецкий -немного -необходимо -необходимый -необыкновенно -необыкновенный -необычный -неожиданно -неожиданный -непонятно -непонятный -неправильно -непрерывно -непрерывный -неприятность -нервно -нервный -несколько -несла -несмотря -нести -нестись -несчастие -несчастный -несчастье -нет -неужели -нефть -нечего -ни -нигде -ниже -нижний -низкий -низко -никак -никакой -никогда -никто -никуда -нитка -ничего -ничей -ничто -но -новогодний -новость -новый -нога -нож -ножка -ножницы -ноль -номер -нора -норка -нормально -нормальный -нос -носить -носка -ночи -ночной -ночь -ночью -ноябрь -нравиться -нс -ну -нужен -нужно -нужный -о -обед -обедать -обезьяна -обещать -обида -обидеть -обидеться -обижать -обижаться -обижу -обижусь -обладать -облако -область -обманывать -обмен -обойду -обойти -обрадовать -обрадоваться -обрадую -образец -образование -обратить -обратиться -обратно -обратный -обращать -обращаться -обслуживание -обсудить -обсуждать -обувь -обучать -обучение -обучить -обходить -обхожу -общежитие -общественный -общество -общий -объединить -объединять -объявить -объявление -объявлю -объявлять -объяснение -объяснить -объяснять -обыкновенный -обычай -обычно -обычный -обязан -обязательно -обязать -овощ -овощной -овца -оглядываться -оглянуться -огонь -огород -огромный -огурец -одевать -одеваться -одежда -одену -оденусь -одеть -одеться -одеяло -один -одинаковый -одиннадцать -однажды -однако -одновременно -одноклассник -ожидать -озеро -означать -окажусь -оказаться -оказываться -оканчиваться -океан -окно -около -окончание -окончательно -окончиться -окорка -окошко -октябрь -он -она -они -оно -оон -опаздывать -опасно -опасность -опасный -опера -операция -описание -описать -описывать -опоздать -оптимист -опускать -опушка -опыт -опытный -опять -оранжевый -орать -организация -организовать -организую -орех -оригинально -оригинальный -оружие -освободить -освобождать -освобожу -осенний -осень -осматривать -осмотреть -основатель -основной -особенно -особенность -особенный -особый -оставаться -оставить -оставлять -остальной -останавливать -останавливаться -остановить -остановиться -остановка -остановлю -останусь -остаток -остаться -осторожно -остро -остров -острый -от -ответ -ответить -ответственность -отвечать -отдавать -отдадим -отдать -отдохну -отдохнуть -отдыхать -отец -откажусь -отказаться -отказываться -откроется -откроить -открою -открывать -открываться -открыт -открытие -открытый -открыть -открыться -откуда -отлично -отличный -отметка -отмечать -отнимать -отниму -относиться -отношение -отнять -отойду -отойти -отправить -отправиться -отправлять -отправляться -отпуск -отпускать -отрезать -отсталый -отсюда -оттуда -отходить -отчаяние -отчество -отъезд -офицер -официально -официальный -официант -оформить -оформлю -оформлять -охота -охотник -оценивать -оценить -оценка -очень -очередной -очередь -очки -ошибаться -ошибиться -ошибка -ошиблась -падать -падеж -палатка -палец -палка -пальто -памятник -память -папа -папин -пара -парень -парк -парламент -пароход -парта -партия -парус -паспорт -пассажир -паста -пасха -пахнуть -певица -педагогический -пейзаж -пенал -пенсионер -пенсия -первый -перебивать -перебить -переведу -перевезла -перевезти -перевести -перевод -переводить -переводчик -перевозить -переговоры -перед -передавать -передадите -передать -передача -передвигаться -передний -перееду -переезжать -переехать -перейду -перейти -перемена -перенести -переносить -перерыв -пересадка -пересказать -пересказывать -переставать -перестать -переулок -переход -переходить -перо -перчатка -пес -пёс -песенка -песня -песок -пессимист -петух -петь -печатать -печение -печенье -печка -печь -пешком -пещера -пианино -пиджак -пирог -пирожное -пирожок -писатель -писать -письмо -пить -пицца -плавать -плакать -план -планета -платить -платок -платье -плач -плачу -плащ -плеер -плечо -плита -плод -плохо -плохой -площадка -площадь -плыву -плыть -плюс -по -по-английски -побегу -победа -победить -побежать -побеждать -побеседовать -побеседую -поблагодарить -побреюсь -побриться -побывать -поведение -повезти -поверхность -повесить -повод -повторять -погиб -погибать -погибнуть -погладить -поговорить -погода -погодить -погулять -под -подавать -подарить -подарок -подбегать -подбирать -подготовиться -подготовка -подготовлюсь -поделить -поделиться -поднимать -подниматься -поднимусь -поднять -подняться -подобный -подобрать -подождать -подойду -подойти -подоконник -подписать -подписывать -подпишу -подруга -подружиться -подружка -подсказывать -подумать -подушка -подходить -подходящий -подъеду -подъезд -подъезжать -подъехать -поеду -поезд -поем -поесть -поехать -пожалеть -пожаловать -пожалуй -пожалуйста -пожар -пожарить -пожениться -позаботиться -позавтракать -позавчера -позвать -позвонить -поздний -поздно -поздороваться -поздравить -поздравлять -познакомить -познакомиться -познакомлю -поиграть -поиск -поить -пойду -поймать -пойму -пойти -пока -показать -показывать -показываться -покататься -покачать -покормить -покормлю -покрасить -покраснеть -покупатель -покупать -пол -полагаться -поле -полезно -полезный -полезть -полет -полёт -полететь -полечить -полечу -ползти -поливать -поликлиника -политехнический -политический -полиция -полка -полностью -полный -половина -положение -положить -полоса -полотенце -полтора -получать -получаться -получить -получиться -полчаса -польза -пользоваться -полюбить -полюблю -поляна -померить -помидор -помнить -помог -помогать -по-моему -помолчать -помочь -помощник -помощь -помыться -понадобиться -понедельник -по-немецки -понимать -понравиться -понятно -понятный -понять -пообедать -попадать -попадаться -по-прежнему -попробовать -попросить -попрощаться -попугай -популярный -попытаться -пора -поражение -поранить -порезать -поросенок -поросёнок -порт -портрет -портфель -по-русски -порядок -посадить -поселок -посёлок -посетить -посещать -посидеть -послать -после -последний -послезавтра -пословица -послушать -послышаться -посмотреть -посоветовать -посоветоваться -посоветуюсь -посол -посольство -поспешить -поспешно -поспорить -поставить -поставлю -постараться -постель -постоянно -постоять -построить -поступать -поступить -поступок -постучать -посуда -посчитать -посылать -по-твоему -потерять -потолок -потом -потому -потратить -потрачу -потребовать -потребую -потянуть -потянуться -поужинать -похвалить -поход -похож -похоже -похожий -поцеловать -поцеловаться -поцелуй -поцелую -почему -почему-то -почта -почти -почувствовать -пошл -пошлый -пошутить -пошучу -поэт -поэтому -пою -появиться -появляться -пояс -прав -правда -правило -правильно -правильный -правительство -право -правый -праздник -праздничный -практика -практически -практический -превращаться -предлагать -предложение -предложить -предмет -предполагать -предположить -представитель -представление -представлять -прежде чем -президент -прекрасно -прекрасный -премия -преподаватель -преподавательница -преподавать -преподаю -при -прибавлять -прибегать -приведу -привезла -привезти -привести -привет -приводить -привозить -привык -привыкать -привыкнуть -привычка -пригласить -приглашать -приготовить -приготовиться -приду -придумать -придумывать -приеду -приезд -приезжать -прием -приём -приехать -прийти -прикажу -приказ -приказать -приключение -прилетать -прилететь -прилечу -пример -примета -принадлежать -принесла -принести -принимать -приносить -принять -природа -прислать -присылать -приходить -причесаться -причина -пришл -пришлый -пришлю -приятель -приятно -приятного -приятный -про -проанализировать -проанализирую -пробежать -проблема -пробовать -проведу -провезти -проверить -проверять -провести -проводить -провожать -провозить -программа -прогресс -прогулка -продавать -продавец -продавщица -продадите -продать -продолжать -продолжаться -продукт -продукция -проеду -проезжать -проехать -проживу -прожить -прозрачный -проиграть -проигрывать -произведение -произведу -произвести -производить -производство -произнести -произносить -произношение -произойти -происходить -пройда -пройду -пройти -промышленность -промышленный -пропадать -пропускать -пропустить -просить -проснусь -проснуться -проспект -прости -простить -проститься -просто -простой -простудиться -просыпаться -просьба -профессия -профессор -прохладно -проходить -процент -процесс -прочитать -прочитывать -прошептать -прошл -прошлый -прощать -прощаться -пруд -прыгать -прыгну -прыгнуть -прямо -прямой -прятаться -прятки -психолог -психологически -психологический -птенец -птица -птичка -пугать -пускать -пусто -пустой -пусть -путешественник -путешествие -путешествовать -путешествую -путь -пушистый -пчела -пыль -пытаться -пьеса -пятерка -пятёрка -пятнадцать -пятница -пятно -пятый -пять -пятьдесят -пятьсот -работа -работать -рабочий -равен -равно -равный -рад -радио -радиопередача -радовать -радоваться -радостно -радостный -радость -радуга -радую -раз -разбираться -разбудить -разве -развивать -развиваться -развитие -развиться -разглядывать -разговаривать -разговор -разделить -разделиться -различный -размер -разница -разноцветный -разный -разрешать -разрешить -район -рак -рана -ранний -рано -раскрашивать -раскрывать -расписание -рассердиться -расскажу -рассказ -рассказать -рассказывать -рассматривать -рассмеяться -рассмотреть -расстояние -растение -растерянно -расти -расческа -расчёска -реакция -ребёнок -ребята -революция -регулярно -редкий -редко -реж -режиссёр -режу -резать -резко -результат -река -ректор -религия -республика -ресторан -реформа -рецепт -речка -речь -решать -решение -решительно -решительный -рис -рисовать -рисунок -ровно -ровный -рог -род -родина -родитель -родиться -родной -родный -родственник -рождаться -рождение -рождество -роза -розовый -роль -роман -ромашка -российский -россия -рост -рот -рояль -рубашка -рубль -ругать -рука -рукав -руководитель -руководить -руковожу -русски -русский -русско-немецкий -ручей -ручка -рую -рыба -рыбак -рыбка -рыжий -рынок -рюкзак -ряд -рядом -с -сад -садиться -сажать -салат -салют -сам -самовар -самолет -самолёт -самостоятельно -самый -санки -сантиметр -сапог -сахар -саша -сбегать -сберечь -сварить -свежий -сверкать -сверху -свет -светить -светиться -светлый -свеча -свидание -свинина -свинья -свитер -свобода -свободен -свободный -свой -связывать -связь -святой -сгореть -сдавать -сдадите -сдать -сдаю -сделать -себя -север -северная -северный -сегодня -седой -седьмой -сейчас -секрет -секретарь -секунда -сел -села -село -сельский -семейный -семена -семестр -семинар -семнадцать -семь -семьдесят -семьсот -семья -семя -сентябрь -сердито -сердиться -сердце -серебро -серебряный -середина -серый -серьезно -серьёзно -серьезный -серьёзный -сессия -сестра -сесть -сзади -сибирский -сигарета -сидеть -сила -сильно -сильный -символ -симпатичный -синий -система -ситуация -скажу -сказать -сказка -скакать -скала -скамейка -скидка -сколько -скоро -скорость -скорый -скромно -скромный -скучать -скучно -слабо -слабый -слава -славянский -сладкий -слева -слегка -след -следить -следовательно -следовать -следующий -слеза -слива -слишком -слова -словарь -слово -сложно -сложный -сломать -слон -служить -слух -случай -случайно -случаться -слушать -слушаться -слышать -слышаться -смелый -смерть -сметана -смех -смешно -смешной -смеюсь -смеяться -смог -смотреть -смочь -смысл -снаружи -сначала -снег -снеговик -снегурочка -снежинка -снежки -снежный -снежок -снимать -сниму -снова -снять -собака -соберу -соберусь -собирать -собираться -собор -собрание -собрать -собраться -собственный -событие -сова -совершать -совершенно -совет -советовать -советоваться -советский -советуюсь -современный -совсем -согласен -согласиться -согласный -соглашаться -сожаление -создавать -создам -создать -сок -солдат -солнечный -солнце -соловей -соль -сомневаться -сомнение -сон -сообщать -сообщение -сообщить -сорвать -соревнование -сорок -сорт -сосед -соседка -соседний -сосна -составлять -состояние -состоять -соус -сохранить -сохранять -социализм -социальный -сочинение -сошью -спальня -спас -спасать -спасибо -спасти -спать -спектакль -спеть -специалист -специально -специальный -спешить -спина -спичка -спокойно -спокойной -спокойный -спор -спорить -спорт -спортивный -спортсмен -способ -способный -справа -спрашивать -спросить -спрятать -спрятаться -спускаться -спутник -сравнивать -сравнить -сразу -среда -среди -средний -средство -ссора -ставить -стадион -стакан -становиться -стану -станция -стараться -старик -старинный -старушка -старший -старый -стать -статья -стая -ствол -стекло -стеклянный -стена -стипендия -стирать -стих -стихотворение -сто -стоить -стол -столб -столик -столица -столовая -столько -сторож -сторона -стоять -страдать -страна -страница -странно -странный -страх -страшно -страшный -стрелять -стремиться -стремлюсь -строгий -строго -строитель -строительный -строить -стройка -строка -строчка -студент -студенческий -стук -стул -ступать -ступенька -стучать -стыдно -суббота -сувенир -суд -судьба -суметь -сумка -суп -сутки -сухой -существо -существовать -сфотографировать -сфотографироваться -схема -сходить -сцена -счастие -счастливый -счастье -считать -считаться -счт -сшить -съедать -съедите -съезд -съесть -сын -сыр -сэкономить -сюда -та -таблетка -таинственный -тайна -так -также -таким образом -такой -такси -талант -талантливый -там -таможенный -таможня -танец -танцевать -тарелка -тащить -твердо -твёрдо -твердый -твёрдый -твой -творчество -театр -текст -телевизор -телеграмма -телепередача -телефон -тело -тема -темно -темнота -темный -тёмный -температура -тень -теоретически -теоретический -теория -теперь -теплеть -тепло -теплоход -теплый -тёплый -терпеть -территория -терять -тетрадка -тетрадь -тетя -тётя -технический -течение -течь -тигр -тип -тихий -тихо -тишина -то -товар -товарищ -тогда -тоже -толпа -толстый -толща -только -только что -тон -тонкий -топор -торговля -торопиться -торопливо -торт -торчать -тот -точка -точно -точность -точный -трава -травка -трагедия -традиция -трамвай -транспорт -тратить -трачу -требовать -тревога -тренироваться -тренировка -тренируюсь -третий -три -тридцать -тринадцать -триста -трогать -трое -тройка -троллейбус -тропинка -труба -трубка -труд -трудиться -трудно -трудность -трудный -трудолюбивый -ття -туалет -туда -туман -турист -тут -туфли -туфля -туча -ты -тысяча -тюрьма -тяжело -тяжелый -тяжёлый -тянуть -тянуться -у -убегать -убегу -убедить -убежать -убеждать -уберу -убивать -убирать -убить -убрать -убью -уважаемый -увезти -увеличиваться -увеличиться -уверен -уверенный -увз -увидеть -увлекаться -увлекусь -увлечение -увлечься -уводить -увожу -увозить -угол -уголь -угощать -угроза -удаваться -удар -ударить -удаться -удивительно -удивительный -удивиться -удивление -удивлюсь -удивляться -удобно -удобный -удовольствие -уеду -уезжать -уехать -уж -ужас -ужасно -ужасный -уже -ужин -ужинать -узкий -узнавать -узнать -уйду -уйти -укол -украсть -украшать -украшение -улетать -улететь -улечу -улитка -улица -улучшать -улучшаться -улучшить -улучшиться -улыбаться -улыбка -ум -умение -уменьшаться -уменьшиться -умер -умереть -уметь -умирать -умный -умоюсь -умываться -умыться -универмаг -университет -университетский -уникальный -упад -упаду -упал -упасть -употребить -употреблю -употреблять -упражнение -урожай -урок -ус -условие -услышать -уснуть -успевать -успеть -успех -успешно -успешный -успокаиваться -успокоиться -уставать -устало -усталый -устану -устать -устно -устный -устраивать -усы -утка -утренний -утро -утром -ухо -уходить -участвовать -участвую -участие -участник -участок -учебник -учебный -ученик -ученица -ученый -учёный -училище -учитель -учительница -учить -учиться -ушл -фабрика -факс -факт -факультет -фамилия -фашизм -фашист -февраль -фермер -фестиваль -фигура -физик -физика -физический -физкультура -филолог -филологический -философ -философский -фильм -фирма -флаг -флешка -фонарь -фонтан -форма -фото -фотоаппарат -фотографировать -фотографироваться -фотография -фраза -француз -французский -фронт -фрукт -фруктовый -футбол -футболист -футболка -футбольный -характер -хвалить -хватать -хватить -хвост -хвостик -химик -химический -химия -хирург -хитрый -хлеб -хлопать -хлопнуть -ход -ходить -хозяин -хозяйка -хозяйство -хоккеист -холод -холодильник -холодно -холодный -хор -хороший -хорошо -хотеть -хотеться -хотя -хохотать -храм -художественный -художник -худой -царь -цвести -цвет -цветка -цветной -цветок -целовать -целоваться -целую -целый -цель -цена -ценить -ценный -центр -центральный -церкви -церковь -цирк -цифра -цыпленок -цыплёнок -чай -чайник -час -часто -частый -часть -часы -чашка -чей -чей-нибудь -чей-то -человек -человеческий -человечество -чем -чемодан -чемпион -чемпионат -чердак -через -черный -чёрный -черта -честно -честный -честь -четверг -четвёрка -четверо -четвертый -четвёртый -четверть -четыре -четыреста -четырнадцать -число -чистить -чистый -читатель -читать -член -чтение -что -чтобы -что-нибудь -что-то -чувство -чувствовать -чудесный -чудо -чужой -чуть -чуть-чуть -шаг -шагать -шапка -шар -шарик -шарф -шахматист -шахматы -шашлык -шевелиться -шепотом -шёпотом -шептать -шерсть -шестнадцать -шестой -шесть -шестьдесят -шестьсот -шея -широкий -широко -шить -шишка -шкаф -школа -школьник -школьница -школьный -шл -шляпа -шоколад -шоссе -шофер -штаны -штука -шуба -шум -шуметь -шумно -шумный -шутить -шутка -щека -щенок -щетка -щётка -экзамен -экологический -экология -экономист -экономить -экономический -экономлю -экскурсия -экскурсовод -экспедиция -эксперимент -экспорт -электричество -электроника -электростанция -энергичный -энергия -энциклопедия -эпоха -эта -этаж -этап -это -этот -юбка -юг -южная -южный -юноша -юный -юридический -юрист -я -яблоко -являться -ягода -ядерный -язык -яйцо -яма -январь -яркий -ярко -ясно -ясный -ящик diff --git a/old_version/language_data/OLD_MIN/B2_MINIMUM.txt b/old_version/language_data/OLD_MIN/B2_MINIMUM.txt deleted file mode 100644 index 8a0622f2ac6785c36fdd51969f9b7a3d2e284c71..0000000000000000000000000000000000000000 --- a/old_version/language_data/OLD_MIN/B2_MINIMUM.txt +++ /dev/null @@ -1,5341 +0,0 @@ -абзац -аборт -абрикос -абсолютный -абстрактно -абстрактный -абсурд -абсурдный -авария -август -австрийцы -автобиография -автобус -автобусный -автодорожный -автомат -автоматически -автомобиль -автономия -автономный -автоответчик -автор -авторитет -агент -агентство -агрессивно -агрессивный -ад -адаптироваться -адвокат -адекватно -адекватный -административный -администратор -администрация -адрес -азартно -азартный -азиатский -академик -академия -акварель -аккуратно -аккуратный -акт -актёр -активный -актриса -актуально -актуальный -акцент -акционерный -акция -албанцы -алгебра -алжирцы -алкоголь -аллергия -аллея -алтайцы -алфавит -альбом -альпинист -американец -американок -американский -американцы -анализ -анализировать -ананас -анатомия -ангел -ангина -английский -англичане -англичанин -англичанка -англо-русский -анекдот -анкета -ансамбль -анти- -антибиотик -антисемитизм -античный -антракт -апельсин -аплодировать -аплодисменты -аппетит -апрель -аптека -арабы -арбуз -аргентинцы -аргумент -аргументировать -аренда -арендовать -арест -арестовать -арестовывать -армия -армяне -аромат -ароматный -артист -археолог -археология -архитектурный -аспирант -аспирантура -атеизм -атлетика -атмосфера -атомный -аудирование -аудитория -аукцион -афганцы -афиша -африканец -африканка -африканок -африканский -африканцы -аэропорт -бабушка -багаж -бадминтон -база -базар -бакалавр -баклажан -бал -балалайка -балерина -балет -балкон -балл -баловать -баловаться -банан -бандероль -банк -банка -банкет -банкир -банкомат -банкрот -баня -бар -барабан -баран -баранина -баранка -бас -баскетбол -баскетболист -бассейн -бастовать -батон -башня -бегать -бегун -бегунья -беда -беднеть -бедность -бедный -бедствие -бежать -бежевый -беженец -беженка -без -безвкусно -безвкусный -безвыходный -безграмотно -безграмотный -безгранично -безграничный -бездарный -бездействовать -бездельничать -бездетный -бездушный -беззаботно -беззаботный -беззащитный -безлюдно -безлюдный -безнадёжно -безнадёжный -безнравственный -безобразно -безобразный -безопасно -безопасность -безопасный -безработица -безработный -безусловно -бекон -белеть -белка -белок -белорусы -бельгийцы -бензин -берег -бережливый -бережно -берёза -беременная -беременный -берет -беречь -беседа -беседка -беседовать -бесконечно -бесконечный -бескорыстно -бескорыстный -бесплатный -беспокоить -беспокоиться -беспокойно -беспокойный -бесполезно -бесполезный -беспомощный -беспорядок -бесправный -бессмысленно -бессмысленный -бессовестный -бессонница -бессрочный -бестактно -бестактный -бесцветный -бесценный -бесшумно -бесшумный -бетон -библиотека -библиотекарь -библия -бизнес -бизнесмен -билет -бильярд -биография -биолог -биологический -биология -биржа -благодарить -благодарный -благодаря -благородно -благородный -благотворительный -бланк -бледнеть -бледный -блестеть -блестящий -близкий -близнец -близнецы -блин -блины -блок -блокнот -блондин -блондинка -блузка -блюдо -блюдце -бог -богатеть -богатство -богатый -боевик -бож -бой -бок -бокал -бокс -боксёр -болгары -более -болезнь -болельщик -болеть -боливийцы -болотистый -болото -болтать -боль -больница -больничный -больной -большинство -большой -бомба -бомбить -бомж -борец -борода -бородатый -бороться -борщ -борьба -босоножка -босоножки -ботаник -ботаника -ботинки -бояться -бразильцы -брак -браслет -брат -брать -бредить -брести -бриллиант -британцы -бритва -бриться -бровь -бродить -бронировать -бронхит -бросать -бросить -брошка -брошь -брюки -брюнет -брюнетка -буддизм -буддист -будильник -будить -будни -будто -будущее -будущий -буква -букет -булка -булочка -булочная -бульвар -бульон -бумага -бумажник -бумажный -буржуазный -буря -бусы -бутерброд -бутылка -буфет -буханка -бы -бывать -бывший -бык -быстрый -быт -бытовой -бюджет -бюро -бюрократ -в частности -вагон -важный -ваза -вальс -валюта -ванна -ванная -варежка -варежки -варёный -варенье -вариант -варить -вата -ватрушка -вафли -вафля -ваш -вбегать -вбежать -ввезти -вверх -вверху -ввести -вводить -ввоз -ввозить -вглядеться -вглядываться -вдали -вдаль -вдвое -вдвоём -вдова -вдовец -вдоль -вдохновение -вдруг -ве -вегетарианец -вегетарианцы -ведёшь -ведро -ведущий -ведь -вежливый -вез -везде -везти -везучий -век -веко -велик -великий -великолепно -великолепный -велогонка -велосипед -велосипедист -венгры -веник -венчаться -вер -вера -верблюд -верёвка -верить -вермишель -верность -вернуть -вернуться -верный -веровать -вероятно -вероятность -версия -вертикально -вертикальный -вертолёт -верующий -верх -верхний -вершина -вес -веселиться -весенний -весить -весна -весной -вести -весы -весь -ветер -ветеран -ветка -ветчина -вечер -вечеринка -вечерний -вечером -вечно -вечный -вешалка -вешать -вещь -взаимно -взаимный -взаимо- -взаимосвязь -взвесить -взвешивать -взволнованно -взволнованный -взволновать -взволную -взгляд -взглянуть -вздохнуть -вздрагивать -вздрогнуть -вздыхать -взлетать -взлететь -взорвать -взрослый -взрыв -взрывать -взятка -взять -вид -виден -видео -видеокамера -видеомагнитофон -видеть -видеться -видимо -видный -вижусь -виза -визит -визитка -визитный -вилка -винегрет -вино -виноват -виноватый -виноград -вирус -висеть -висок -висок, -витамин -витрина -вить -вишня -вкладывать -включать -вкус -вкусный -владелец -владеть -влажно -влажный -властно -властный -власть -влево -влетать -влететь -влияние -влиять -вложить -влюбить -влюбиться -влюблённый -влюбляться -вместе -вместо -вмешаться -вмешиваться -вначале -внезапно -внезапный -внёс -внести -внешне -внешний -внешность -вниз -внизу -внимание -внимательный -вничью -вносить -внук -внутренний -внутри -во -вовремя -во-вторых -вода -водитель -водить -водка -водопад -водопроводный -воевать -военный -возвратить -возвратиться -возвращать -возглавить -возглавлять -воздух -возить -возле -возможно -возможность -возможный -возмутиться -возмущаться -возникать -возникнуть -возражать -возражение -возразить -возраст -возрождение -война -войти -вокзал -вокруг -волевой -волейбол -волейболист -волейболистка -волк -волна -волнение -волновать -волноваться -волосы -воля -вон -воображение -вообще -вооружённый -вопреки -вопрос -вор -воробей -воровать -ворона -ворота -воротник -ворчать -восемнадцать -восемь -восемьдесят -восемьсот -воскресенье -воскресный -воспитание -воспитанный -воспитать -воспитывать -воспоминание -восстанавливать -восстание -восстановить -восток -восточный -восхититься -восхищаться -восход -восьмой -вот -впервые -вперёд -впереди -впечатление -впечатлительный -вписать -вписывать -вполголоса -вполне -впоследствии -вправо -впускать -впустить -враг -враждебно -враждебный -враждовать -вратарь -врать -времён -времени -временно -временный -время -вручать -вручить -вряд -вряд ли -всё -всегда -всего -всемирный -всеобщий -всерьёз -всесторонне -всесторонний -всё-таки -вскипеть -вскипятить -вскипячу -вскоре -вследствие -вслух -всматриваться -всмотреться -вспоминать -вспомнить -вставать -вставить -вставлять -встать -встретить -встретиться -встреча -встречать -встречаться -вступать -вступить -вступление -всякий -вторник -второй -в-третьих -втроём -вуз -вулкан -вульгарно -вульгарный -вход -входить -вчера -вчерашний -въезжать -въехать -вы -выбегать -выбежать -выбирать -выбор -выборы -выбрасывать -выбрать -выбросить -вывезти -вывести -вывод -выводить -вывоз -вывозить -выглядеть -выглядишь -выгнать -выгодно -выгодный -выгонять -выдавать -выдадим -выдать -выезжать -выехать -выживать -выжить -вызвать -выздоравливать -выздороветь -вызывать -выиграть -выигрывать -выйдешь -выйти -выключатель -выключать -выключить -вылетать -вылететь -вылечить -выливать -вылить -вымыть -вымыться -вынести -вынимать -выносить -выносливый -вынуть -выписать -выписывать -выполнять -выпуск -выпускать -выпускник -выпускница -выпустить -выражать -выразительно -выразительный -выразить -вырасти -вырастить -выращивать -выселить -выселять -высказать -высказывать -выслушать -выслушивать -высокий -высота -высотный -высохнуть -выспаться -выставка -выстрелить -выступать -выступить -выступление -высушить -высший -высыпаться -высыхать -вытаскивать -вытащить -вытереть -вытирать -выучить -выход -выходить -выходной -вышивать -выяснить -выяснять -вьетнамцы -вьющийся -вязаный -вязать -вянуть -газ -газета -газопровод -галерея -галстук -гараж -гарантировать -гарантия -гардероб -гармонично -гармоничный -гарнир -гасить -гаснуть -гастроли -гастроль -гастроном -гвоздик -гвоздика -гвоздь -где -где-либо -гель -ген -генетик -генетический -гениально -гениальный -гений -геноцид -географ -географический -география -геолог -геологический -геология -герб -героически -героический -герой -гибель -гибкий -гибко -гибнуть -гигантский -гид -гидроэлектростанция -гимн -гимназия -гимнаст -гимнастка -гинеколог -гитара -гитарист -глава -главный -гладить -гладкий -гладко -глаз -глина -глохнуть -глубина -глубокий -глупость -глупый -глухой -глядеть -гнать -гнаться -гнездо -гнилой -гов -говорить -говядина -год -годовщина -гол -голова -голод -голодать -голодный -гололёд -голос -голосовать -голубой -голубь -голый -гольф -гольфы -гонка -гора -гораздо -горбуша -гордиться -гордый -горе -гореть -горизонтально -горизонтальный -горло -горничная -горнолыжный -горный -город -городской -горчица -горький -горячий -госпиталь -господин -госпожа -гостеприимный -гостиная -государство -готовить -готовиться -готовлю -готовый -грабить -гравюра -град -градус -градусник -гражданин -гражданка -гражданский -гражданство -грамм -грамматика -грамотно -грамотный -гранит -граница -граничить -графика -греки -греть -греться -грех -гречка -гриб -грипп -гроб -гроза -гром -громадный -громкий -груб -грубить -грубый -грузины -грузчик -группа -грустить -грустный -грусть -груша -грязный -грязь -гу -губа -губернатор -гулять -гуляш -гуманитарный -гуманный -густой -гусь -да -давать -давление -давно -дагестанцы -дадим -даже -далее -далёкий -дальний -дальновидный -дам -дама -данные -данный -дарить -даром -дата -дать -дача -два -двадцать -дважды -двенадцать -движение -двое -двойка -двор -дворец -дворник -дворянин -дворянка -двоюродный -двух -двухлетний -двухместный -двухтысячный -двухэтажный -девочка -девушка -девяносто -девятнадцать -девятый -девять -девятьсот -деградировать -дедушка -дежурный -дезодорант -действие -действительно -действовать -декабрь -декан -декларация -декорация -делать -делегат -делегация -деликатно -деликатный -делить -делиться -дело -деловой -демагог -демографический -демократ -демократический -демократичный -демонстрация -демонстрировать -день -деньги -депрессия -депутат -деревня -дерево -деревянный -держать -держаться -десерт -десятый -десять -деталь -детектив -дети -детский -детство -дефект -дешеветь -дешёвый -деятель -деятельность -джаз -джем -джема -джинсы -диабет -диагноз -диалог -диван -диета -диетический -дизайнер -дикий -диктант -диктатор -диктор -динамично -динамичный -диплом -дипломатический -дипломатично -дипломатичный -директор -дирижёр -диск -дискета -дискотека -дискуссионный -дискуссия -диссертация -длина -длинный -для -дневной -дневный -днём -дно -до -добавить -добавлять -добиваться -добираться -добиться -добраться -добродушно -добродушный -доброжелательно -доброжелательный -добросовестно -добросовестный -доброта -добрый -доверие -доверить -доверять -доволен -догадаться -догадываться -догнать -договариваться -договор -договориться -догонять -доделать -доделывать -доезжать -доехать -дождливый -дождь -доживать -дожить -дозваниваться -дозвониться -дойдёшь -дойти -доказательство -доказать -доказывать -доклад -доктор -документ -документальный -долг -долгий -должен -должность -долина -доллар -дом -дома -домашний -доминиканцы -домой -домофон -домохозяйка -домработница -дописать -дописывать -дополнительно -дополнительный -дополнить -дополнять -дорога -дорогой -дорожать -доска -досрочно -досрочный -доставать -достаточно -достать -достиг -достигнуть -достижение -достичь -достоин -достоинство -достойный -достопримечательность -досуг -доход -доходить -дочка -дочь -драгоценный -драка -драма -драматический -драться -древний -дрожать -друг -друга -другой -дружба -дружеский -дружественный -дружить -дружный -ду -дуб -дублёнка -дума -думать -дуть -духовный -душ -душа -душно -душный -дую -дым -дыня -дыра -дышать -дьявол -дядя -евангелие -евреи -европеец -европейский -европейцы -египтяне -его -еда -единица -единичный -единогласно -единогласный -единомышленник -единственный -единый -её -ёж -ежегодный -ежедневный -ежемесячно -ежемесячный -еженедельно -еженедельный -ежи -ездить -ела -ёлка -ель -если -естественный -есть -ехать -ещё -жадно -жадность -жадный -жалеть -жалко -жаловаться -жалость -жаль -жара -жаргон -жареный -жаркое -жать -ждать -же -желание -желательно -желать -железнодорожный -железный -железо -желтеть -жёлтый -желудок -жемчуг -жена -женат -жениться -жених -женский -женщина -жертва -жертвовать -жест -жёсткий -жестокий -живой -живопись -живот -животное -жидкий -жидкость -жизнерадостный -жизнь -жилой -жир -жирный -житель -жить -жу -жук -журналистика -жюри -за -забастовка -забивать -забить -заболеть -забор -заботиться -заботливо -заботливый -забронировать -забывать -забыть -заваривать -заварить -завернуть -завести -завещание -завидовать -зависеть -зависть -завод -заводить -завоевать -завоёвывать -заворачивать -завтра -завтрак -завтракать -завтрашний -завязать -завязывать -завянуть -загадка -загадочно -загадочный -заговор -заголовок -загорать -загорелый -загореть -заграничный -загрязнение -загрязнить -загрязнять -задавать -задание -задать -задача -задуматься -зажечь -зажигалка -зажигать -заинтересовать -заинтересоваться -зай -зайти -заказать -заказывать -заканчивать -заканчиваться -закат -заключаться -заключение -заключительный -закон -законодательный -закономерно -закономерный -законспектировать -закончить -закончиться -закричать -закрываться -закрыт -закрыть -закрыться -закурить -закуска -зал -залив -заложник -заменить -заменять -замёрзнуть -заместитель -заметить -замечание -замечательный -замечать -замок -замолчать -заморозки -заморозок -замуж -замужем -занимать -заниматься -занят -занятие -занять -запад -западный -запах -записать -записка -записывать -заплакать -запланировать -заплатить -заповедник -запомнить -запрет -запретить -запрещать -зарабатывать -заработать -заражать -заражаться -заражу -заразить -заразиться -заранее -зарегистрироваться -зарплата -зарубежный -заседание -засмеяться -засмотреться -заснуть -застёгивать -застёгиваться -застегнуть -застегнуться -засыпать -затем -затормозить -заходить -захотеть -зачем -зачёт -зачитаться -зачитываться -защитить -защитник -защищать -заявить -заявление -заявлять -заяц -звать -звезда -зверь -звонить -звонок -звук -звучать -здание -здесь -здороваться -здоровый -здоровье -зевать -зевнуть -зелёный -зелень -землетрясение -земля -земной -зеркало -зи -зима -зимний -зимой -злиться -злой -змея -зна -знак -знакомить -знакомиться -знакомство -знакомый -знаменитый -знание -знать -значение -значит -значить -значок -золото -золотой -зонт -зоопарк -зрение -зуб -зубной -зять -игла -иголка -игра -играть -игрушка -идеал -идеалист -идеально -идеальный -идея -идти -из -изба -избаловать -избиратель -избирательный -избить -известна -известный -извинить -извиниться -извинять -извиняться -издавать -издание -издательство -издать -из-за -измена -изменение -изменить -измениться -изменять -изменяться -измерить -измерять -изображать -изображение -изобразить -изобретатель -изобретение -изой -из-под -израильтяне -изучать -изучение -изучить -изюм -изящно -изящный -икона -икра -именно -иметь -имидж -иммигрант -иммигрировать -иммунитет -импорт -имя -иначе -инвалид -инвалидный -инвестировать -инвестиция -инвестор -индейцы -индекс -индивидуалист -индивидуально -индивидуальный -индийцы -индонезийцы -индуизм -индустриальный -инженер -инициал -инициалы -инициатива -инициативный -иностранец -иностранный -иностранок -инспектор -инспекция -институт -инструкция -инструмент -интеллект -интеллектуал -интеллектуальный -интеллигент -интеллигентный -интеллигенция -интенсивно -интенсивный -интервал -интервью -интерес -интересный -интересовать -интересоваться -интернациональный -интернет -интимный -интонация -интуиция -инфаркт -инфекция -информативный -информационный -информация -иорданцы -ир -иранцы -ирландцы -иронично -ироничный -ирония -искать -исключать -исключение -исключительно -исключить -искренне -искренний -искусственно -искусственный -искусство -ислам -исландцы -испанско-русский -испанцы -испачкать -испачкаться -испечь -исполнить -исполниться -исполнять -исполняться -использовать -испортить -испортиться -испорчусь -исправить -исправлять -испугать -испугаться -исследование -исследователь -исследовать -историк -исторический -история -истратить -итак -итальянцы -итог -итого -иудаизм -их -июль -июнь -йеменцы -йод -ка -кабинет -кавказцы -каждый -казаться -казахи -как -какао -как-нибудь -каков -какой -какой-либо -как-то -календарь -калорийный -калькулятор -камбоджийцы -каменный -камень -кампания -канадцы -канал -кандидат -каникулы -капитализм -капиталистический -капитан -капуста -карамель -карандаш -карман -карта -картина -картофель -карточка -картошка -карьера -касаться -касса -кассета -кассир -кастрюля -каталог -катастрофа -кататься -каток -католик -католицизм -качаться -качественный -качество -каша -кашель -кашлять -квадрат -квадратный -квалифицированный -квартира -квас -квитанция -кг -кекс -кепка -керамика -кефир -кивать -кивнуть -килограмм -километр -кино -кинотеатр -киоск -кипеть -киприоты -кипятить -кипячёный -киргизы -кирпич -кисель -кислород -кислый -китаец -китайский -китайско-русский -китайцы -класс -классический -классовый -класть -клеить -клей -клетка -клиент -климат -клуб -клубника -клюква -книжный -ко -ковать -коваться -ковёр -когда -когда-либо -код -кое-где -кое-как -кое-какой -кое-когда -кое-кто -кое-куда -кое-что -кожа -кожаный -колбаса -колготки -колено -колесо -количество -коллега -колледж -коллектив -коллективный -коллекционер -коллекционировать -коллекция -колокол -колумбийцы -кольцо -коляска -ком -команда -командировка -командовать -комар -комедия -коми -комитет -комментировать -коммерческий -коммунист -коммунистический -комната -компания -компенсация -компенсировать -комплекс -комплимент -композитор -компот -компресс -компромисс -компьютер -компьютерный -комфортно -комфортный -кон -конверт -конгресс -кондитерский -кондиционер -кондуктор -конец -конечно -конкретно -конкретный -конкурент -конкуренция -конкурс -консервативно -консервативный -консерватория -консервы -конспектировать -конституция -консультант -консультация -контрабанда -контракт -контроль -контрольный -конференция -конфета -конфликт -концерт -кончать -кончаться -кончить -кончиться -коньки -копейка -копить -копия -корабль -коран -корейцы -корень -корм -коробка -корова -королева -король -короткий -корпус -корреспондент -коррупция -косметика -косметический -космический -космонавт -космос -коснуться -кость -костюм -кот -котёнок -котлета -который -кофе -кофеварка -кофемолка -кошелёк -кошка -кран -красивый -красить -краснеть -красный -красота -красть -краткий -кратко -кратковременный -кредит -крем -кремль -крепкий -крепость -крест -крестьянин -кривая -кривой -кризис -крик -крикнуть -криминальный -критерий -критик -критика -критиковать -критически -критический -кричать -кровать -кровь -кроме -кроссворд -кроссовки -круг -круглый -крупа -крупный -крыжовник -крыша -крышка -ксерокс -кстати -кто -кто-либо -кубинцы -куда -куда-либо -кукла -кукуруза -кулинария -кульминация -культура -культурный -купальник -купаться -купе -купить -курительный -курить -курица -курсы -куртка -курьер -кусать -кусаться -кусок -кухня -кушать -лаборатория -ладно -ладный -ладонь -ладоши -лак -лампа -лампочка -ландыш -лапша -ласково -ласковый -латинский -лауреат -лаять -лев -левый -легально -легальный -легенда -лёгкий -легкомысленно -легкомысленный -легла -лёд -лежать -лезть -лейтенант -лекарство -лектор -лекция -лениво -ленивый -лениться -лень -лес -лестница -летать -лететь -лето -летом -лётчик -лечить -лечь -ли -либеральный -либо -лидер -ликвидировать -ликёр -лимон -лингвистика -линия -лиса -лист -листа -литература -литературный -литр -лить -литься -лифт -лицей -лицо -личность -личный -лишний -лишь -лоб -ловить -логика -логичный -лоджия -лодка -ложиться -ложка -лошадь -лужа -лук -луна -лучший -лую -лыжи -лыжник -лысый -льгота -лю -любимый -любитель -любить -любоваться -любовь -любознательный -любой -любопытно -любопытный -люди -люстра -люсь -мага -магазин -магистр -магистрант -магнитофон -мазать -май -майонез -майор -макароны -максимум -маленький -малина -мало -малыш -мальчик -мама -мандарин -маргарин -маринованный -мариновать -марка -мармелад -март -маршрут -маршрутка -мастерская -математик -математика -математический -матерей -материал -материально -материальный -матрёшка -матч -мать -мафия -махать -махнуть -машина -мгновение -мебель -мёд -медаль -медведь -медицина -медицинский -медленный -медсестра -между -междугородный -международный -мелкий -мелко -мелодия -мелодрама -мелочь -мемуары -менее -меньшинство -менять -меняться -мёрзнуть -мерить -мёртвый -местный -месяц -металл -металлический -метель -метод -метр -метро -мех -механизм -меценат -мечта -мечтать -мешать -миксер -милиционер -милиция -миллиард -миллион -милый -мимо -минеральный -минимальный -минимум -министерство -министр -минус -минута -мир -мириться -мирный -мировоззрение -мировой -миролюбивый -митинг -мить -младший -мнение -многие -много -мода -модель -модный -мозг -мой -мокла -мокрый -мол -молиться -молния -молодёжный -молодёжь -молодеть -молодец -молодой -молодость -молоко -молчаливый -молчать -момент -монета -монолог -моральный -море -морковь -мороженое -мороз -морозный -морс -морской -морщина -моряк -моск -москвич -московский -мост -мотор -мотоцикл -мочь -мощный -мрамор -мрачно -мрачный -мстить -мудрый -муж -мужественный -мужество -мужской -мужчина -музей -мука -мультфильм -мусор -мусоропровод -мусульманин -мусульманство -муха -мчаться -мы -мыло -мыльница -мысль -мыть -мыться -мышь -мягкий -мясо -мяукать -мяч -на -набережная -набирать -наблюдательный -наблюдать -набрать -наверное -наверх -наверху -навестить -наводнение -наволочка -наврать -навсегда -навстречу -наговориться -награда -наградить -награждать -нагрубить -нагуляться -над -надевать -надежда -надеть -надеяться -надо -надоедать -надоесть -надолго -надпись -надстраивать -надстроить -наедине -наесться -нажать -нажимать -назад -название -назвать -назначать -назначить -называть -называться -наиболее -наивно -наивный -наизусть -наименее -найдёшь -найти -наказание -наказать -наказывать -накануне -наклеивать -наклеить -наклониться -наклоняться -наконец -накопить -накормить -накупить -налево -наливать -налить -наличные -наличный -налог -намазать -намекать -намекнуть -намерен -намерение -намеренный -намного -намочить -нанимать -нанять -наоборот -нападать -напал -напасть -напечатать -напиваться -написать -напиток -напиться -напоминать -напомнить -направление -направо -напрасно -например -напротив -напряжённо -напряжённый -напрячь -нарезать -нарисовать -наркоман -наркомания -наркотик -народный -нарочно -нарушать -нарушить -нарядно -нарядный -насекомое -население -насилие -насквозь -насколько -наследство -насморк -насмотреться -насорить -настаивать -настойчиво -настойчивый -настолько -настольный -настоять -настоящий -настроение -наступать -наступить -наступление -натощак -натуральный -натюрморт -наука -научить -научиться -научный -наушник -наушники -находить -находиться -находчивый -национализм -националист -националистический -национальный -нация -начало -начальник -начать -начаться -начинать -начинаться -наш -не -небо -невеста -невозможно -негде -недавно -недалеко -неделя -недоделать -недоделывать -недостатки -недостаток -нежно -нежный -независимость -некогда -некоторый -некуда -нельзя -немедленно -немец -немецкий -немецко-русский -немного -немой -ненавидеть -ненависть -необходимо -необходимость -необходимый -необыкновенный -неожиданный -неопределённый -неопредёленный -неповторимый -неподвижно -неподвижный -неправда -непрерывный -неприятно -неприятность -неприятный -нервничать -нервный -несколько -несмотря -несправедливость -несправедливый -нести -несчастный -несчастье -нет -неудачно -неудачный -неудобно -неудобный -неудовлетворительно -неужели -нефть -нечаянно -нечего -нечётный -нечто -ни -нигде -нижний -низкий -никак -никакой -никла -никогда -никто -никуда -ниоткуда -нисколько -нитка -ничей -ничто -ничуть -ничья -нищета -нищий -но -новинка -новогодний -новость -новый -ноготь -нож -ножка -ножницы -ноль -номер -номерок -нормальный -нос -носильщик -носить -носки -нотариус -ночевать -ночной -ночь -ночью -ноябрь -нравиться -нравственно -нравственный -ну -нуждаться -нужен -нужно -нужный -нулевой -ную -ные -ный -нынешний -нырнуть -нырять -нюхать -няня -оба -обанкротиться -обаятельный -обвенчаться -обвинение -обвинить -обвинять -обгонять -обдумать -обдумывать -обеднеть -обезьяна -обеспеченный -обеспечивать -обеспечить -обещание -обещать -обжечься -обжигаться -обзор -обида -обидеть -обидеться -обидный -обидчивый -обижать -обижаться -обладать -облако -областной -область -облачно -облачный -облегчать -облегчить -обливать -облить -обложка -обман -обмануть -обманывать -обмен -обменивать -обмениваться -обменять -обменяться -обморок -обнимать -обновить -обновлять -обнять -обобщать -обобщение -обобщить -обогнать -обожать -обозреватель -обои -обойдёшь -обойти -оборона -обострение -обостриться -обостряться -обрадовать -обрадоваться -обрадуюсь -образец -образование -образовать -образовывать -обратиться -обратно -обращаться -обслуживание -обстановка -обстоятельства -обстоятельство -обсудить -обсуждать -обувь -обучать -обучение -обучить -обходить -общаться -общежитие -общение -общественный -общество -общий -общительный -объединение -объединиться -объединяться -объезжать -объект -объективно -объективный -объесться -объехать -объявить -объявление -объявлять -объяснение -объяснять -обыкновенный -обычай -обычный -обязан -обязанность -обязательно -овощи -овощной -овца -оглавление -оглохнуть -оглядываться -оглянуться -огонь -огород -ограбить -ограничение -ограничивать -ограничиваться -ограничить -ограничиться -огромный -огурец -одевать -одеваться -одежда -одеколон -одержать -одерживать -одеть -одеться -одеяло -один -одинаковый -одиннадцать -одинокий -одиночество -одновременно -одноместный -однообразно -однообразный -одноразовый -одобрить -одобрять -одуванчик -ожидание -ожог -озаглавить -озеро -оказаться -оказываться -оканчивать -оканчиваться -океан -оккупировать -окно -около -окончание -окончить -окончиться -окорок -окраина -окрошка -округ -окружать -окружить -октябрь -окулист -олег -олень -оливковый -олимпиада -олимпийский -омлет -он -опаздывать -опасность -опасный -опера -операция -оперетта -описание -описывать -оплатить -оплачивать -опоздание -опоздать -оппозиция -оппонент -оправдать -оправдывать -определение -определить -определять -опровергать -опровергнуть -опровержение -оптимизм -оптимист -оптимистический -опубликовать -опускать -опустить -опыт -опытный -опять -оранжевый -орган -организатор -организация -организм -организовать -организовывать -орден -орёл -орех -оригинал -оригинальный -ориентироваться -оркестр -оружие -осветить -освещать -освещение -освободиться -освобождать -освобождаться -осёл -осенний -осень -осенью -осетрина -оскорбить -оскорблять -ослабеть -ослепнуть -осложнение -осматривать -осмотреть -основа -основатель -основать -основной -основывать -особенно -особенность -особенный -особняк -особый -оставаться -оставить -оставлять -остальной -останавливать -останавливаться -остановить -останусь -остаться -осторожный -остров -остроумно -остроумный -острый -остывать -остыть -осудить -осуждать -осуществить -осуществиться -осуществлять -осуществляться -от -отвезти -ответ -ответить -ответственно -ответственность -ответственный -отвечать -отдавать -отдать -отдашь -отделение -отдохнуть -отдых -отдыхать -отец -отечественный -отечество -отзывчивый -отказать -отказаться -отказывать -отказываться -откладывать -отключать -отключить -откровенно -откровенный -открывать -открываться -открытие -открытка -открыто -открытый -открыть -открыться -откуда -откусить -откусывать -отличаться -отличие -отличительный -отличный -отложить -отменить -отменять -отметить -отметка -отмечать -отнести -отнимать -относить -относиться -отношение -отнять -отовсюду -отойдёшь -отойти -отомстить -отопление -оторвать -отправить -отправиться -отправлять -отправляться -отпрашиваться -отпросить -отпроситься -отпуск -отпускать -отпустить -отравиться -отражать -отразить -отреагировать -отрезать -отремонтировать -отреставрировать -отрицательно -отрицательный -отрывать -отрывок -отставать -отставка -отсталый -отстать -отсутствовать -отсюда -оттуда -отходить -отчего -отчего-то -отчество -отчёт -отчий -отъезд -офицер -официальный -официант -оформить -оформление -охарактеризовать -охота -охотиться -охотник -охотно -охрана -охранник -охранять -оценивать -оценить -оценка -очень -очередной -очередь -очки -ошибаться -ошибка -оштрафовать -ощутить -ощущать -ощущение -падать -падение -пакет -палата -палатка -палец -палка -пальто -памятник -память -паника -папа -папка -пар -пара -парад -парализовать -параллельно -параллельный -парикмахер -парикмахерская -парк -паркет -парковаться -парламент -партер -партийный -партия -парфюмерия -пасмурно -пасмурный -паспорт -пассажир -пассивно -пассивный -пасха -патриот -патриотизм -пауза -паук -пахнуть -пачка -пачкать -пачкаться -паштет -певец -педагогический -пейзаж -пельмени -пельмень -пена -пенсионер -пенсия -первый -пере -переведу -перевезти -перевести -перевод -переводить -переводчица -перевязать -перевязывать -переговоры -перед -передавать -передать -передача -передумать -переезжать -переехать -перезванивать -перезвонить -переиздавать -переиздать -перейду -перейти -перекладывать -переключать -переключить -перекрёсток -переложить -перенести -перенесу -переносить -переобуваться -переобуться -переодеваться -переодеться -переписка -переписываться -переполнить -переполнять -перепутать -перерыв -пересадка -пересаживаться -пересесть -пересказать -пересказывать -переслать -переставать -перестану -перестать -пересылать -переулок -переутомиться -переутомляться -переход -переходить -перец -период -периодически -периодический -персик -перспектива -перспективный -перчатки -песню -песня -песок -пессимизм -пессимист -пессимистический -песчаный -петров -петрушка -петух -петь -печально -печальный -печатать -печать -печень -печенье -печка -печь -пешеход -пешком -пи -пианино -пианист -пиво -пирог -пирожное -пирожок -письмо -пить -плавать -плакать -пламя -план -планета -планировать -пластиковый -пластмассовый -пластырь -платить -платный -платок -платье -плащ -плевать -плеер -племянник -племянница -плен -плёнка -плечо -плов -пловец -плодотворно -плодотворный -плохой -площадь -плыть -плюнуть -плюс -пляж -плясать -пневмония -по -победа -победить -побелеть -побережье -побеседую -поблагодарить -побледнеть -поболтать -побреюсь -побриться -побывать -повар -поведение -повезло -повезти -поверить -повернуться -повесить -повести -повесть -по-видимому -повлиять -повод -поворачиваться -поворот -повреждение -повседневный -повсюду -повторение -повторить -повторный -повторять -повысить -повыситься -повышать -повышаться -погасить -погаснуть -погибать -погибнуть -погладить -поглядеть -поговорить -поговорка -погода -пограничник -под -подавать -подарить -подарок -подать -подбегать -подбежать -подбородок -подбородок, -подвал -подвезти -подвести -подвиг -подвинуть -подвинуться -подводить -подвозить -подготовить -подготовиться -подготовка -поддержать -поддерживать -поддержка -подействовать -поделить -поделиться -подешеветь -подмести -подметать -поднимать -подниматься -поднять -подняться -подогревать -подогреть -пододеяльник -подождать -подойти -подоконник -подорожать -подписаться -подписывать -подписываться -подпись -подплывать -подплыть -подполковник -подрабатывать -подраться -подробно -подросток -подруга -по-другому -подружиться -подсказать -подсказывать -подслушать -подслушивать -подсматривать -подсмотреть -подстригать -подстригаться -подстрижёшь -подстричь -подстричься -подтвердить -подтверждать -подтверждение -подумать -подуть -подушка -подходить -подходящий -подчиниться -подчиняться -подъезжать -подъехать -поедите -поесть -поехать -пожалеть -пожаловаться -пожалуйста -пожар -пожарить -пожарный -пожать -пожелание -пожелать -пожелтеть -пожениться -пожертвовать -пожилой -пожимать -позаботиться -позавидовать -позавидую -позавтракать -позавчера -позади -позвать -позволить -позволять -позвонить -поздний -поздороваться -поздравить -поздравлять -позиция -познавать -познакомиться -познать -позор -поинтересоваться -поймать -пойти -пока -показаться -показывать -показываться -покататься -покачать -поклониться -поклонник -поклонница -поколение -покрасить -покраснеть -покупатель -покупать -покупка -пол -полдень -поле -полезный -полёт -полететь -ползать -ползти -поливать -поликлиника -политехнический -политик -политика -политический -полить -полиция -полк -полка -полковник -полностью -полночь -полный -половина -положение -положительно -положительный -положить -полотенце -полтора -получать -получаться -получить -получиться -польза -пользоваться -полюбить -полюбоваться -полюс -помахать -поменять -поменяться -померить -помешать -помещение -помидор -помириться -помнить -помог -помогать -помолиться -помолодеть -помочь -помощь -помыть -помыться -понедельник -понемногу -понижаться -понизиться -понимание -понимать -понравиться -понравлюсь -понюхать -понятие -понятный -понять -попадать -попасть -поперёк -попить -поправить -поправиться -поправка -поправлять -поправляться -попробовать -попросить -попрощаться -попугай -популярный -попытаться -попытка -пора -поражать -поражение -поразить -по-разному -поранить -порвать -порваться -порезать -поровну -порт -портить -портиться -портрет -портфель -поругаться -порядок -порядочный -посадить -посвятить -посвящать -посередине -посетитель -посетить -посещать -посидеть -посинеть -поскольку -послать -после -последить -последний -послезавтра -пословица -послушать -послушно -послушный -посмотреть -посоветовать -посоветую -посол -посолить -посольство -посочувствовать -поспешить -поспорить -поссориться -поставить -постараться -постареть -постепенно -постирать -постоянный -постричься -построить -поступать -поступить -поступок -постучать -посуда -посылать -посылка -потемнеть -потенциальный -потеплеть -потереть -поток -потолок -потом -потомок -потому -потратить -потребитель -потребительский -потребность -потребовать -потребоваться -потребую -потрогать -потрясать -потрясающий -потушить -потянуть -поужинать -похвалить -похвастать -похвастаться -поход -походка -похож -похолодание -похолодать -похоронить -похороны -похудеть -поцеловать -почему -почему-то -почерк -почернеть -почётный -починить -почистить -почта -почтальон -почти -почувствовать -пошёл -пошлина -пошутить -поэзия -поэма -поэт -поэтому -появиться -появляться -пояс -пра -пра- -прабабушка -прав -правда -правило -правильный -правительство -править -правнук -правнучка -право -правовой -православие -православный -правосудие -правый -правящий -прадед -прадедушка -праздник -праздновать -практика -практикант -практический -практичный -прачечная -превосходно -превосходный -превратить -превращать -пред -предавать -предатель -предать -предварительно -предварительный -предвидеть -предвыборный -предисловие -предлагать -предложение -предложить -предмет -предок -предполагать -предположение -предположить -предпочесть -предпочитать -предприимчивый -предприниматель -предприятие -предрассудок -председатель -предсказать -предсказывать -представитель -представить -представиться -представлять -представляться -предупредить -предупреждать -предупреждение -предусматривать -предусмотреть -предусмотрительно -предусмотрительный -предчувствовать -предшествовать -предъявить -предъявлять -предыдущий -преемник -прежде -президент -презрительно -презрительный -преимущество -прекрасный -прекратить -прекращать -премия -премьера -преобладать -преодолевать -преодолеть -преподаватель -преподавать -препятствие -препятствовать -преследовать -пресса -престижно -престижный -преступление -преступник -претендент -претендовать -при -прибавить -прибавлять -прибежать -приближаться -приблизительно -приблизительный -приблизиться -прибывать -прибыль -прибыть -приведу -привезти -привезу -привести -привет -приветливо -приветливый -приветствовать -привилегия -привлекательный -привлекать -привлечь -приводить -привозить -привыкать -привыкла -привыкнуть -привычка -привычно -привычный -пригласительный -пригласить -приглашать -приглашение -приговор -придумать -придумывать -приезд -приезжать -приезжий -приехать -призвание -призвать -признавать -признаваться -признак -признать -признаться -призывать -прийти -прийтись -приказ -приказать -приказывать -прикасаться -приключение -прикоснуться -прилетать -прилететь -пример -примерить -примерять -примета -примитивно -примитивный -приморский -принадлежать -принести -принимать -принцип -принципиально -принципиальный -принять -приобрела -приобрести -приобретать -припарковаться -природа -природный -прислать -присниться -присоединить -присоединиться -присоединять -присоединяться -приступать -приступить -присутствовать -присылать -приходить -приходиться -причесаться -причёска -причёсываться -причина -пришлось -приятель -приятельница -приятный -про -проанализировать -пробежать -пробка -проблема -пробыть -проведу -проверить -проверять -провести -проветривать -проветрить -провинциальный -провинция -проводить -проводник -провожать -прогноз -проголосовать -проголосую -программа -программист -прогресс -прогрессивный -прогулка -продавать -продавец -продадим -продать -продемонстрировать -продлевать -продлить -продовольственный -продолжать -продолжаться -продолжение -продолжительность -продолжительный -продолжить -продолжиться -продукты -продукция -продумать -продумывать -проезд -проездной -проезжать -проект -проехать -прожиточный -прожить -проза -прозвучать -прозрачный -проиграть -проигрывать -произведение -произвела -произвести -производить -производство -произнести -произносить -произношение -произойти -происходить -происшествие -пройду -пройти -прокомментировать -пролетать -пролететь -промокать -промокнуть -промолчать -промышленность -промышленный -пропадать -пропасть -проплывать -проплыть -пропуск -пропускать -пропустить -проработать -просить -прослушать -проснуться -проспать -проспект -простить -проститься -простой -просторный -простудиться -простыня -просыпаться -просьба -протест -протестовать -против -противоположный -противопоставить -противопоставлять -противоречие -профессионал -профессионально -профессиональный -профессия -профессор -прохладный -проходить -прохожий -процент -процесс -процитировать -прочитать -прочувствовать -прошедший -прошлогодний -прошлое -прошлый -прощать -прощаться -пруд -прыгать -прямой -прятать -психолог -психологический -психология -птица -публиковать -пугать -пугаться -пуговица -пункт -пунктуальный -пустой -пусть -путать -путеводитель -путешественник -путешествие -путешествовать -путь -пушистый -пчела -пылесос -пыль -пыльно -пыльный -пытаться -пьеса -пьяный -пятеро -пятка -пятнадцать -пятница -пятно -пятый -пять -пятьдесят -пятьсот -работа -работать -работоспособный -работу -рабочий -равнодушно -равнодушный -равноправие -равный -рад -ради -радикально -радикальный -радио -радиоволна -радовать -радоваться -радостно -радостный -радость -раз -разбивать -разбиваться -разбирать -разбираться -разбить -разбиться -разбогатеть -разбудить -разве -развестись -развивать -развиваться -развитие -развить -развиться -развлекательный -разводиться -разглядеть -разглядывать -разговаривать -разговор -разговориться -разговорчивый -разгораться -разгореться -раздавать -раздать -раздеваться -разделить -разделиться -раздеться -разливать -разлить -различный -разлюбить -разменивать -разменять -размер -разница -разнообразный -разносторонний -разноцветный -разный -разобрать -разобраться -разогревать -разогреть -разозлиться -разойтись -разорвать -разориться -разоряться -разочароваться -разочаровываться -разочаруюсь -разрезать -разрешать -разрешение -разрешить -разрушаться -разрушиться -рай -район -ракета -рана -раненый -ранний -рано -раньше -расизм -расист -расписание -расписаться -расписываться -распродажа -рассвет -рассердиться -рассержусь -рассеянно -рассеянный -рассказ -рассказать -рассказывать -расследовать -расслышать -рассматривать -рассмотреть -расставаться -расстаться -расстёгивать -расстегнуть -расстояние -расстраиваться -расстроиться -рассуждать -рассчитать -рассчитаться -рассчитывать -рассчитываться -рассыпать -рассыпаться -растение -растеряться -расти -расход -расходиться -расходы -расцвет -расчесать -расчёска -расчёсывать -расчётливый -расширить -расширять -рациональный -рвать -ре -реагировать -реализовать -реально -реальный -ребёнок -ребята -ревниво -ревнивый -ревновать -революция -регион -региональный -регистрация -регистрироваться -регулировать -регулярный -редактор -редкий -режиссёр -резать -резкий -резко -результат -река -реклама -рекламировать -рекомендация -рекомендовать -рекорд -ректор -религия -ремонт -ремонтировать -репертуар -репетировать -репетиция -репродукция -ресница -ресницы -республика -реставрировать -ресторан -референдум -реформа -реформировать -рецензия -рецепт -речку -речь -решать -решение -решительный -решить -рис -риск -рискнуть -рисковать -рисовать -рисунок -ритм -ровесник -ровный -родина -родственник -рождение -рождество -роза -розетка -розовый -роль -роман -романс -романтик -ромашка -российский -россиянин -россиянка -россиянок -рост -рот -рояль -рубашка -рубль -ругать -ругаться -рука -рукав -руководитель -руководить -рулет -руль -румяный -русский -русый -русь -ручей -ручка -рыба -рыбак -рыжий -рынок -рюкзак -рюмка -рябина -ряд -сад -садиться -сажать -салат -салфетка -салют -сам -самовар -самолёт -самолюбивый -самостоятельный -самый -санаторий -сантехник -сантиметр -сапоги -сарделька -сатирический -сахар -сахарница -сбегать -сбежать -сбербанк -сберечь -св -свадьба -сварить -свежий -свёкла -свёкор -свекровь -сверху -свет -светить -светофор -свидание -свидетель -свинина -свинья -свитер -свобода -свободный -свободолюбивый -свой -свойство -свою -связать -связывать -связь -святой -священник -сгореть -сдавать -сдаст -сдать -сдача -сделать -се -сеанс -себя -север -северный -сегодня -сегодняшний -седина -седой -седьмой -сейчас -секрет -секретарь -секретно -секретный -секс -сексуальный -селёдка -село -сельдь -сельский -семейный -семестр -семинар -семнадцать -семь -семьдесят -семьсот -семья -сенсация -сентиментальный -сентябрь -сердито -сердитый -сердиться -сердце -серебристый -серебристый, -серебро -серебряный -середина -сериал -серия -серый -серьёзный -сессия -сестра -сесть -сибирский -сибиряк -сибирячка -сигарета -сигнал -сигнализация -сидеть -сила -сильный -символ -симпатичный -симфония -синий -сиреневый -сирень -сирота -систематизировать -систематически -ситуация -сказать -сказка -скамейка -скандал -скатерть -сквер -сквозняк -сквозь -скептик -скидка -складывать -склероз -сковорода -сковородка -скользкий -скользко -сколько -скоро -скорость -скорый -скрипач -скрипка -скромный -скульптор -скульптура -скучать -скучный -слабеть -слабый -слава -славянский -сладкий -слева -следить -следовательно -следующий -слеза -слепнуть -слепой -слива -сливка -слишком -словарь -слово -сложить -сложный -сломать -сломаться -слон -служащий -служить -случай -случайно -случайный -случаться -случиться -слушать -слышать -смелость -смелый -смерть -сметана -смех -смешной -смеяться -смотреть -смочь -смысл -снаружи -сначала -снег -снимать -сниться -снова -снять -со -собака -собеседник -собирать -собор -собрание -собрать -собраться -собственник -собственность -собственный -событие -совершенствовать -совесть -совет -советовать -советоваться -советский -соврать -современник -современный -совсем -согласен -согласие -согласиться -согласно -соглашаться -соглашение -согреться -сода -содержание -соединить -соединять -сожаление -создавать -создать -создашь -сознание -созревать -созреть -сойдёшь -сойти -сок -сократить -сокращать -сокращение -солдат -солёный -солидарность -солить -солнечный -солнце -соловей -соль -сомневаться -сомнение -сон -сообща -сообщать -сообщение -сообщить -соответствовать -соотечественник -соотношение -сопоставить -сопоставлять -сопротивляться -сорвать -соревнование -сорить -сорок -сорт -сосед -соседний -сосиска -соскучиться -сослаться -сосна -сосредотачиваться -сосредоточиться -составить -составлять -состояние -состоять -состояться -сотовый -сотрудник -сотрудничать -сотрудничество -соус -сохнуть -социализм -социалистический -социальный -социолог -социология -сочный -сочувствие -сочувствовать -союзник -спагетти -спальный -спальня -спас -спасатель -спасать -спасаться -спасибо -спасти -спастись -спать -спектакль -спеть -специализироваться -специалист -специальность -специальный -специи -специфика -специя -спешить -спид -спина -спирт -список -спичка -спо -спокойный -спонсор -спор -спорить -спорт -спортивный -спортсмен -способ -способность -способный -споткнуться -спотыкаться -справа -справедливо -справедливый -справка -справочник -спрашивать -спросить -спрятать -спускаться -спуститься -спутник -сравнивать -сравнить -сразу -среда -среди -средний -средство -срок -срочно -срочный -срывать -ссориться -ссылаться -ста -стабильно -стабильный -ставить -ставлю -стадион -стадо -стакан -стальной -стандарт -стандартный -становиться -стану -станция -стараться -старик -старинный -старомодно -старомодный -старость -старт -старуха -старшеклассник -старшеклассница -старший -старый -статуя -стать -статья -стая -стекло -стеклянный -стена -стесняться -стиль -стимул -стипендия -стирать -стихи -стихийный -стихотворение -сто -стоимость -стоить -сток -стол -столб -столица -столовая -столько -стоматолог -сторона -стоять -страдать -страна -страница -странный -страстно -страстный -страх -страховка -страшный -стрелять -стремиться -стрижка -стричься -строгий -строитель -строительный -строительство -строить -стройка -стройный -строчка -структура -студент -стучать -стыдно -стюардесса -суббота -субъективно -субъективный -сувенир -суверенитет -суверенный -суд -судить -судьба -судья -сумасшедший -сумка -сумма -суп -супруг -сутки -сухой -сушить -сушка -существовать -сущий -суэцкий -сую -сформировать -сформироваться -сформулировать -сфотографировать -сфотографироваться -схема -сходить -сходство -сцена -счастливый -счастье -счёт -считать -считаться -сшить -съедим -съезд -съездить -съезжать -съехать -сыграть -сын -сыр -сыро -сырой -сытый -сэкономить -сэкономлю -сюда -сядешь -та -табак -таблетка -таблица -таз -тайга -тайна -тайно -тайный -так -так и -также -таким -такой -такси -таксист -тактично -тактичный -талант -талантливый -там -таможенник -таможня -танец -танк -танцевать -тапочки -таракан -тарелка -тащить -твёрдый -твой -творчество -театр -театральный -тезис -телевидение -телевизионный -телевизор -телеграмма -телеграф -телефон -тело -телохранитель -тельно -тельности -тема -темнеть -тёмный -темперамент -темпераментный -температура -тенденция -теннис -теннисист -тень -теоретический -теория -теперь -теплеть -теплоход -тёплый -терапевт -тереть -термометр -терпеливо -терпеливый -терпеть -территория -терроризм -террорист -террористический -терять -теряться -тесно -тесный -тест -тесто -тетрадь -тётя -техника -технический -течь -ти -тигр -типичный -тишина -ткань -то -товар -товарищ -тогда -тоже -толкать -толкнуть -толпа -толстый -только -тонкий -тоннель -тонуть -торговля -торжественно -торжественный -тормозить -торт -тост -тот -точка -точность -точный -тошнить -трава -травма -трагедия -трагически -трагический -традиционно -традиционный -традиция -трактор -трамвай -транспорт -транспортный -тратить -траур -требование -требовательно -требовательный -требовать -требоваться -тревожный -тренер -тренироваться -тренировка -треск -треска -третий -треть -трещина -три -тридцать -трижды -тринадцать -триста -трогать -трогаться -трое -тройка -троллейбус -тронуться -тротуар -труба -трубка -труд -трудиться -трудность -трудный -трудолюбивый -трус -трусливо -трусливый -трусы -тряпка -туалет -туда -туман -тумбочка -тупик -тупой -туризм -турист -туристический -туристский -тут -туфли -туча -тушить -тщательно -тщательный -ты -тыква -тысяча -тюльпан -тюрьма -тяжёлый -тянуть -убегать -убедительно -убедительный -убедить -убедиться -убежать -убеждать -убеждаться -убеждён -убеждённый -уберечь -убивать -убийство -убийца -убирать -убить -уборка -уборщица -убрать -уважаемый -уважать -уважение -увёз -увезти -увеличивать -увеличиваться -увеличить -уверенность -уверенный -увести -увидеть -увидеться -увлекательно -увлекательный -увлекаться -увлечение -увлечься -уводить -увозить -уволить -уволиться -увольнять -увольняться -угадать -угадывать -угнать -уговаривать -уговорить -угол -уголь -угонять -угостить -угощать -удаваться -удалить -удалять -удар -ударить -удариться -удаться -удача -удачливый -удачно -удачный -удивительный -удивиться -удивление -удивляться -удобный -удовлетворительно -удовлетворительный -удочка -уезжать -уехать -ужас -ужасный -уже -ужин -ужинать -узкий -узнавать -узнать -уйти -указатель -укладывать -укол -украсить -украсть -украшать -украшение -укрепить -укрепление -укреплять -уксус -укусить -улетать -улететь -улица -уложить -улучшать -улучшаться -улучшение -улучшить -улучшиться -улыбаться -улыбка -улыбнуться -ум -умение -уменьшаться -уменьшиться -умереть -умерла -уметь -умирать -умолять -умываться -умыться -унесёшь -унести -универмаг -универсальный -университет -университетский -унижать -унижение -унизить -уникальный -уничтожать -уничтожить -уносить -упаковать -упала -упасть -употребить -употреблять -употребляться -управление -управлять -упражнение -упрекать -упрекнуть -упростить -упрощать -упрямо -упрямый -ураган -урегулировать -урна -уровень -урожай -урок -усадьба -усиливаться -усилить -усилиться -ускорить -ускорять -условие -усложнить -усложнять -услуга -усовершенствовать -успевать -успеть -успех -успешный -успокаиваться -успокоиться -уставать -усталый -устанавливать -установить -устаревать -устареть -устать -устный -устраивать -устроить -уступать -уступить -усы -утверждать -утверждение -утка -утонуть -уточнение -уточнить -уточнять -утренний -утро -утром -утюг -ухаживать -ухо -уходить -ухудшать -ухудшаться -ухудшение -ухудшить -ухудшиться -участвовать -участие -участник -учёба -учебник -учебный -ученик -учёный -училище -учитель -учить -учиться -учреждение -уютный -фабрика -факс -факт -факультет -фальшиво -фальшивый -фамилия -фантастика -фарфор -фашизм -фашист -февраль -федеральный -федерация -фен -фермер -фестиваль -физик -физика -физический -филе -филиал -филолог -филологический -филология -философский -фильм -финансировать -финиш -фиолетовый -фирма -фирменный -флаг -флот -фойе -фонарь -фонтан -фону -форма -формально -формальный -формирование -формировать -формироваться -формулировать -фотоаппарат -фотографировать -фотографироваться -фотографируюсь -фотография -фрагмент -фраза -француз -французский -французско-русский -фронт -фрукты -фундамент -функционировать -футбол -футболист -футболка -халат -характеризовать -характеристика -характерный -хвалить -хвастать -хватать -хватить -хвойный -хвост -химик -химический -химия -химчистка -хирург -хитро -хитрый -хлеб -хлопать -хлопнуть -хлопок -хобби -ходить -хозяин -хозяйство -хоккеист -хоккей -холл -холод -холодильник -холодный -хор -хоронить -хороший -хотеть -хотеться -хранить -христианин -христианка -христианок -христианство -хромать -хроника -худеть -художественный -художник -худой -хулиган -царь -цвести -цвет -цвета -цветной -цветы -целеустремлённо -целеустремлённый -целиком -целовать -целоваться -целый -цель -цена -ценить -цениться -ценный -центр -центральный -цепочка -церковь -цивилизация -цинично -циничный -цирк -цитата -цитировать -цифра -ция -цыплёнок -чай -чайник -частный -часто -часть -часы -чашка -чей -чек -человек -человечество -чем -чемодан -чемпион -чемпионат -чепуха -через -черешня -чернеть -чёрный -чёрствый -черта -чесаться -чеснок -честный -честолюбивый -четверг -четвёрка -четверо -четвёртый -четверть -чётный -четыре -четыреста -четырнадцать -чинить -чиновник -число -чистить -чистый -читальный -читатель -читать -чихать -чихнуть -чрезвычайно -чрезвычайный -чтение -что -чтобы -что-либо -чувство -чувствовать -чудесно -чудесный -чудо -чужой -чуткий -чутко -шаг -шагать -шампанский -шампанское -шампунь -шанс -шапка -шарф -шахматист -шахматы -шахтёр -шашка -шашки -шашлык -шёлк -шёлковый -шепнуть -шептать -шерсть -шестнадцать -шестой -шесть -шестьдесят -шестьсот -шея -ширина -широкий -шить -шкаф -школа -школьник -шляпа -шок -шоколадный -шорты -шоссе -шофёр -штора -шторм -шторы -штраф -штука -шу -шуба -шум -шуметь -шумный -шутить -шутка -щедро -щедрый -щека -щенок -щётка -щи -эвакуировать -эгоист -экзамен -экологический -экология -экономика -экономист -экономить -экономический -экономно -экономный -экскурсия -экскурсовод -экспедиция -эксперимент -эксперт -эксплуатировать -экспорт -экспресс -элегантно -элегантный -электричество -электричка -элемент -элементарный -элита -эмблема -эмигрант -эмигрировать -эмоционально -эмоциональный -энергетический -энергичный -энергия -энциклопедия -эпидемия -эпоха -эрудированный -эскалатор -эстрада -этаж -этап -этикет -этикетка -этично -этичный -это -этот -эффективно -эффективный -эффектно -эффектный -юбилей -юбка -ювелирный -юг -южный -юмор -юмористический -юность -юноша -юридический -юрист -яблоко -яв -явление -являться -ягода -яд -ядерный -язык -яичница -яичный -якобы -яма -январь -яркий -ярмарка -ясный diff --git a/old_version/language_data/phrases.json b/old_version/language_data/phrases.json deleted file mode 100644 index 6b039a288632f045a844be4b5cf14f0e123bb2f6..0000000000000000000000000000000000000000 --- a/old_version/language_data/phrases.json +++ /dev/null @@ -1,27974 +0,0 @@ -{ - "PHRASES": [ - "a_NOUN_y_NOUN", - "a_NOUN_а_NOUN", - "a_X_la_X", - "by_X_god_X", - "de_X_la_X", - "image_X_l_X", - "in_X_the_X", - "m_PROPN_lle_PROPN", - "m_PROPN_lle_X", - "m_X_lle_PROPN", - "m_X_lle_X", - "m_X_me_X", - "madame_X_sept_X", - "madame_X_роже_PROPN", - "monsieur_PROPN_диро_PROPN", - "monsieur_X_диро_PROPN", - "monsieur_X_шарль_PROPN", - "ocr_PROPN_spell_X", - "ocr_PROPN_spellcheck_X", - "ocr_PROPN_палек_PROPN", - "of_X_the_X", - "senor_X_caballero_X", - "spell_X_check_X", - "tante_X_lise_X", - "the_X_tsar_X", - "to_X_the_X", - "v_ADJ_век_NOUN", - "vi_ADJ_век_NOUN", - "x_ADJ_век_NOUN", - "x_NOUN_x_SYM", - "xi_ADJ_век_NOUN", - "xii_ADJ_век_NOUN", - "xiii_ADJ_век_NOUN", - "xiv_ADJ_век_NOUN", - "xix_ADJ_век_NOUN", - "xv_ADJ_век_NOUN", - "xv_ADJ_ти_PROPN", - "xvi_ADJ_век_NOUN", - "xvii_ADJ_век_NOUN", - "xviii_ADJ_век_NOUN", - "xx_ADJ_век_NOUN", - "xxi_ADJ_век_NOUN", - "y_ADP_нас_PRON", - "y_ADP_него_PRON", - "y_ADP_нее_PRON", - "y_ADP_неё_PRON", - "y_NOUN_неё_PRON", - "y_NOUN_тебя_PRON", - "а_INTJ_а_NOUN", - "а_INTJ_а_PROPN", - "а_NOUN_а_INTJ", - "а_NOUN_а_NOUN", - "а_NOUN_а_PROPN", - "а_NOUN_ак_NOUN", - "а_PROPN_а_NOUN", - "а_PROPN_а_PROPN", - "а_PROPN_протянуть_VERB", - "абдул_PROPN_азис_PROPN", - "абдул_PROPN_махмет_PROPN", - "абдул_PROPN_махмета_PROPN", - "абель_PROPN_беллами_PROPN", - "абл_PROPN_эддин_PROPN", - "абсолютно_ADV_здоровый_ADJ", - "абсолютно_ADV_правый_ADJ", - "абсолютно_ADV_пустой_ADJ", - "абсолютно_ADV_спокойный_ADJ", - "абсолютно_ADV_уверенный_ADJ", - "абсолютный_ADJ_темнота_NOUN", - "абсолютный_ADJ_тишина_NOUN", - "август_NOUN_год_NOUN", - "августовский_ADJ_день_NOUN", - "авдей_PROPN_семёнович_PROPN", - "авдотья_PROPN_василиевич_PROPN", - "авдотья_PROPN_степанович_PROPN", - "аверьян_PROPN_гаврилович_PROPN", - "авраам_PROPN_линкольн_PROPN", - "аврора_PROPN_василиевич_PROPN", - "автобусный_ADJ_остановка_NOUN", - "автомат_NOUN_калашников_PROPN", - "автоматический_ADJ_пистолет_NOUN", - "автоматный_ADJ_очередь_NOUN", - "автомобильный_ADJ_гудок_NOUN", - "автомобильный_ADJ_катастрофа_NOUN", - "автомобильный_ADJ_фара_NOUN", - "автомобильный_ADJ_шина_NOUN", - "авторитетно_ADV_заявить_VERB", - "ага_PROPN_керим_PROPN", - "ага_PROPN_кивнуть_VERB", - "ага_PROPN_подтвердить_VERB", - "ага_PROPN_попасться_VERB", - "ага_PROPN_согласиться_VERB", - "агафья_PROPN_матвеевич_PROPN", - "агент_NOUN_полиция_NOUN", - "аглаида_PROPN_василиевич_PROPN", - "агнеса_PROPN_петрович_PROPN", - "агния_PROPN_львович_PROPN", - "агния_PROPN_петрович_PROPN", - "агриппина_PROPN_фёдорович_PROPN", - "аделин_PROPN_барберини_PROPN", - "адмирал_NOUN_жерминэ_PROPN", - "адмирал_NOUN_нахимов_PROPN", - "адмиральский_ADJ_корабль_NOUN", - "адольф_PROPN_иванович_PROPN", - "адресный_ADJ_стол_NOUN", - "адриан_PROPN_адрианович_PROPN", - "адриатический_ADJ_море_NOUN", - "адский_ADJ_машина_NOUN", - "адский_ADJ_огонь_NOUN", - "адский_ADJ_пламя_NOUN", - "адский_ADJ_шум_NOUN", - "аж_PART_подпрыгнуть_VERB", - "азартный_ADJ_игра_NOUN", - "азбука_NOUN_морзе_PROPN", - "азовский_ADJ_море_NOUN", - "азорский_ADJ_остров_NOUN", - "азотный_ADJ_кислота_NOUN", - "ай_INTJ_ай_INTJ", - "ай_NOUN_ай_PROPN", - "ай_NOUN_яй_PROPN", - "ай_PART_да_CCONJ", - "ай_PART_да_PART", - "ай_PROPN_ай_INTJ", - "ай_PROPN_ай_PROPN", - "ай_PROPN_да_PART", - "ай_PROPN_яй_PROPN", - "ак_PROPN_бозат_PROPN", - "академик_NOUN_андрюхин_PROPN", - "академик_NOUN_никольский_PROPN", - "академия_NOUN_наука_NOUN", - "академия_PROPN_наука_NOUN", - "академия_PROPN_художество_NOUN", - "акварельный_ADJ_краска_NOUN", - "аким_PROPN_макарыч_PROPN", - "аккуратно_ADV_завернуть_VERB", - "аккуратно_ADV_подстричь_VERB", - "аккуратно_ADV_положить_VERB", - "аккуратно_ADV_разложить_VERB", - "аккуратно_ADV_свернуть_VERB", - "аккуратно_ADV_складывать_VERB", - "аккуратно_ADV_сложить_VERB", - "аккуратно_ADV_уложить_VERB", - "акса_PROPN_гуам_PROPN", - "аксинья_PROPN_иванович_PROPN", - "аксинья_PROPN_потапович_PROPN", - "активный_ADJ_действие_NOUN", - "активный_ADJ_участие_NOUN", - "актовый_ADJ_зал_NOUN", - "акулина_PROPN_иванович_PROPN", - "акулина_PROPN_кондратиевич_PROPN", - "акционерный_ADJ_общество_NOUN", - "алевтина_PROPN_борисович_PROPN", - "алевтина_PROPN_илларионович_PROPN", - "алевтина_PROPN_сергеевич_PROPN", - "алевтина_PROPN_фёдорович_PROPN", - "алек_PROPN_хорвадзе_PROPN", - "александр_PROPN_i_ADJ", - "александр_PROPN_ii_ADJ", - "александр_PROPN_iii_ADJ", - "александр_PROPN_александрович_PROPN", - "александр_PROPN_андреевич_PROPN", - "александр_PROPN_борисович_PROPN", - "александр_PROPN_василиевич_PROPN", - "александр_PROPN_венедиктович_PROPN", - "александр_PROPN_дмитриевич_PROPN", - "александр_PROPN_евгениевич_PROPN", - "александр_PROPN_иванович_PROPN", - "александр_PROPN_львович_PROPN", - "александр_PROPN_македонский_PROPN", - "александр_PROPN_маркелович_PROPN", - "александр_PROPN_невский_ADJ", - "александр_PROPN_невский_PROPN", - "александр_PROPN_николаевич_PROPN", - "александр_PROPN_павлович_PROPN", - "александр_PROPN_петрович_PROPN", - "александр_PROPN_семёнович_PROPN", - "александр_PROPN_сергеевич_PROPN", - "александр_PROPN_степанович_PROPN", - "александр_PROPN_уткин_PROPN", - "александр_PROPN_фёдорович_PROPN", - "александр_PROPN_яковлевич_PROPN", - "александра_PROPN_александрович_PROPN", - "александра_PROPN_георгиевич_PROPN", - "александра_PROPN_евгениевич_PROPN", - "александра_PROPN_иванович_PROPN", - "александра_PROPN_николаевич_PROPN", - "александра_PROPN_павлович_PROPN", - "александра_PROPN_петрович_PROPN", - "александра_PROPN_сергеевич_PROPN", - "александра_PROPN_юриевич_PROPN", - "александровский_ADJ_сад_NOUN", - "алексей_PROPN_алексеевич_PROPN", - "алексей_PROPN_борисович_PROPN", - "алексей_PROPN_георгиевич_PROPN", - "алексей_PROPN_дмитриевич_PROPN", - "алексей_PROPN_ерофеевич_PROPN", - "алексей_PROPN_иванович_PROPN", - "алексей_PROPN_максимович_PROPN", - "алексей_PROPN_михаилович_PROPN", - "алексей_PROPN_николаевич_PROPN", - "алексей_PROPN_петрович_PROPN", - "алексей_PROPN_саввович_PROPN", - "алексей_PROPN_сергеевич_PROPN", - "алексей_PROPN_степаныч_PROPN", - "алексей_PROPN_степаныча_PROPN", - "алексей_PROPN_толстой_PROPN", - "аленький_ADJ_цветочек_NOUN", - "алеутский_ADJ_остров_NOUN", - "али_PROPN_меджид_PROPN", - "алина_PROPN_михаевна_PROPN", - "алиса_PROPN_селезнёв_PROPN", - "алла_PROPN_борисович_PROPN", - "алла_PROPN_сергеевич_PROPN", - "аллея_NOUN_вести_VERB", - "аллея_NOUN_парк_NOUN", - "аллея_NOUN_сад_NOUN", - "алмазный_ADJ_россыпь_NOUN", - "алый_ADJ_губа_NOUN", - "алый_ADJ_кровь_NOUN", - "алый_ADJ_лента_NOUN", - "алый_ADJ_парус_NOUN", - "алый_ADJ_роза_NOUN", - "алый_ADJ_цвет_NOUN", - "аль_PART_багум_PROPN", - "аль_PROPN_багум_PROPN", - "альберт_PROPN_поликарпович_PROPN", - "алюминиевый_ADJ_миска_NOUN", - "алёша_PROPN_попович_PROPN", - "амбарный_ADJ_замок_NOUN", - "американский_ADJ_армия_NOUN", - "американский_ADJ_войско_NOUN", - "американский_ADJ_газета_NOUN", - "американский_ADJ_индеец_NOUN", - "американский_ADJ_континент_NOUN", - "американский_ADJ_материк_NOUN", - "американский_ADJ_правительство_NOUN", - "американский_ADJ_солдат_NOUN", - "американский_ADJ_учёный_NOUN", - "американский_ADJ_фильм_NOUN", - "американский_ADJ_флаг_NOUN", - "американский_ADJ_флот_NOUN", - "америкэн_PROPN_бой_NOUN", - "амос_PROPN_грин_PROPN", - "ан_PROPN_нет_VERB", - "анализ_NOUN_кровь_NOUN", - "анастасия_PROPN_андреевич_PROPN", - "анастасия_PROPN_арсениевич_PROPN", - "анастасия_PROPN_владимирович_PROPN", - "анастасия_PROPN_георгиевич_PROPN", - "анастасия_PROPN_иванович_PROPN", - "анастасия_PROPN_львович_PROPN", - "анастасия_PROPN_фёдорович_PROPN", - "анатолий_PROPN_алексеевич_PROPN", - "анатолий_PROPN_борисович_PROPN", - "анатолий_PROPN_георгиевич_PROPN", - "анатолий_PROPN_дмитриевич_PROPN", - "анатолий_PROPN_евгениевич_PROPN", - "анатолий_PROPN_петрович_PROPN", - "анатолий_PROPN_степанович_PROPN", - "анатолий_PROPN_яковлевич_PROPN", - "ангел_NOUN_небесный_ADJ", - "ангел_NOUN_тьмы_PROPN", - "ангел_NOUN_хранитель_NOUN", - "ангелина_PROPN_алексеевич_PROPN", - "английский_ADJ_булавка_NOUN", - "английский_ADJ_войско_NOUN", - "английский_ADJ_замок_NOUN", - "английский_ADJ_клуб_NOUN", - "английский_ADJ_колония_NOUN", - "английский_ADJ_консул_NOUN", - "английский_ADJ_королева_NOUN", - "английский_ADJ_король_NOUN", - "английский_ADJ_крейсер_NOUN", - "английский_ADJ_лорд_NOUN", - "английский_ADJ_офицер_NOUN", - "английский_ADJ_писатель_NOUN", - "английский_ADJ_посольство_NOUN", - "английский_ADJ_правительство_NOUN", - "английский_ADJ_флаг_NOUN", - "английский_ADJ_флот_NOUN", - "английский_ADJ_эскадра_NOUN", - "английский_ADJ_язык_NOUN", - "англия_PROPN_франция_PROPN", - "англо_ADJ_американский_ADJ", - "анджело_PROPN_пароли_PROPN", - "андрей_PROPN_андреевич_PROPN", - "андрей_PROPN_аркадиевич_PROPN", - "андрей_PROPN_борисович_PROPN", - "андрей_PROPN_василиевич_PROPN", - "андрей_PROPN_викентиевич_PROPN", - "андрей_PROPN_гаврилович_PROPN", - "андрей_PROPN_григориевич_PROPN", - "андрей_PROPN_иванович_PROPN", - "андрей_PROPN_карлович_PROPN", - "андрей_PROPN_кузьмич_PROPN", - "андрей_PROPN_михаилович_PROPN", - "андрей_PROPN_никитович_PROPN", - "андрей_PROPN_рублёв_PROPN", - "андрей_PROPN_станиславович_PROPN", - "анекдот_NOUN_про_ADP", - "анжель_PROPN_бернье_PROPN", - "анисим_PROPN_лукьянович_PROPN", - "анна_PROPN_австрийская_PROPN", - "анна_PROPN_австрийской_PROPN", - "анна_PROPN_алексеевич_PROPN", - "анна_PROPN_андреевич_PROPN", - "анна_PROPN_антонович_PROPN", - "анна_PROPN_аркадиевич_PROPN", - "анна_PROPN_борисович_PROPN", - "анна_PROPN_вадимович_PROPN", - "анна_PROPN_василиевич_PROPN", - "анна_PROPN_викторович_PROPN", - "анна_PROPN_гаврилович_PROPN", - "анна_PROPN_георгиевич_PROPN", - "анна_PROPN_григориевич_PROPN", - "анна_PROPN_дмитриевич_PROPN", - "анна_PROPN_захарович_PROPN", - "анна_PROPN_иванович_PROPN", - "анна_PROPN_игнатиевич_PROPN", - "анна_PROPN_ильич_PROPN", - "анна_PROPN_иоаннович_PROPN", - "анна_PROPN_иосифович_PROPN", - "анна_PROPN_каренин_PROPN", - "анна_PROPN_карлович_PROPN", - "анна_PROPN_константинович_PROPN", - "анна_PROPN_кузьмич_PROPN", - "анна_PROPN_леопольдович_PROPN", - "анна_PROPN_львович_PROPN", - "анна_PROPN_мария_PROPN", - "анна_PROPN_мартынович_PROPN", - "анна_PROPN_матвеевич_PROPN", - "анна_PROPN_михаилович_PROPN", - "анна_PROPN_михеевич_PROPN", - "анна_PROPN_николаевич_PROPN", - "анна_PROPN_павлович_PROPN", - "анна_PROPN_петрович_PROPN", - "анна_PROPN_робертович_PROPN", - "анна_PROPN_семёнович_PROPN", - "анна_PROPN_сен_PROPN", - "анна_PROPN_сергеевич_PROPN", - "анна_PROPN_степанович_PROPN", - "анна_PROPN_тимофеевич_PROPN", - "анна_PROPN_тихонович_PROPN", - "анна_PROPN_фордибрас_PROPN", - "анна_PROPN_фёдорович_PROPN", - "анне_PROPN_иванович_PROPN", - "анне_PROPN_лисбет_PROPN", - "анне_PROPN_матвеевич_PROPN", - "анне_PROPN_михаилович_PROPN", - "анне_PROPN_николаевич_PROPN", - "анонимный_ADJ_письмо_NOUN", - "анри_PROPN_де_PART", - "антикварный_ADJ_магазин_NOUN", - "антильский_ADJ_остров_NOUN", - "антон_PROPN_антонович_PROPN", - "антон_PROPN_бех_PROPN", - "антон_PROPN_кондратиевич_PROPN", - "антон_PROPN_моисеевич_PROPN", - "антон_PROPN_мыльченко_PROPN", - "антон_PROPN_петрович_PROPN", - "антон_PROPN_семёнович_PROPN", - "антон_PROPN_сергеевич_PROPN", - "антон_PROPN_яковлевич_PROPN", - "антоний_PROPN_иванович_PROPN", - "антонина_PROPN_андронович_PROPN", - "антонина_PROPN_василиевич_PROPN", - "антонина_PROPN_егорович_PROPN", - "антонина_PROPN_иванович_PROPN", - "антонина_PROPN_николаевич_PROPN", - "антонина_PROPN_павлович_PROPN", - "антонина_PROPN_петрович_PROPN", - "антонина_PROPN_степанович_PROPN", - "антонио_PROPN_престо_PROPN", - "антония_PROPN_верди_PROPN", - "антоша_PROPN_мыльченко_PROPN", - "антуанетта_PROPN_сент_PROPN", - "анфиса_PROPN_петрович_PROPN", - "анютины_NOUN_глазки_NOUN", - "аня_PROPN_малышев_PROPN", - "апельсиновый_ADJ_дерево_NOUN", - "апельсиновый_ADJ_сок_NOUN", - "аполлон_PROPN_августович_PROPN", - "аполлон_PROPN_аполлинариевич_PROPN", - "аполлон_PROPN_мухолов_PROPN", - "апоплексический_ADJ_удар_NOUN", - "апостол_NOUN_пётр_PROPN", - "аппетит_NOUN_есть_VERB", - "аппетит_NOUN_приняться_VERB", - "аппетитный_ADJ_запах_NOUN", - "апрель_NOUN_год_NOUN", - "арабский_ADJ_конь_NOUN", - "арабский_ADJ_сказка_NOUN", - "арабский_ADJ_язык_NOUN", - "арбузный_ADJ_корка_NOUN", - "арена_NOUN_цирк_NOUN", - "арендный_ADJ_плата_NOUN", - "ариадна_PROPN_оттобальдовна_PROPN", - "арина_PROPN_балованцева_PROPN", - "арифметический_ADJ_задача_NOUN", - "аркадий_PROPN_гайдар_PROPN", - "аркадий_PROPN_данилович_PROPN", - "аркадий_PROPN_иванович_PROPN", - "аркадий_PROPN_михаилович_PROPN", - "аркадий_PROPN_фролович_PROPN", - "арктический_ADJ_мост_NOUN", - "арман_PROPN_де_PART", - "аромат_NOUN_цвет_NOUN", - "арсен_PROPN_георгиевич_PROPN", - "арсен_PROPN_давидович_PROPN", - "арсене_PROPN_давидович_PROPN", - "арсений_PROPN_викторович_PROPN", - "арсений_PROPN_владимирович_PROPN", - "артиллерийский_ADJ_обстрел_NOUN", - "артиллерийский_ADJ_огонь_NOUN", - "артиллерийский_ADJ_орудие_NOUN", - "артиллерийский_ADJ_снаряд_NOUN", - "археологический_ADJ_раскопка_NOUN", - "археологический_ADJ_экспедиция_NOUN", - "аспидный_ADJ_доска_NOUN", - "астрономический_ADJ_наблюдение_NOUN", - "асфальтовый_ADJ_дорожка_NOUN", - "атаман_NOUN_разбойник_NOUN", - "атлантический_ADJ_океан_NOUN", - "атлетический_ADJ_сложение_NOUN", - "атмосфера_NOUN_венера_PROPN", - "атмосфера_NOUN_земля_PROPN", - "атмосферный_ADJ_давление_NOUN", - "атомный_ADJ_бомба_NOUN", - "атомный_ADJ_взрыв_NOUN", - "атомный_ADJ_энергия_NOUN", - "атомный_ADJ_ядро_NOUN", - "аттестат_NOUN_зрелость_NOUN", - "ать_VERB_два_NUM", - "аул_NOUN_бестуди_PROPN", - "афанасий_PROPN_викторович_PROPN", - "афанасий_PROPN_гаврилович_PROPN", - "афанасий_PROPN_иванович_PROPN", - "афанасий_PROPN_никитин_PROPN", - "афанасий_PROPN_семёнович_PROPN", - "афанасий_PROPN_сергеевич_PROPN", - "афина_PROPN_паллада_PROPN", - "афиноген_PROPN_егорович_PROPN", - "африканский_ADJ_берег_NOUN", - "ах_INTJ_ах_INTJ", - "ах_INTJ_батюшка_NOUN", - "ах_INTJ_бог_NOUN", - "ах_INTJ_господи_PROPN", - "ах_INTJ_чёрт_NOUN", - "ах_PART_ты_PRON", - "ах_PROPN_да_PART", - "ахмед_PROPN_бей_PROPN", - "ахмет_PROPN_зек_PROPN", - "ахметов_PROPN_старший_PROPN", - "ахти_VERB_какой_DET", - "б_NOUN_класс_NOUN", - "ба_INTJ_а_PROPN", - "баан_PROPN_ну_PART", - "баба_NOUN_вера_PROPN", - "баба_NOUN_дуня_PROPN", - "баба_NOUN_дуся_PROPN", - "баба_NOUN_жанна_PROPN", - "баба_NOUN_зина_PROPN", - "баба_NOUN_лиза_PROPN", - "баба_NOUN_маня_PROPN", - "баба_NOUN_марьяна_PROPN", - "баба_NOUN_надя_PROPN", - "баба_NOUN_нюра_PROPN", - "баба_NOUN_тина_PROPN", - "баба_NOUN_шура_PROPN", - "баба_NOUN_яга_NOUN", - "баба_NOUN_яга_PROPN", - "баба_PROPN_маня_PROPN", - "баба_PROPN_шура_PROPN", - "баба_PROPN_яга_PROPN", - "баба_PROPN_яги_PROPN", - "бабе_PROPN_яге_PROPN", - "бабий_ADJ_голос_NOUN", - "бабий_ADJ_лето_NOUN", - "бабка_NOUN_алёна_PROPN", - "бабка_NOUN_анфиса_PROPN", - "бабка_NOUN_пупырко_PROPN", - "бабу_PROPN_ягу_PROPN", - "бабушка_NOUN_агафья_PROPN", - "бабушка_NOUN_анастасия_PROPN", - "бабушка_NOUN_анфиса_PROPN", - "бабушка_NOUN_василиса_PROPN", - "бабушка_NOUN_димы_PROPN", - "бабушка_NOUN_дуня_PROPN", - "бабушка_NOUN_лежнева_PROPN", - "бабушка_NOUN_марфа_PROPN", - "бабушка_NOUN_настасья_PROPN", - "бабушка_NOUN_стина_PROPN", - "бабушка_NOUN_тася_PROPN", - "бабушка_NOUN_тафаро_PROPN", - "бабушка_NOUN_ульяна_PROPN", - "бабушка_NOUN_устинья_PROPN", - "бабушкин_ADJ_дом_NOUN", - "бабы_PROPN_яги_PROPN", - "багровый_ADJ_зарево_NOUN", - "багровый_ADJ_красный_ADJ", - "багровый_ADJ_пятно_NOUN", - "багровый_ADJ_свет_NOUN", - "база_NOUN_данных_NOUN", - "базарный_ADJ_день_NOUN", - "базарный_ADJ_площадь_NOUN", - "байковый_ADJ_одеяло_NOUN", - "балконный_ADJ_дверь_NOUN", - "балтийский_ADJ_море_NOUN", - "балцер_PROPN_зидек_PROPN", - "бальный_ADJ_зал_NOUN", - "бальный_ADJ_платье_NOUN", - "бальный_ADJ_танец_NOUN", - "бамбар_NOUN_биу_NOUN", - "бамбар_NOUN_биу_PROPN", - "бамбар_PROPN_биу_PROPN", - "бамбуковый_ADJ_палка_NOUN", - "банка_NOUN_консервов_NOUN", - "банкирский_ADJ_дом_NOUN", - "банковский_ADJ_билет_NOUN", - "банковый_ADJ_билет_NOUN", - "банный_ADJ_лист_NOUN", - "барабан_NOUN_бить_VERB", - "барабанить_VERB_палец_NOUN", - "барабанить_VERB_по_ADP", - "барабанный_ADJ_бой_NOUN", - "барабанный_ADJ_дробь_NOUN", - "барабанный_ADJ_перепонка_NOUN", - "бараний_ADJ_нога_NOUN", - "бараний_ADJ_рог_NOUN", - "бараний_ADJ_шапка_NOUN", - "бараний_ADJ_шкура_NOUN", - "барашковый_ADJ_шапка_NOUN", - "барбара_PROPN_хардинг_PROPN", - "баренцев_ADJ_море_NOUN", - "барон_NOUN_де_PART", - "барон_NOUN_фон_PART", - "барон_PROPN_де_PART", - "барон_PROPN_самди_PROPN", - "баронесса_NOUN_фон_PART", - "барский_ADJ_дом_NOUN", - "барский_ADJ_усадьба_NOUN", - "бархатный_ADJ_платье_NOUN", - "басистый_ADJ_голос_NOUN", - "басня_NOUN_крылов_PROPN", - "батенька_VERB_мой_DET", - "батюшка_NOUN_родимый_ADJ", - "батюшка_NOUN_царь_NOUN", - "бах_NOUN_бах_NOUN", - "башенный_ADJ_час_NOUN", - "бег_NOUN_броситься_VERB", - "бег_NOUN_направиться_VERB", - "бег_NOUN_пуститься_VERB", - "бегать_VERB_босиком_ADV", - "бегать_VERB_взад_ADV", - "бегать_VERB_вокруг_ADP", - "бегать_VERB_прыгать_VERB", - "беги_NOUN_скорее_ADV", - "беги_PROPN_бежать_VERB", - "беги_PROPN_скорый_ADV", - "беглый_ADJ_взгляд_NOUN", - "беглый_ADJ_каторжник_NOUN", - "беглый_ADJ_негр_NOUN", - "беглый_ADJ_огонь_NOUN", - "беглый_ADJ_осмотр_NOUN", - "беговой_ADJ_дорожка_NOUN", - "бегом_ADV_броситься_VERB", - "бегом_ADV_пуститься_VERB", - "беда_NOUN_то_NOUN", - "бедно_ADV_одеть_VERB", - "бедный_ADJ_бедный_ADJ", - "бедный_ADJ_вдова_NOUN", - "бедный_ADJ_дитя_NOUN", - "бедный_ADJ_животное_NOUN", - "бедный_ADJ_крошка_NOUN", - "бедный_ADJ_мальчуган_NOUN", - "бедный_ADJ_малютка_NOUN", - "бедный_ADJ_сирота_NOUN", - "бедный_ADJ_сиротка_NOUN", - "бедственный_ADJ_положение_NOUN", - "бежать_VERB_вприпрыжку_ADV", - "бежать_VERB_навстречу_ADV", - "бежать_VERB_следом_ADV", - "бежать_VERB_сломя_VERB", - "бежим_PROPN_скорее_ADV", - "без_ADP_боязнь_NOUN", - "без_ADP_ведомо_NOUN", - "без_ADP_весть_NOUN", - "без_ADP_видимый_ADJ", - "без_ADP_возражение_NOUN", - "без_ADP_всякий_DET", - "без_ADP_единый_ADJ", - "без_ADP_ехидство_NOUN", - "без_ADP_задержка_NOUN", - "без_ADP_зазрение_NOUN", - "без_ADP_запинка_NOUN", - "без_ADP_злорадство_NOUN", - "без_ADP_исключение_NOUN", - "без_ADP_колебание_NOUN", - "без_ADP_кров_NOUN", - "без_ADP_кровинка_NOUN", - "без_ADP_лишний_ADJ", - "без_ADP_надобность_NOUN", - "без_ADP_нужда_NOUN", - "без_ADP_обиняк_NOUN", - "без_ADP_обман_NOUN", - "без_ADP_оглядка_NOUN", - "без_ADP_опаска_NOUN", - "без_ADP_особый_ADJ", - "без_ADP_остановка_NOUN", - "без_ADP_паника_NOUN", - "без_ADP_передышка_NOUN", - "без_ADP_перерыв_NOUN", - "без_ADP_погон_NOUN", - "без_ADP_покаяние_NOUN", - "без_ADP_помеха_NOUN", - "без_ADP_посторонний_ADJ", - "без_ADP_пощада_NOUN", - "без_ADP_предварительный_ADJ", - "без_ADP_предисловие_NOUN", - "без_ADP_предупреждение_NOUN", - "без_ADP_преувеличение_NOUN", - "без_ADP_приглашение_NOUN", - "без_ADP_присмотр_NOUN", - "без_ADP_промах_NOUN", - "без_ADP_промедление_NOUN", - "без_ADP_пропуск_NOUN", - "без_ADP_разбор_NOUN", - "без_ADP_различие_NOUN", - "без_ADP_разрешение_NOUN", - "без_ADP_риск_NOUN", - "без_ADP_робость_NOUN", - "без_ADP_ропот_NOUN", - "без_ADP_седла_NOUN", - "без_ADP_сновидение_NOUN", - "без_ADP_содрогание_NOUN", - "без_ADP_сознание_NOUN", - "без_ADP_сомнение_NOUN", - "без_ADP_спрос_NOUN", - "без_ADP_спросу_NOUN", - "без_ADP_стеснение_NOUN", - "без_ADP_сучок_NOUN", - "без_ADP_толку_NOUN", - "без_ADP_труд_NOUN", - "без_ADP_удержу_NOUN", - "без_ADP_умолку_NOUN", - "без_ADP_умысел_NOUN", - "без_ADP_усталь_NOUN", - "без_ADP_утайка_NOUN", - "без_ADP_хвастовство_NOUN", - "без_ADP_церемония_NOUN", - "без_ADP_четверть_NOUN", - "без_ADP_штанов_NOUN", - "без_ADV_всякий_DET", - "безапелляционно_ADV_заявить_VERB", - "безбрежный_ADJ_море_NOUN", - "безбрежный_ADJ_океан_NOUN", - "безвозвратно_ADV_погибнуть_VERB", - "безвоздушный_ADJ_пространство_NOUN", - "безвыходный_ADJ_положение_NOUN", - "безграничный_ADJ_доверие_NOUN", - "безграничный_ADJ_любовь_NOUN", - "бездомный_ADJ_собака_NOUN", - "бездонный_ADJ_глубина_NOUN", - "бездонный_ADJ_пропасть_NOUN", - "бездыханный_ADJ_тело_NOUN", - "безжизненный_ADJ_тело_NOUN", - "беззаботный_ADJ_вид_NOUN", - "беззащитный_ADJ_женщина_NOUN", - "беззвучно_ADV_плакать_VERB", - "беззвучно_ADV_шевелить_VERB", - "беззвучно_ADV_шептать_VERB", - "беззвучный_ADJ_смех_NOUN", - "беззубый_ADJ_рот_NOUN", - "безлунный_ADJ_ночь_NOUN", - "безлюдный_ADJ_место_NOUN", - "безлюдный_ADJ_пространство_NOUN", - "безлюдный_ADJ_улица_NOUN", - "безмятежно_ADV_спать_VERB", - "безмятежный_ADJ_сон_NOUN", - "безнадежно_ADV_махнуть_VERB", - "безоблачный_ADJ_небо_NOUN", - "безопасный_ADJ_место_NOUN", - "безопасный_ADJ_расстояние_NOUN", - "безопасный_ADJ_убежище_NOUN", - "безответный_ADJ_любовь_NOUN", - "безотчётный_ADJ_страх_NOUN", - "безошибочно_ADV_определить_VERB", - "безразличный_ADJ_вид_NOUN", - "безразличный_ADJ_тон_NOUN", - "безударный_ADJ_гласный_ADJ", - "безумно_ADV_любить_VERB", - "безумно_ADV_хотеться_VERB", - "безумный_ADJ_желание_NOUN", - "безумный_ADJ_надежда_NOUN", - "безумный_ADJ_поступок_NOUN", - "безумный_ADJ_радость_NOUN", - "безуспешно_ADV_пытаться_VERB", - "безучастно_ADV_смотреть_VERB", - "безымянный_ADJ_палец_NOUN", - "безысходный_ADJ_тоска_NOUN", - "бек_PROPN_израил_PROPN", - "бел_NOUN_свет_NOUN", - "белеть_VERB_парус_NOUN", - "бело_ADJ_голубой_ADJ", - "бело_ADJ_розовый_ADJ", - "бело_ADJ_синий_ADJ", - "белозубый_ADJ_улыбка_NOUN", - "белокурый_ADJ_волос_NOUN", - "белокурый_ADJ_головка_NOUN", - "белокурый_ADJ_девочка_NOUN", - "белокурый_ADJ_локон_NOUN", - "белорусский_ADJ_вокзал_NOUN", - "белый_ADJ_атласный_ADJ", - "белый_ADJ_балахон_NOUN", - "белый_ADJ_бант_NOUN", - "белый_ADJ_барашек_NOUN", - "белый_ADJ_бизон_PROPN", - "белый_ADJ_блузка_NOUN", - "белый_ADJ_борода_PROPN", - "белый_ADJ_ворона_NOUN", - "белый_ADJ_воротничок_NOUN", - "белый_ADJ_газель_PROPN", - "белый_ADJ_голубка_NOUN", - "белый_ADJ_горошек_NOUN", - "белый_ADJ_горячка_NOUN", - "белый_ADJ_гребешок_NOUN", - "белый_ADJ_гриб_NOUN", - "белый_ADJ_гусь_NOUN", - "белый_ADJ_жилет_NOUN", - "белый_ADJ_каление_NOUN", - "белый_ADJ_кисейный_ADJ", - "белый_ADJ_китель_NOUN", - "белый_ADJ_клык_NOUN", - "белый_ADJ_клык_PROPN", - "белый_ADJ_клыка_PROPN", - "белый_ADJ_колпак_NOUN", - "белый_ADJ_косынка_NOUN", - "белый_ADJ_кофточка_NOUN", - "белый_ADJ_кролик_NOUN", - "белый_ADJ_кружевной_ADJ", - "белый_ADJ_куропатка_NOUN", - "белый_ADJ_куропатка_PROPN", - "белый_ADJ_лебедь_NOUN", - "белый_ADJ_лилия_NOUN", - "белый_ADJ_магия_NOUN", - "белый_ADJ_майка_NOUN", - "белый_ADJ_медведь_NOUN", - "белый_ADJ_мрамор_NOUN", - "белый_ADJ_мраморный_ADJ", - "белый_ADJ_облако_NOUN", - "белый_ADJ_облачко_NOUN", - "белый_ADJ_одеяние_NOUN", - "белый_ADJ_пар_NOUN", - "белый_ADJ_пелена_NOUN", - "белый_ADJ_пена_NOUN", - "белый_ADJ_передник_NOUN", - "белый_ADJ_перчатка_NOUN", - "белый_ADJ_пират_PROPN", - "белый_ADJ_платочек_NOUN", - "белый_ADJ_платье_NOUN", - "белый_ADJ_платьице_NOUN", - "белый_ADJ_полоска_NOUN", - "белый_ADJ_полотняный_ADJ", - "белый_ADJ_полянин_PROPN", - "белый_ADJ_порошок_NOUN", - "белый_ADJ_простыня_NOUN", - "белый_ADJ_пушистый_ADJ", - "белый_ADJ_пятно_NOUN", - "белый_ADJ_пятнышко_NOUN", - "белый_ADJ_раса_NOUN", - "белый_ADJ_реалист_PROPN", - "белый_ADJ_роза_NOUN", - "белый_ADJ_рубаха_NOUN", - "белый_ADJ_рубашка_NOUN", - "белый_ADJ_рука_PROPN", - "белый_ADJ_саван_NOUN", - "белый_ADJ_скатерть_NOUN", - "белый_ADJ_туника_NOUN", - "белый_ADJ_туфелька_NOUN", - "белый_ADJ_фартук_NOUN", - "белый_ADJ_флаг_NOUN", - "белый_ADJ_футболка_NOUN", - "белый_ADJ_халат_NOUN", - "белый_ADJ_хлопья_NOUN", - "белый_ADJ_чалма_NOUN", - "белый_ADJ_шапочка_NOUN", - "белый_ADJ_шарик_NOUN", - "белый_ADJ_шубка_NOUN", - "белый_ADJ_шёлковый_ADJ", - "бельевой_ADJ_верёвка_NOUN", - "беляев_PROPN_старший_PROPN", - "бен_PROPN_аморали_PROPN", - "бен_PROPN_брас_PROPN", - "бен_PROPN_гунн_PROPN", - "бен_PROPN_джойс_PROPN", - "бен_PROPN_жоеля_PROPN", - "бен_PROPN_жоэль_PROPN", - "бен_PROPN_раддль_PROPN", - "бен_PROPN_раддля_PROPN", - "бенгальский_ADJ_огонь_NOUN", - "бенито_PROPN_рамирес_PROPN", - "берег_NOUN_австралия_PROPN", - "берег_NOUN_африка_PROPN", - "берег_NOUN_волга_PROPN", - "берег_NOUN_залив_NOUN", - "берег_NOUN_нева_PROPN", - "берег_NOUN_нил_PROPN", - "берег_NOUN_озеро_NOUN", - "берег_NOUN_пруд_NOUN", - "берег_NOUN_рейн_PROPN", - "берег_NOUN_река_NOUN", - "берег_NOUN_речка_NOUN", - "берег_NOUN_рио_PROPN", - "берег_NOUN_ручей_NOUN", - "берег_NOUN_сена_PROPN", - "берег_NOUN_средиземный_ADJ", - "береги_NOUN_себя_PRON", - "береговой_ADJ_батарея_NOUN", - "береговой_ADJ_брат_NOUN", - "береговой_ADJ_линия_NOUN", - "береговой_ADJ_полоса_NOUN", - "береговой_ADJ_скала_NOUN", - "береговой_ADJ_утёс_NOUN", - "бережно_ADV_держать_VERB", - "бережно_ADV_завернуть_VERB", - "бережно_ADV_нести_VERB", - "бережно_ADV_опустить_VERB", - "бережно_ADV_поддерживать_VERB", - "бережно_ADV_положить_VERB", - "бережно_ADV_сложить_VERB", - "бережно_ADV_уложить_VERB", - "бережно_ADV_хранить_VERB", - "бери_PROPN_брать_VERB", - "берингов_ADJ_пролив_NOUN", - "берись_VERB_за_ADP", - "берцовый_ADJ_кость_NOUN", - "берёзовый_ADJ_веник_NOUN", - "берёзовый_ADJ_ветка_NOUN", - "берёзовый_ADJ_книга_NOUN", - "берёзовый_ADJ_кора_NOUN", - "берёзовый_ADJ_лист_NOUN", - "берёзовый_ADJ_роща_NOUN", - "берёзовый_ADJ_сок_NOUN", - "берёзовый_ADJ_ствол_NOUN", - "бесконечно_ADV_благодарный_ADJ", - "бесконечно_ADV_далёкий_ADJ", - "бесконечно_ADV_длинный_ADJ", - "бесконечно_ADV_долгий_ADJ", - "бесконечно_ADV_долго_ADV", - "бесконечно_ADV_дорогой_ADJ", - "бесконечно_ADV_жаль_ADV", - "бесконечно_ADV_малый_ADJ", - "бесконечно_ADV_рад_ADJ", - "бесконечно_ADV_счастливый_ADJ", - "бесконечный_ADJ_вереница_NOUN", - "бесконечный_ADJ_количество_NOUN", - "бесконечный_ADJ_множество_NOUN", - "бесконечный_ADJ_пространство_NOUN", - "бесконечный_ADJ_ряд_NOUN", - "бесконечный_ADJ_число_NOUN", - "бескровный_ADJ_губа_NOUN", - "беспечно_ADV_махнуть_VERB", - "беспечно_ADV_ответить_VERB", - "беспечный_ADJ_вид_NOUN", - "бесплодный_ADJ_поиск_NOUN", - "бесплодный_ADJ_попытка_NOUN", - "беспокоиться_VERB_обо_ADP", - "беспокойно_ADV_бегать_VERB", - "беспокойно_ADV_заёрзать_VERB", - "беспокойно_ADV_оглядываться_VERB", - "беспокойный_ADJ_взгляд_NOUN", - "беспокойный_ADJ_мысль_NOUN", - "беспокойный_ADJ_сон_NOUN", - "беспокойство_NOUN_которое_PRON", - "беспомощно_ADV_оглянуться_VERB", - "беспомощно_ADV_повиснуть_VERB", - "беспомощно_ADV_развести_VERB", - "беспорядочный_ADJ_толпа_NOUN", - "беспощадный_ADJ_борьба_NOUN", - "беспощадный_ADJ_враг_NOUN", - "беспрекословно_ADV_повиноваться_VERB", - "беспрекословно_ADV_подчиняться_VERB", - "беспроволочный_ADJ_телеграф_NOUN", - "бессвязный_ADJ_слово_NOUN", - "бессильно_ADV_опустить_VERB", - "бессильно_ADV_опуститься_VERB", - "бессильно_ADV_повиснуть_VERB", - "бессильно_ADV_упасть_VERB", - "бессильный_ADJ_бешенство_NOUN", - "бессильный_ADJ_гнев_NOUN", - "бессильный_ADJ_злоба_NOUN", - "бессильный_ADJ_против_ADP", - "бессильный_ADJ_ярость_NOUN", - "бесследно_ADV_исчезать_VERB", - "бесследно_ADV_исчезнуть_VERB", - "бессмертный_ADJ_бог_NOUN", - "бессмертный_ADJ_душа_NOUN", - "бессмысленно_ADV_смотреть_VERB", - "бессознательный_ADJ_состояние_NOUN", - "бессонный_ADJ_ночь_NOUN", - "бесстрастный_ADJ_голос_NOUN", - "бесстрастный_ADJ_лицо_NOUN", - "бесформенный_ADJ_масса_NOUN", - "бесцветный_ADJ_глаз_NOUN", - "бесцветный_ADJ_голос_NOUN", - "бесцветный_ADJ_жидкость_NOUN", - "бесцельно_ADV_бродить_VERB", - "бесценный_ADJ_сокровище_NOUN", - "бесчестный_ADJ_поступок_NOUN", - "бесчисленный_ADJ_количество_NOUN", - "бесчисленный_ADJ_множество_NOUN", - "бесчувственный_ADJ_состояние_NOUN", - "бесчувственный_ADJ_тело_NOUN", - "бесшумно_ADV_двигаться_VERB", - "бесшумно_ADV_отвориться_VERB", - "бесшумно_ADV_открыться_VERB", - "бесшумно_ADV_скользить_VERB", - "бесшумно_ADV_скользнуть_VERB", - "бесшумно_ADV_ступать_VERB", - "бетонный_ADJ_блок_NOUN", - "бетонный_ADJ_забор_NOUN", - "бетонный_ADJ_плита_NOUN", - "бетонный_ADJ_пол_NOUN", - "бетонный_ADJ_стена_NOUN", - "бешеный_ADJ_галоп_NOUN", - "бешеный_ADJ_деньга_NOUN", - "бешеный_ADJ_крик_NOUN", - "бешеный_ADJ_пляска_NOUN", - "бешеный_ADJ_скачка_NOUN", - "бешеный_ADJ_скорость_NOUN", - "бешеный_ADJ_собака_NOUN", - "бешеный_ADJ_ярость_NOUN", - "би_PROPN_би_PROPN", - "биение_NOUN_сердце_NOUN", - "бизань_NOUN_мачта_NOUN", - "бизоний_ADJ_шкура_NOUN", - "билет_NOUN_купить_VERB", - "билетный_ADJ_касса_NOUN", - "билли_PROPN_байрн_PROPN", - "билли_PROPN_кэрби_PROPN", - "билль_PROPN_стелль_PROPN", - "бильярдный_ADJ_шар_NOUN", - "биологический_ADJ_кабинет_NOUN", - "биржа_NOUN_труд_NOUN", - "бискайский_ADJ_залив_NOUN", - "битком_ADJ_набить_VERB", - "биток_NOUN_набить_VERB", - "битый_ADJ_кирпич_NOUN", - "битый_ADJ_стекло_NOUN", - "битый_ADJ_час_NOUN", - "бить_VERB_барабан_NOUN", - "бить_VERB_дрожь_NOUN", - "бить_VERB_копыто_NOUN", - "бить_VERB_копытом_NOUN", - "бить_VERB_лихорадка_NOUN", - "бить_VERB_озноб_NOUN", - "бить_VERB_тревога_NOUN", - "бить_VERB_фашист_NOUN", - "бить_VERB_фонтан_NOUN", - "биться_VERB_биться_VERB", - "биться_VERB_сердце_NOUN", - "бичер_PROPN_стоу_PROPN", - "благовидный_ADJ_предлог_NOUN", - "благоговеть_VERB_перед_ADP", - "благодарение_NOUN_бог_PROPN", - "благодарить_VERB_благодарить_VERB", - "благодарить_VERB_бог_PROPN", - "благодарить_VERB_вас_PRON", - "благодарить_VERB_покорно_ADV", - "благодарить_VERB_тебя_PROPN", - "благодарно_ADV_улыбнуться_VERB", - "благодарный_ADJ_вам_PRON", - "благодаря_ADP_бога_PROPN", - "благодаря_ADP_которому_PRON", - "благодаря_ADP_которым_PRON", - "благодаря_ADP_старание_NOUN", - "благодаря_ADP_тому_PRON", - "благодушный_ADJ_настроение_NOUN", - "благой_ADJ_мат_NOUN", - "благой_ADJ_намерение_NOUN", - "благополучно_ADV_вернуться_VERB", - "благополучно_ADV_выбраться_VERB", - "благополучно_ADV_добраться_VERB", - "благополучно_ADV_доставить_VERB", - "благополучно_ADV_достигнуть_VERB", - "благополучно_ADV_миновать_VERB", - "благополучно_ADV_прибыть_VERB", - "благополучно_ADV_спуститься_VERB", - "благополучный_ADJ_возвращение_NOUN", - "благополучный_ADJ_исход_NOUN", - "благополучный_ADJ_прибытие_NOUN", - "благоприятный_ADJ_ветер_NOUN", - "благоприятный_ADJ_впечатление_NOUN", - "благоприятный_ADJ_для_ADP", - "благоприятный_ADJ_исход_NOUN", - "благоприятный_ADJ_момент_NOUN", - "благоприятный_ADJ_обстоятельство_NOUN", - "благоприятный_ADJ_случай_NOUN", - "благоприятный_ADJ_условие_NOUN", - "благородный_ADJ_волк_PROPN", - "благородный_ADJ_дама_NOUN", - "благородный_ADJ_девица_NOUN", - "благородный_ADJ_животное_NOUN", - "благородный_ADJ_лорд_NOUN", - "благородный_ADJ_металл_NOUN", - "благородный_ADJ_негодование_NOUN", - "благородный_ADJ_паша_NOUN", - "благородный_ADJ_поступок_NOUN", - "благородный_ADJ_происхождение_NOUN", - "благородный_ADJ_рыцарь_NOUN", - "благородный_ADJ_сэр_NOUN", - "благородный_ADJ_черта_NOUN", - "благословить_VERB_вас_PRON", - "благословить_VERB_тебя_PRON", - "благословлять_VERB_вас_PRON", - "благословлять_VERB_тебя_PRON", - "благотворный_ADJ_влияние_NOUN", - "благочестивый_ADJ_брат_NOUN", - "благочестивый_ADJ_сестра_NOUN", - "блаженно_ADV_улыбаться_VERB", - "блаженный_ADJ_улыбка_NOUN", - "бледная_VERB_как_SCONJ", - "бледный_ADJ_взволновать_VERB", - "бледный_ADJ_голубой_ADJ", - "бледный_ADJ_губа_NOUN", - "бледный_ADJ_жёлтый_ADJ", - "бледный_ADJ_зелёный_ADJ", - "бледный_ADJ_измучить_VERB", - "бледный_ADJ_испуганный_ADJ", - "бледный_ADJ_исхудалый_ADJ", - "бледный_ADJ_лицо_NOUN", - "бледный_ADJ_личико_NOUN", - "бледный_ADJ_розовый_ADJ", - "бледный_ADJ_худенький_ADJ", - "бледный_ADJ_щека_NOUN", - "блеск_NOUN_молния_NOUN", - "блеснуть_VERB_молния_NOUN", - "блеснуть_VERB_огонёк_NOUN", - "блеснуть_VERB_слеза_NOUN", - "блеснуть_VERB_яркий_ADJ", - "блестящий_ADJ_будущее_NOUN", - "блестящий_ADJ_будущность_NOUN", - "блестящий_ADJ_идея_NOUN", - "блестящий_ADJ_карьера_NOUN", - "блестящий_ADJ_медный_ADJ", - "блестящий_ADJ_мундир_NOUN", - "блестящий_ADJ_победа_NOUN", - "блестящий_ADJ_поверхность_NOUN", - "блестящий_ADJ_пуговицами_NOUN", - "блестящий_ADJ_результат_NOUN", - "блестящий_ADJ_свита_NOUN", - "блестящий_ADJ_точка_NOUN", - "ближний_ADJ_боярин_NOUN", - "ближний_ADJ_восток_PROPN", - "ближний_ADJ_деревня_NOUN", - "близиться_VERB_к_ADP", - "близкий_ADJ_будущее_NOUN", - "близкий_ADJ_друг_NOUN", - "близкий_ADJ_знакомство_NOUN", - "близкий_ADJ_окрестность_NOUN", - "близкий_ADJ_подруга_NOUN", - "близкий_ADJ_рассмотрение_NOUN", - "близкий_ADJ_расстояние_NOUN", - "близкий_ADJ_родственник_NOUN", - "близкий_ADJ_родство_NOUN", - "близкий_ADJ_сосед_NOUN", - "близкий_ADJ_соседство_NOUN", - "близкий_ADV_близкий_ADV", - "близкий_ADV_всех_PRON", - "близкий_ADV_к_ADP", - "близкий_ADV_подходить_VERB", - "близкий_ADV_познакомиться_VERB", - "близкий_ADV_придвинуться_VERB", - "близко_ADV_близко_ADV", - "близко_ADV_подходить_VERB", - "близорукий_ADJ_глаз_NOUN", - "блинков_PROPN_младшего_PROPN", - "блинков_PROPN_младшему_PROPN", - "блинков_PROPN_младший_PROPN", - "блинков_PROPN_младшим_PROPN", - "блудный_ADJ_сын_NOUN", - "блудный_ADJ_сын_PROPN", - "блуждание_NOUN_по_ADP", - "блуждать_VERB_взгляд_NOUN", - "блуждать_VERB_взор_NOUN", - "блуждать_VERB_огонёк_NOUN", - "блуждать_VERB_по_ADP", - "блю_PROPN_девиль_PROPN", - "блюститель_NOUN_порядок_NOUN", - "бо_PROPN_франсуа_PROPN", - "боб_PROPN_бобыч_PROPN", - "боб_PROPN_друк_PROPN", - "боб_PROPN_руланд_PROPN", - "боб_PROPN_штейн_PROPN", - "бог_NOUN_аполлон_PROPN", - "бог_NOUN_весть_NOUN", - "бог_NOUN_милосердный_ADJ", - "бог_NOUN_милостивый_ADJ", - "бог_NOUN_мой_DET", - "бог_NOUN_послать_VERB", - "бог_NOUN_праведный_ADJ", - "бог_NOUN_сохранить_VERB", - "бог_NOUN_упасти_VERB", - "бог_PROPN_весть_NOUN", - "бог_PROPN_милостивый_ADJ", - "бог_PROPN_послать_VERB", - "бог_PROPN_ради_ADP", - "богато_ADV_одарить_VERB", - "богато_ADV_одеть_VERB", - "богато_ADV_убрать_VERB", - "богато_ADV_украсить_VERB", - "богатый_ADJ_воображение_NOUN", - "богатый_ADJ_выкуп_NOUN", - "богатый_ADJ_добыча_NOUN", - "богатый_ADJ_знатный_ADJ", - "богатый_ADJ_купец_NOUN", - "богатый_ADJ_наряд_NOUN", - "богатый_ADJ_наследница_NOUN", - "богатый_ADJ_невеста_NOUN", - "богатый_ADJ_подарок_NOUN", - "богатый_ADJ_помещик_NOUN", - "богатый_ADJ_урожай_NOUN", - "богатый_ADJ_фантазия_NOUN", - "богатырский_ADJ_конь_NOUN", - "богатырский_ADJ_сила_NOUN", - "богатырский_ADJ_сон_NOUN", - "богатырский_ADJ_храп_NOUN", - "богиня_NOUN_афина_PROPN", - "богиня_NOUN_кали_PROPN", - "богиня_NOUN_любовь_NOUN", - "бодро_ADV_зашагать_VERB", - "бодро_ADV_ответить_VERB", - "бодро_ADV_шагать_VERB", - "бодрость_NOUN_дух_NOUN", - "бодрый_ADJ_весёлый_ADJ", - "бодрый_ADJ_голос_NOUN", - "бодрый_ADJ_настроение_NOUN", - "бодрый_ADJ_шаг_NOUN", - "боевой_ADJ_готовность_NOUN", - "боевой_ADJ_действие_NOUN", - "боевой_ADJ_дух_NOUN", - "боевой_ADJ_задание_NOUN", - "боевой_ADJ_задача_NOUN", - "боевой_ADJ_искусство_NOUN", - "боевой_ADJ_клич_NOUN", - "боевой_ADJ_конь_NOUN", - "боевой_ADJ_корабль_NOUN", - "боевой_ADJ_крещение_NOUN", - "боевой_ADJ_операция_NOUN", - "боевой_ADJ_оружие_NOUN", - "боевой_ADJ_подруга_NOUN", - "боевой_ADJ_подруга_PROPN", - "боевой_ADJ_порядок_NOUN", - "боевой_ADJ_пост_NOUN", - "боевой_ADJ_припас_NOUN", - "боевой_ADJ_раскраска_NOUN", - "боевой_ADJ_слава_NOUN", - "боевой_ADJ_товарищ_NOUN", - "боевой_ADJ_топор_NOUN", - "боевой_ADJ_тревога_NOUN", - "божий_ADJ_воля_NOUN", - "божий_ADJ_коровка_NOUN", - "божий_ADJ_мать_PROPN", - "божий_ADJ_милость_NOUN", - "божий_ADJ_мир_NOUN", - "божий_ADJ_помощь_NOUN", - "божий_ADJ_суд_NOUN", - "божий_ADJ_форт_PROPN", - "божиться_VERB_что_SCONJ", - "бой_NOUN_барабан_NOUN", - "бой_NOUN_бык_NOUN", - "бой_NOUN_продолжаться_VERB", - "бойко_PROPN_ответить_VERB", - "бок_ADV_о_ADP", - "бокал_NOUN_вино_NOUN", - "бокал_NOUN_шампанское_NOUN", - "боковой_ADJ_аллея_NOUN", - "боковой_ADJ_галерея_NOUN", - "боковой_ADJ_дверь_NOUN", - "боковой_ADJ_дорожка_NOUN", - "боковой_ADJ_зрение_NOUN", - "боковой_ADJ_карман_NOUN", - "боковой_ADJ_коридор_NOUN", - "боковой_ADJ_проход_NOUN", - "боковой_ADJ_стекло_NOUN", - "боковой_ADJ_стена_NOUN", - "боковой_ADJ_стенка_NOUN", - "боковой_ADJ_улица_NOUN", - "боковой_ADJ_ход_NOUN", - "боксёрский_ADJ_перчатка_NOUN", - "более_ADV_безопасный_ADJ", - "более_ADV_благоприятный_ADJ", - "более_ADV_благоразумный_ADJ", - "более_ADV_вероятный_ADJ", - "более_ADV_возвышенный_ADJ", - "более_ADV_выгодный_ADJ", - "более_ADV_крупный_ADJ", - "более_ADV_менее_ADV", - "более_ADV_могущественный_ADJ", - "более_ADV_мощный_ADJ", - "более_ADV_надёжный_ADJ", - "более_ADV_опытный_ADJ", - "более_ADV_подробно_ADV", - "более_ADV_подробный_ADJ", - "более_ADV_подходящий_ADJ", - "более_ADV_поздний_ADJ", - "более_ADV_получаса_NOUN", - "более_ADV_привлекательный_ADJ", - "более_ADV_продолжительный_ADJ", - "более_ADV_серьёзный_ADJ", - "более_ADV_сложный_ADJ", - "более_ADV_совершенный_ADJ", - "более_ADV_существенный_ADJ", - "более_ADV_точный_ADJ", - "более_ADV_тщательный_ADJ", - "более_ADV_убеждаться_VERB", - "более_ADV_удачный_ADJ", - "более_ADV_удобный_ADJ", - "более_ADV_усиливать_VERB", - "более_ADV_усилиться_VERB", - "болезненно_ADV_сжаться_VERB", - "болезненный_ADJ_вид_NOUN", - "болезненный_ADJ_состояние_NOUN", - "болеть_VERB_горло_NOUN", - "болеть_VERB_живот_NOUN", - "болеть_VERB_зуб_NOUN", - "болотистый_ADJ_место_NOUN", - "болотистый_ADJ_почва_NOUN", - "болотный_ADJ_жижа_NOUN", - "болотный_ADJ_птица_NOUN", - "болотный_ADJ_сапог_NOUN", - "болотный_ADJ_трава_NOUN", - "болтать_VERB_глупость_NOUN", - "болтать_VERB_нога_NOUN", - "болтать_VERB_обо_ADP", - "боль_NOUN_сжать_VERB", - "больничный_ADJ_койка_NOUN", - "больничный_ADJ_палата_NOUN", - "больничный_ADJ_халат_NOUN", - "больно_ADV_больно_ADV", - "больно_ADV_задеть_VERB", - "больно_ADV_сжаться_VERB", - "больно_ADV_ударить_VERB", - "больно_ADV_удариться_VERB", - "больно_ADV_ущипнуть_VERB", - "больной_ADJ_воображение_NOUN", - "больной_ADJ_сердце_NOUN", - "больше_ADV_некому_VERB", - "больше_ADV_нечего_VERB", - "больше_ADV_походить_VERB", - "больше_ADV_сдерживаться_VERB", - "больше_ADV_убеждаться_VERB", - "больше_ADV_чем_SCONJ", - "больше_NUM_всего_PRON", - "больше_NUM_всех_PRON", - "больше_NUM_нежели_SCONJ", - "больше_NUM_половина_NOUN", - "больше_NUM_получаса_NOUN", - "больше_NUM_польза_NOUN", - "больше_NUM_чем_SCONJ", - "больше_NUM_шанс_NOUN", - "большею_NOUN_часть_NOUN", - "большею_VERB_часть_NOUN", - "больший_ADJ_аппетит_NOUN", - "больший_ADJ_воодушевление_NOUN", - "больший_ADJ_карий_ADJ", - "больший_ADJ_количество_NOUN", - "больший_ADJ_медведица_PROPN", - "больший_ADJ_неприятность_NOUN", - "больший_ADJ_перемена_NOUN", - "больший_ADJ_потеря_NOUN", - "больший_ADJ_почёт_NOUN", - "больший_ADJ_предосторожность_NOUN", - "больший_ADJ_редкость_NOUN", - "больший_ADJ_роговой_ADJ", - "больший_ADJ_спасский_ADJ", - "больший_ADJ_сумма_NOUN", - "больший_ADJ_труд_NOUN", - "больший_ADJ_убедительность_NOUN", - "больший_ADJ_уважение_NOUN", - "больший_ADJ_удобство_NOUN", - "больший_ADJ_усердие_NOUN", - "больший_ADJ_усилие_NOUN", - "больший_ADJ_успех_NOUN", - "больший_ADJ_часть_NOUN", - "большинство_NOUN_ребят_NOUN", - "большинство_NOUN_случай_NOUN", - "большой_ADJ_босс_PROPN", - "большой_ADJ_гильом_PROPN", - "большой_ADJ_долгоносик_PROPN", - "большой_ADJ_дуб_PROPN", - "большой_ADJ_затруднение_NOUN", - "большой_ADJ_значение_NOUN", - "большой_ADJ_клаус_PROPN", - "большой_ADJ_количество_NOUN", - "большой_ADJ_крюк_NOUN", - "большой_ADJ_кусок_NOUN", - "большой_ADJ_ломоть_NOUN", - "большой_ADJ_любитель_NOUN", - "большой_ADJ_медведица_PROPN", - "большой_ADJ_меч_PROPN", - "большой_ADJ_неохота_NOUN", - "большой_ADJ_осторожность_NOUN", - "большой_ADJ_перемена_NOUN", - "большой_ADJ_популярность_NOUN", - "большой_ADJ_расстояние_NOUN", - "большой_ADJ_скорость_NOUN", - "большой_ADJ_спасский_ADJ", - "большой_ADJ_спасский_PROPN", - "большой_ADJ_театр_NOUN", - "борец_NOUN_за_ADP", - "борзой_ADJ_собака_NOUN", - "борис_PROPN_александрович_PROPN", - "борис_PROPN_антонович_PROPN", - "борис_PROPN_борисович_PROPN", - "борис_PROPN_вениаминович_PROPN", - "борис_PROPN_владимирович_PROPN", - "борис_PROPN_годунов_PROPN", - "борис_PROPN_захарович_PROPN", - "борис_PROPN_иванович_PROPN", - "борис_PROPN_ильич_PROPN", - "борис_PROPN_матвеевич_PROPN", - "борис_PROPN_михаилович_PROPN", - "борис_PROPN_николаевич_PROPN", - "борис_PROPN_олегович_PROPN", - "борис_PROPN_петрович_PROPN", - "борис_PROPN_романович_PROPN", - "борис_PROPN_сергеевич_PROPN", - "борис_PROPN_фёдорович_PROPN", - "бормотать_VERB_молитва_NOUN", - "борн_PROPN_де_PART", - "бородатый_ADJ_мужик_NOUN", - "бородатый_ADJ_мужчина_NOUN", - "бороться_VERB_против_ADP", - "борт_NOUN_катер_NOUN", - "борт_NOUN_корабль_NOUN", - "борт_NOUN_лодка_NOUN", - "борт_NOUN_пароход_NOUN", - "борт_NOUN_судно_NOUN", - "борт_NOUN_яхта_NOUN", - "борьба_NOUN_продолжаться_VERB", - "борьба_NOUN_против_ADP", - "боря_PROPN_андреевич_PROPN", - "боря_PROPN_байбара_PROPN", - "боря_PROPN_савушкин_PROPN", - "босой_ADJ_нога_NOUN", - "босой_ADJ_пятка_NOUN", - "босой_ADJ_ступня_NOUN", - "босоногий_ADJ_команда_NOUN", - "босу_NOUN_нога_NOUN", - "ботанический_ADJ_сад_NOUN", - "бочок_NOUN_бочок_NOUN", - "боязливо_ADV_оглядываться_VERB", - "боязливо_ADV_оглянуться_VERB", - "бояться_VERB_опоздать_VERB", - "бояться_VERB_потревожить_VERB", - "бояться_VERB_пошевелиться_VERB", - "бояться_VERB_пошевельнуться_VERB", - "бояться_VERB_проронить_VERB", - "бояться_VERB_спугнуть_VERB", - "бояться_VERB_шевельнуться_VERB", - "бояться_VERB_шелохнуться_VERB", - "бр_NOUN_р_NOUN", - "браво_PROPN_браво_ADV", - "бравый_ADJ_солдат_NOUN", - "бразды_NOUN_правление_NOUN", - "бранный_ADJ_слово_NOUN", - "брат_NOUN_амбросио_PROPN", - "брат_NOUN_близнец_NOUN", - "брат_NOUN_гримм_PROPN", - "брат_NOUN_гриммами_PROPN", - "брат_NOUN_иерей_NOUN", - "брат_NOUN_казначей_NOUN", - "братец_NOUN_иванушка_PROPN", - "братец_NOUN_кролик_NOUN", - "братец_PROPN_кролик_PROPN", - "братец_PROPN_лис_PROPN", - "братец_PROPN_черепаха_PROPN", - "братский_ADJ_любовь_NOUN", - "братский_ADJ_могила_NOUN", - "брать_VERB_верх_NOUN", - "брать_VERB_пример_NOUN", - "браться_VERB_за_ADP", - "бревенчатый_ADJ_дом_NOUN", - "бревенчатый_ADJ_стена_NOUN", - "брезгливый_ADV_поморщиться_VERB", - "брезентовый_ADJ_куртка_NOUN", - "брезентовый_ADJ_плащ_NOUN", - "брезентовый_ADJ_чехол_NOUN", - "брести_VERB_по_ADP", - "бриллиантовый_ADJ_корабль_NOUN", - "британский_ADJ_музей_NOUN", - "британский_ADJ_правительство_NOUN", - "бритый_ADJ_голова_NOUN", - "бритый_ADJ_лицо_NOUN", - "брить_VERB_полёт_NOUN", - "бровь_NOUN_сдвинуть_VERB", - "бровь_NOUN_сдвинуться_VERB", - "бродить_VERB_вокруг_ADP", - "бродить_VERB_вокруг_ADV", - "бродить_VERB_по_ADP", - "бродячий_ADJ_жизнь_NOUN", - "бродячий_ADJ_собака_NOUN", - "бронзовый_ADJ_лев_NOUN", - "бронзовый_ADJ_статуя_NOUN", - "бронзовый_ADJ_цвет_NOUN", - "бронислава_PROPN_георгиевич_PROPN", - "бросать_VERB_вызов_NOUN", - "бросать_VERB_трубка_NOUN", - "бросаться_VERB_вперёд_ADV", - "бросаться_VERB_навстречу_ADV", - "бросить_PART_ты_PRON", - "бросить_VERB_беглый_ADJ", - "бросить_VERB_быстрый_ADJ", - "бросить_VERB_весло_NOUN", - "бросить_VERB_взгляд_NOUN", - "бросить_VERB_вызов_NOUN", - "бросить_VERB_жребий_NOUN", - "бросить_VERB_курить_VERB", - "бросить_VERB_окурок_NOUN", - "бросить_VERB_поводья_NOUN", - "бросить_VERB_трубка_NOUN", - "бросить_VERB_якорь_NOUN", - "броситься_VERB_бежать_VERB", - "броситься_VERB_вдогонку_ADV", - "броситься_VERB_вон_ADV", - "броситься_VERB_вперёд_ADV", - "броситься_VERB_врассыпную_ADV", - "броситься_VERB_вслед_ADV", - "броситься_VERB_догонять_VERB", - "броситься_VERB_исполнять_VERB", - "броситься_VERB_навстречу_ADV", - "броситься_VERB_наутёк_ADV", - "броситься_VERB_ничком_NOUN", - "броситься_VERB_обнимать_VERB", - "броситься_VERB_прочь_ADV", - "броситься_VERB_следом_ADV", - "брызгать_VERB_слюна_NOUN", - "брызги_NOUN_лететь_VERB", - "брызнуть_VERB_кровь_NOUN", - "брызнуть_VERB_слеза_NOUN", - "брючный_ADJ_карман_NOUN", - "брючный_ADJ_костюм_NOUN", - "брянский_ADJ_лес_NOUN", - "бряцание_NOUN_оружие_NOUN", - "бу_NOUN_бу_NOUN", - "бубновый_ADJ_туз_NOUN", - "будет_VERB_потеха_NOUN", - "будний_ADJ_день_NOUN", - "будто_ADV_и_PART", - "будто_PART_бы_PART", - "будто_PART_нарочно_ADV", - "будут_VERB_неприятность_NOUN", - "будущий_ADJ_весна_NOUN", - "будущий_ADJ_год_NOUN", - "будущий_ADJ_зять_NOUN", - "будущий_ADJ_лето_NOUN", - "будущий_ADJ_муж_NOUN", - "будущий_ADJ_неделя_NOUN", - "будущий_ADJ_поколение_NOUN", - "будущий_ADJ_профессия_NOUN", - "будущий_ADJ_супруг_NOUN", - "будущий_ADJ_тесть_NOUN", - "буйволовый_ADJ_кожа_NOUN", - "буйный_ADJ_ветер_NOUN", - "буйный_ADJ_головушка_NOUN", - "буква_NOUN_а_NOUN", - "буква_NOUN_алфавит_NOUN", - "буква_NOUN_г_NOUN", - "буква_NOUN_к_NOUN", - "буква_NOUN_л_NOUN", - "буква_NOUN_м_NOUN", - "буква_NOUN_о_INTJ", - "буква_NOUN_п_NOUN", - "буква_NOUN_р_NOUN", - "буква_NOUN_т_NOUN", - "буквально_ADV_через_ADP", - "буквальный_ADJ_смысл_NOUN", - "букет_NOUN_полевой_ADJ", - "букет_NOUN_роза_NOUN", - "букет_NOUN_цвет_NOUN", - "буковый_ADJ_лес_NOUN", - "буксирный_ADJ_пароход_NOUN", - "булавочный_ADJ_головка_NOUN", - "булыжный_ADJ_мостовая_NOUN", - "буль_NOUN_буль_NOUN", - "бум_NOUN_бум_NOUN", - "бумажный_ADJ_лента_NOUN", - "бумажный_ADJ_лист_NOUN", - "бумажный_ADJ_пакет_NOUN", - "бумажный_ADJ_салфетка_NOUN", - "бумажный_ADJ_свёрток_NOUN", - "бумажный_ADJ_ткань_NOUN", - "буркнул_PROPN_алёшка_PROPN", - "буркнуть_VERB_алёшка_PROPN", - "бурлить_VERB_вода_NOUN", - "бурный_ADJ_волна_NOUN", - "бурный_ADJ_восторг_NOUN", - "бурный_ADJ_море_NOUN", - "бурный_ADJ_поток_NOUN", - "бурный_ADJ_радость_NOUN", - "бурный_ADJ_река_NOUN", - "буровой_ADJ_камера_NOUN", - "бурый_ADJ_водоросль_NOUN", - "бурый_ADJ_медведь_NOUN", - "бурый_ADJ_пятно_NOUN", - "бурый_ADJ_цвет_NOUN", - "бутылка_NOUN_вино_NOUN", - "бутылка_NOUN_виски_NOUN", - "бутылка_NOUN_водка_NOUN", - "бутылка_NOUN_коньяк_NOUN", - "бутылка_NOUN_молоко_NOUN", - "бутылка_NOUN_пиво_NOUN", - "бутылка_NOUN_ром_NOUN", - "бутылка_NOUN_шампанское_NOUN", - "буфетный_ADJ_стойка_NOUN", - "буффало_PROPN_билл_PROPN", - "буханка_NOUN_хлеб_NOUN", - "бухта_NOUN_барахты_NOUN", - "бушевать_VERB_буря_NOUN", - "бушевать_VERB_волна_NOUN", - "бушевать_VERB_море_NOUN", - "бушевать_VERB_пламя_NOUN", - "буэнос_PROPN_айрес_PROPN", - "бы_AUX_невзначай_ADV", - "бы_AUX_невзначай_VERB", - "бы_AUX_побрать_VERB", - "бы_AUX_хны_NOUN", - "бы_PART_ища_NOUN", - "бы_PART_то_PRON", - "бы_PART_хны_NOUN", - "бывалый_ADJ_моряк_NOUN", - "бывалый_ADJ_человек_NOUN", - "бывший_ADJ_булка_PROPN", - "бывший_ADJ_владелец_NOUN", - "бывший_ADJ_жена_NOUN", - "бывший_ADJ_заслуженный_ADJ", - "бывший_ADJ_каторжник_NOUN", - "бывший_ADJ_муж_NOUN", - "бывший_ADJ_одноклассник_NOUN", - "бывший_ADJ_одноклассница_NOUN", - "бывший_ADJ_поп_NOUN", - "бывший_ADJ_студент_NOUN", - "бывший_ADJ_ученик_NOUN", - "были_AUX_видный_ADJ", - "были_AUX_вынуждены_ADJ", - "были_AUX_занять_VERB", - "были_AUX_мокры_PROPN", - "были_AUX_навалить_VERB", - "были_AUX_налицо_ADV", - "были_AUX_напрасный_ADJ", - "были_AUX_напрячь_VERB", - "были_AUX_неразлучный_ADJ", - "были_AUX_обречены_ADJ", - "были_AUX_приковать_VERB", - "были_AUX_разбросать_VERB", - "были_AUX_развешать_VERB", - "были_AUX_разложить_VERB", - "были_AUX_разослать_VERB", - "были_AUX_расположены_ADJ", - "были_AUX_самыми_ADJ", - "были_AUX_сплошь_ADV", - "были_AUX_сыты_VERB", - "были_AUX_тщетный_ADJ", - "были_AUX_убеждены_ADJ", - "были_AUX_уверены_ADJ", - "были_AUX_увешать_VERB", - "были_AUX_устремить_VERB", - "были_PRON_два_NUM", - "было_AUX_велено_VERB", - "было_AUX_видно_ADV", - "было_AUX_людный_ADJ", - "было_AUX_невозможный_ADJ", - "было_AUX_некуда_ADV", - "было_AUX_неловкий_ADJ", - "было_AUX_неспокойный_ADJ", - "было_AUX_нетрудный_ADJ", - "было_AUX_нечем_VERB", - "было_AUX_предостаточно_ADV", - "было_AUX_различить_VERB", - "было_AUX_расположено_ADJ", - "было_AUX_слышный_ADJ", - "было_AUX_страшноватый_ADJ", - "было_AUX_стыдный_ADJ", - "было_AUX_суждено_VERB", - "было_AUX_темноватый_ADJ", - "было_AUX_условлено_VERB", - "былой_ADJ_время_NOUN", - "быстро_ADV_взбежать_VERB", - "быстро_ADV_вскарабкаться_VERB", - "быстро_ADV_зашагать_VERB", - "быстро_ADV_зашептать_VERB", - "быстро_ADV_надвигаться_VERB", - "быстро_ADV_наполняться_VERB", - "быстро_ADV_одеться_VERB", - "быстро_ADV_оправиться_VERB", - "быстро_ADV_освоиться_VERB", - "быстро_ADV_отдёрнуть_VERB", - "быстро_ADV_перебежать_VERB", - "быстро_ADV_перебирать_VERB", - "быстро_ADV_подвигаться_VERB", - "быстро_ADV_понестись_VERB", - "быстро_ADV_поправляться_VERB", - "быстро_ADV_приближаться_VERB", - "быстро_ADV_пробежать_VERB", - "быстро_ADV_продвигаться_VERB", - "быстро_ADV_раздеться_VERB", - "быстро_ADV_распространиться_VERB", - "быстро_ADV_сгущаться_VERB", - "быстро_ADV_таять_VERB", - "быстро_ADV_темнеть_VERB", - "быстро_ADV_увеличиваться_VERB", - "быстро_ADV_удаляться_VERB", - "быстро_ADV_уменьшаться_VERB", - "быстро_ADV_уставать_VERB", - "быстро_ADV_юркнуть_VERB", - "быстрота_NOUN_движение_NOUN", - "быстрота_NOUN_молния_NOUN", - "быстрота_NOUN_ход_NOUN", - "быстротою_NOUN_молния_NOUN", - "быстрый_ADJ_бег_NOUN", - "быстрый_ADJ_бегун_PROPN", - "быстрый_ADJ_взгляд_NOUN", - "быстрый_ADJ_движение_NOUN", - "быстрый_ADJ_езда_NOUN", - "быстрый_ADJ_ловкий_ADJ", - "быстрый_ADJ_речка_NOUN", - "быстрый_ADJ_темп_NOUN", - "быстрый_ADJ_течение_NOUN", - "быстрый_ADJ_ход_NOUN", - "быстрый_ADJ_ходьба_NOUN", - "быстрый_ADJ_шаг_NOUN", - "быстрый_ADV_быстрый_ADV", - "быстрый_ADV_молния_NOUN", - "быстрый_ADV_чем_SCONJ", - "быть_AUX_вынудить_VERB", - "быть_AUX_дружен_VERB", - "быть_AUX_настороже_ADJ", - "быть_AUX_начеку_ADV", - "быть_AUX_непреклонный_ADJ", - "быть_AUX_отпразднована_VERB", - "быть_AUX_печален_VERB", - "быть_AUX_убеждена_ADJ", - "быть_AUX_убеждённый_ADJ", - "быть_AUX_уверена_ADJ", - "быть_AUX_уверенный_ADJ", - "быть_VERB_моча_NOUN", - "быть_VERB_мочи_NOUN", - "быть_VERB_мочь_NOUN", - "бэд_PROPN_тернер_PROPN", - "бэрд_PROPN_ли_PROPN", - "в_ADV_вид_NOUN", - "в_ADV_время_ADV", - "в_ADV_вторых_ADV", - "в_ADV_конец_NOUN", - "в_ADV_конечный_ADJ", - "в_ADV_настоящий_ADJ", - "в_ADV_о_NOUN", - "в_ADV_одиночка_NOUN", - "в_ADV_особенность_NOUN", - "в_ADV_первых_ADV", - "в_ADV_пятый_ADV", - "в_ADV_третьих_ADV", - "в_ADV_четвёртый_ADV", - "вагон_NOUN_метро_NOUN", - "вагон_NOUN_ресторан_NOUN", - "вадим_PROPN_андреевич_PROPN", - "вадим_PROPN_леонардович_PROPN", - "вадим_PROPN_павлович_PROPN", - "вадим_PROPN_петрович_PROPN", - "вадим_PROPN_степанович_PROPN", - "важный_ADJ_барин_NOUN", - "важный_ADJ_государственный_ADJ", - "важный_ADJ_деталь_NOUN", - "важный_ADJ_документ_NOUN", - "важный_ADJ_задание_NOUN", - "важный_ADJ_значение_NOUN", - "важный_ADJ_известие_NOUN", - "важный_ADJ_информация_NOUN", - "важный_ADJ_новость_NOUN", - "важный_ADJ_особа_NOUN", - "важный_ADJ_открытие_NOUN", - "важный_ADJ_персона_NOUN", - "важный_ADJ_поручение_NOUN", - "важный_ADJ_роль_NOUN", - "важный_ADJ_сведение_NOUN", - "важный_ADJ_событие_NOUN", - "важный_ADJ_сообщение_NOUN", - "важный_ADJ_услуга_NOUN", - "вал_NOUN_валить_VERB", - "валентин_PROPN_антонович_PROPN", - "валентин_PROPN_валентинович_PROPN", - "валентин_PROPN_валентиныч_PROPN", - "валентин_PROPN_гиллуа_PROPN", - "валентин_PROPN_петрович_PROPN", - "валентин_PROPN_сергеевич_PROPN", - "валентин_PROPN_янович_PROPN", - "валентина_PROPN_георгиевич_PROPN", - "валентина_PROPN_григориевич_PROPN", - "валентина_PROPN_иванович_PROPN", - "валентина_PROPN_михаилович_PROPN", - "валентина_PROPN_павлович_PROPN", - "валентина_PROPN_петрович_PROPN", - "валентина_PROPN_сергеевич_PROPN", - "валентина_PROPN_фёдорович_PROPN", - "валериан_PROPN_дмитриевич_PROPN", - "валерий_PROPN_николаевич_PROPN", - "валерий_PROPN_павлович_PROPN", - "валерий_PROPN_петрович_PROPN", - "валерий_PROPN_сергеевич_PROPN", - "валерия_PROPN_кириллович_PROPN", - "валерия_PROPN_михаилович_PROPN", - "вали_VERB_отсюда_ADV", - "валить_VERB_густой_ADJ", - "валить_VERB_пар_NOUN", - "вальтер_PROPN_скотт_PROPN", - "валя_PROPN_ёлкин_PROPN", - "валять_VERB_дурак_NOUN", - "вам_PRON_благодарный_ADJ", - "вам_PRON_вздуматься_VERB", - "вам_PRON_признательный_ADJ", - "вам_PRON_угодно_ADV", - "вам_PRON_угодный_ADJ", - "вами_PRON_наедине_ADV", - "вами_PRON_откровенный_ADJ", - "вами_PRON_поговорить_VERB", - "вами_PRON_познакомиться_VERB", - "вами_PRON_согласный_ADJ", - "ван_PART_берле_PROPN", - "ван_PART_блум_PROPN", - "ван_PROPN_блум_PROPN", - "ван_PROPN_ваныч_PROPN", - "ван_PROPN_горн_PROPN", - "ван_PROPN_гун_PROPN", - "ван_PROPN_дейк_PROPN", - "ван_PROPN_дик_PROPN", - "ван_PROPN_ли_PROPN", - "ван_PROPN_сталь_PROPN", - "ван_PROPN_хорн_PROPN", - "ванный_ADJ_комната_NOUN", - "вань_PROPN_цзы_PROPN", - "ванька_PROPN_встанька_PROPN", - "варвара_PROPN_алексеевич_PROPN", - "варвара_PROPN_василиевич_PROPN", - "варвара_PROPN_денисович_PROPN", - "варвара_PROPN_иванович_PROPN", - "варвара_PROPN_михаилович_PROPN", - "варвара_PROPN_никандрович_PROPN", - "варвара_PROPN_николаевич_PROPN", - "варвара_PROPN_павлович_PROPN", - "варвара_PROPN_петрович_PROPN", - "варвара_PROPN_степанович_PROPN", - "варить_VERB_варение_NOUN", - "варить_VERB_каша_NOUN", - "варить_VERB_кофе_NOUN", - "варить_VERB_обед_NOUN", - "варить_VERB_суп_NOUN", - "варфоломеевский_ADJ_ночь_NOUN", - "варёный_ADJ_картошка_NOUN", - "варёный_ADJ_мясо_NOUN", - "варёный_ADJ_рак_NOUN", - "варёный_ADJ_яйцо_NOUN", - "вас_PRON_познакомить_VERB", - "вас_PRON_провозить_VERB", - "вас_PRON_самих_ADJ", - "вас_PRON_сим_PROPN", - "вас_PRON_уверить_VERB", - "василий_PROPN_александрович_PROPN", - "василий_PROPN_алексеевич_PROPN", - "василий_PROPN_андреевич_PROPN", - "василий_PROPN_блаженный_ADJ", - "василий_PROPN_борисович_PROPN", - "василий_PROPN_василиевич_PROPN", - "василий_PROPN_георгиевич_PROPN", - "василий_PROPN_григориевич_PROPN", - "василий_PROPN_дмитриевич_PROPN", - "василий_PROPN_иванович_PROPN", - "василий_PROPN_игнатиевич_PROPN", - "василий_PROPN_климентиевич_PROPN", - "василий_PROPN_константинович_PROPN", - "василий_PROPN_лукич_PROPN", - "василий_PROPN_максимович_PROPN", - "василий_PROPN_михаилович_PROPN", - "василий_PROPN_никитиевич_PROPN", - "василий_PROPN_николаевич_PROPN", - "василий_PROPN_петрович_PROPN", - "василий_PROPN_родионович_PROPN", - "василий_PROPN_семёнович_PROPN", - "василий_PROPN_сергеевич_PROPN", - "василий_PROPN_степанович_PROPN", - "василий_PROPN_степаныч_PROPN", - "василий_PROPN_терентиевич_PROPN", - "василий_PROPN_тимофеевич_PROPN", - "василий_PROPN_фёдорович_PROPN", - "василиса_PROPN_андреевич_PROPN", - "василиса_PROPN_антонович_PROPN", - "василиса_PROPN_потапович_PROPN", - "василиса_PROPN_премудрая_PROPN", - "василь_PROPN_василич_PROPN", - "василь_PROPN_иванович_PROPN", - "васильевский_ADJ_остров_NOUN", - "васильковый_ADJ_глаз_NOUN", - "васко_PROPN_да_PART", - "вася_PROPN_ангел_PROPN", - "васёк_PROPN_трубачёв_PROPN", - "ватный_ADJ_одеяло_NOUN", - "ватный_ADJ_тампон_NOUN", - "вахтенный_ADJ_журнал_NOUN", - "вахтенный_ADJ_матрос_NOUN", - "вахтенный_ADJ_начальник_NOUN", - "вахтенный_ADJ_офицер_NOUN", - "ваш_DET_благородие_NOUN", - "ваш_DET_величество_NOUN", - "ваш_DET_величество_PROPN", - "ваш_DET_высокоблагородие_NOUN", - "ваш_DET_высокопревосходительство_NOUN", - "ваш_DET_высокородие_NOUN", - "ваш_DET_высочество_NOUN", - "ваш_DET_высочество_PROPN", - "ваш_DET_доброта_NOUN", - "ваш_DET_дочь_NOUN", - "ваш_DET_императорский_ADJ", - "ваш_DET_милость_NOUN", - "ваш_DET_позволение_NOUN", - "ваш_DET_покорный_ADJ", - "ваш_DET_превосходительство_NOUN", - "ваш_DET_преподобие_NOUN", - "ваш_DET_приказание_NOUN", - "ваш_DET_распоряжение_NOUN", - "ваш_DET_сведение_NOUN", - "ваш_DET_светлость_ADV", - "ваш_DET_светлость_NOUN", - "ваш_DET_сиятельство_NOUN", - "ваш_DET_соотечественник_NOUN", - "ваш_DET_степенство_NOUN", - "ваш_DET_супруг_NOUN", - "ваш_DET_услуга_NOUN", - "ваш_DET_усмотрение_NOUN", - "ваш_DET_эминенция_NOUN", - "ваш_PART_благородие_NOUN", - "ваша_PROPN_светлость_ADV", - "вверить_VERB_ему_PRON", - "вверх_ADV_вниз_ADV", - "вверх_ADV_дно_NOUN", - "вверх_ADV_тормашками_NOUN", - "ввиду_ADP_того_PRON", - "вдали_ADV_виднеться_VERB", - "вдали_ADV_показаться_VERB", - "вдали_ADV_послышаться_VERB", - "вдали_VERB_виднеться_VERB", - "вдали_VERB_показаться_VERB", - "вдвое_ADV_больше_NUM", - "вдвое_ADV_меньше_NUM", - "вдова_NOUN_ефросина_PROPN", - "вдоль_ADP_берег_NOUN", - "вдоль_ADP_борт_NOUN", - "вдоль_ADP_дорога_NOUN", - "вдоль_ADP_забор_NOUN", - "вдоль_ADP_западный_ADJ", - "вдоль_ADP_линия_NOUN", - "вдоль_ADP_набережная_NOUN", - "вдоль_ADP_ограда_NOUN", - "вдоль_ADP_опушка_NOUN", - "вдоль_ADP_побережье_NOUN", - "вдоль_ADP_река_NOUN", - "вдоль_ADP_речка_NOUN", - "вдоль_ADP_ручей_NOUN", - "вдоль_ADP_стена_NOUN", - "вдоль_ADP_стенка_NOUN", - "вдоль_ADP_тротуар_NOUN", - "вдоль_ADP_улица_NOUN", - "вдоль_ADP_шоссе_NOUN", - "вдохнуть_VERB_полный_ADJ", - "вдребезги_ADV_разбить_VERB", - "вдруг_ADV_осенить_VERB", - "вдруг_ADV_осечься_VERB", - "вдруг_ADV_подуматься_VERB", - "вдруг_ADV_почувствовать_VERB", - "вдруг_ADV_разом_ADV", - "вдруг_ADV_спохватиться_VERB", - "вдыхать_VERB_аромат_NOUN", - "вдыхать_VERB_воздух_NOUN", - "вдыхать_VERB_запах_NOUN", - "ведите_VERB_меня_PRON", - "ведь_PART_недаром_ADV", - "вежливо_ADV_обратиться_VERB", - "вежливо_ADV_осведомиться_VERB", - "вежливо_ADV_отказаться_VERB", - "вежливо_ADV_поблагодарить_VERB", - "вежливо_ADV_поздороваться_VERB", - "вежливо_ADV_поклониться_VERB", - "вежливо_ADV_попросить_VERB", - "вежливо_ADV_улыбнуться_VERB", - "вежливый_ADJ_обращение_NOUN", - "вежливый_ADJ_поклон_NOUN", - "вежливый_ADJ_тон_NOUN", - "везде_ADV_одинаковый_ADJ", - "век_NOUN_назад_ADV", - "век_NOUN_тому_ADV", - "веко_NOUN_век_NOUN", - "веко_NOUN_вечный_ADJ", - "вековой_ADJ_дерево_NOUN", - "вековой_ADJ_дуб_NOUN", - "вековой_ADJ_сосна_NOUN", - "велеть_VERB_всем_PRON", - "велеть_VERB_кучер_NOUN", - "велеть_VERB_отнести_VERB", - "велеть_VERB_передать_VERB", - "велеть_VERB_подать_VERB", - "велеть_VERB_позвать_VERB", - "великий_ADJ_артист_NOUN", - "великий_ADJ_бедствие_NOUN", - "великий_ADJ_боже_PROPN", - "великий_ADJ_визирь_NOUN", - "великий_ADJ_вождь_NOUN", - "великий_ADJ_волшебник_NOUN", - "великий_ADJ_герцог_NOUN", - "великий_ADJ_герцогиня_NOUN", - "великий_ADJ_государь_NOUN", - "великий_ADJ_держава_NOUN", - "великий_ADJ_дух_PROPN", - "великий_ADJ_жрец_NOUN", - "великий_ADJ_змей_PROPN", - "великий_ADJ_изобретение_NOUN", - "великий_ADJ_изумление_NOUN", - "великий_ADJ_инквизитор_NOUN", - "великий_ADJ_княгиня_NOUN", - "великий_ADJ_князь_NOUN", - "великий_ADJ_маг_NOUN", - "великий_ADJ_маг_PROPN", - "великий_ADJ_магистр_NOUN", - "великий_ADJ_мастер_NOUN", - "великий_ADJ_множество_NOUN", - "великий_ADJ_могол_PROPN", - "великий_ADJ_муфтий_NOUN", - "великий_ADJ_новгород_PROPN", - "великий_ADJ_огорчение_NOUN", - "великий_ADJ_октябрьский_ADJ", - "великий_ADJ_осторожность_NOUN", - "великий_ADJ_отечественный_ADJ", - "великий_ADJ_открытие_NOUN", - "великий_ADJ_писатель_NOUN", - "великий_ADJ_подвиг_NOUN", - "великий_ADJ_полководец_NOUN", - "великий_ADJ_пост_NOUN", - "великий_ADJ_поэт_NOUN", - "великий_ADJ_русский_ADJ", - "великий_ADJ_стройка_NOUN", - "великий_ADJ_сыщик_NOUN", - "великий_ADJ_тайна_NOUN", - "великий_ADJ_торн_PROPN", - "великий_ADJ_удивление_NOUN", - "великий_ADJ_учёный_NOUN", - "великий_ADJ_хан_NOUN", - "великий_ADJ_художник_NOUN", - "великий_ADJ_чародей_NOUN", - "великодушно_ADV_предложить_VERB", - "великолепный_ADJ_дворец_NOUN", - "великолепный_ADJ_здание_NOUN", - "великолепный_ADJ_зрелище_NOUN", - "величественный_ADJ_вид_NOUN", - "величественный_ADJ_жест_NOUN", - "величественный_ADJ_зрелище_NOUN", - "величественный_ADJ_картина_NOUN", - "венера_PROPN_миронович_PROPN", - "венский_ADJ_стул_NOUN", - "веня_PROPN_кашкин_PROPN", - "вера_PROPN_александрович_PROPN", - "вера_PROPN_алексеевич_PROPN", - "вера_PROPN_андреевич_PROPN", - "вера_PROPN_антонович_PROPN", - "вера_PROPN_аркадиевич_PROPN", - "вера_PROPN_брониславович_PROPN", - "вера_PROPN_василиевич_PROPN", - "вера_PROPN_вячеславович_PROPN", - "вера_PROPN_георгиевич_PROPN", - "вера_PROPN_евстигнеевич_PROPN", - "вера_PROPN_ефремович_PROPN", - "вера_PROPN_иванович_PROPN", - "вера_PROPN_матвеевич_PROPN", - "вера_PROPN_николаевич_PROPN", - "вера_PROPN_павлович_PROPN", - "вера_PROPN_петрович_PROPN", - "вера_PROPN_сергеевич_PROPN", - "вера_PROPN_фёдорович_PROPN", - "вери_PROPN_мери_PROPN", - "верить_ADV_мне_PRON", - "вернее_ADV_всего_PRON", - "вернешься_VERB_домой_ADV", - "верно_ADV_верно_ADV", - "верно_ADV_служить_VERB", - "верно_ADV_согласиться_VERB", - "верно_ADV_угадать_VERB", - "вернуть_VERB_обратно_ADV", - "вернуться_VERB_домой_ADV", - "вернуться_VERB_обратно_ADV", - "верный_ADJ_гибель_NOUN", - "верный_ADJ_глаз_PROPN", - "верный_ADJ_друг_NOUN", - "верный_ADJ_иоганн_PROPN", - "верный_ADJ_крыса_NOUN", - "верный_ADJ_помощник_NOUN", - "верный_ADJ_признак_NOUN", - "верный_ADJ_прицел_PROPN", - "верный_ADJ_путь_NOUN", - "верный_ADJ_пёс_NOUN", - "верный_ADJ_раб_NOUN", - "верный_ADJ_решение_NOUN", - "верный_ADJ_слуг_NOUN", - "верный_ADJ_слуга_NOUN", - "верный_ADJ_смерть_NOUN", - "верный_ADJ_согласиться_VERB", - "верный_ADJ_способ_NOUN", - "верный_ADJ_средство_NOUN", - "верный_ADJ_убежище_NOUN", - "вероника_PROPN_аркадиевич_PROPN", - "вероника_PROPN_леопольдович_PROPN", - "вероника_PROPN_петрович_PROPN", - "вероятность_NOUN_того_PRON", - "вероятный_ADV_всего_PRON", - "верстах_NOUN_от_ADP", - "верстовой_ADJ_столб_NOUN", - "вертеть_VERB_голова_NOUN", - "вертеть_VERB_колесо_NOUN", - "вертеть_VERB_ручка_NOUN", - "вертеться_VERB_возле_ADP", - "вертеться_VERB_вокруг_ADP", - "вертеться_VERB_около_ADP", - "вертикальный_ADJ_положение_NOUN", - "верхний_ADJ_ветвь_NOUN", - "верхний_ADJ_галерея_NOUN", - "верхний_ADJ_губа_NOUN", - "верхний_ADJ_камера_NOUN", - "верхний_ADJ_койка_NOUN", - "верхний_ADJ_край_NOUN", - "верхний_ADJ_одежда_NOUN", - "верхний_ADJ_палуба_NOUN", - "верхний_ADJ_перекладина_NOUN", - "верхний_ADJ_платье_NOUN", - "верхний_ADJ_площадка_NOUN", - "верхний_ADJ_полка_NOUN", - "верхний_ADJ_половина_NOUN", - "верхний_ADJ_пуговица_NOUN", - "верхний_ADJ_ряд_NOUN", - "верхний_ADJ_слой_NOUN", - "верхний_ADJ_ступень_NOUN", - "верхний_ADJ_ступенька_NOUN", - "верхний_ADJ_угол_NOUN", - "верхний_ADJ_часть_NOUN", - "верхний_ADJ_челюсть_NOUN", - "верхний_ADJ_этаж_NOUN", - "верхний_ADJ_ярус_NOUN", - "верхний_ADJ_ящик_NOUN", - "верховный_ADJ_власть_NOUN", - "верховный_ADJ_вождь_NOUN", - "верховный_ADJ_жрец_NOUN", - "верховный_ADJ_совет_PROPN", - "верховный_ADJ_судья_NOUN", - "верховой_ADJ_езда_NOUN", - "верховой_ADJ_лошадь_NOUN", - "верховье_NOUN_река_NOUN", - "верхом_ADV_ездить_VERB", - "верхушка_NOUN_дерево_NOUN", - "верхушка_NOUN_мачта_NOUN", - "верхушка_NOUN_сосна_NOUN", - "вершина_NOUN_гора_NOUN", - "вершина_NOUN_дерево_NOUN", - "вершина_NOUN_скала_NOUN", - "вершина_NOUN_сопка_NOUN", - "вершина_NOUN_сосна_NOUN", - "вершина_NOUN_утёс_NOUN", - "вершина_NOUN_холм_NOUN", - "вершинами_NOUN_дерево_NOUN", - "верьте_VERB_мне_PRON", - "верёвка_NOUN_которыми_PRON", - "верёвка_NOUN_натянуться_VERB", - "верёвка_NOUN_привязать_VERB", - "верёвочный_ADJ_лестница_NOUN", - "верёвочный_ADJ_петля_NOUN", - "вес_NOUN_золото_NOUN", - "весело_ADV_болтать_VERB", - "весело_ADV_вскричать_VERB", - "весело_ADV_засмеяться_VERB", - "весело_ADV_крикнуть_VERB", - "весело_ADV_напевать_VERB", - "весело_ADV_насвистывать_VERB", - "весело_ADV_откликнуться_VERB", - "весело_ADV_отозваться_VERB", - "весело_ADV_переговариваться_VERB", - "весело_ADV_подмигнуть_VERB", - "весело_ADV_потирать_VERB", - "весело_ADV_потрескивать_VERB", - "весело_ADV_приветствовать_VERB", - "весело_ADV_прыгать_VERB", - "весело_ADV_рассмеяться_VERB", - "весело_ADV_расхохотаться_VERB", - "весело_ADV_смеяться_VERB", - "весело_ADV_трещать_VERB", - "весело_ADV_улыбаться_VERB", - "весело_ADV_хохотать_VERB", - "весело_ADV_щебетать_VERB", - "весельчак_PROPN_у_PROPN", - "весенний_ADJ_воздух_NOUN", - "весенний_ADJ_дождь_NOUN", - "весенний_ADJ_каникулы_NOUN", - "весенний_ADJ_небо_NOUN", - "весенний_ADJ_солнце_NOUN", - "весить_VERB_около_ADP", - "веский_ADJ_причина_NOUN", - "веснушчатый_ADJ_лицо_NOUN", - "вест_PROPN_индия_PROPN", - "вести_VERB_беседа_NOUN", - "вести_VERB_дневник_NOUN", - "вести_VERB_наблюдение_NOUN", - "вести_VERB_оживлённый_ADJ", - "вести_VERB_переговоры_NOUN", - "вести_VERB_расследование_NOUN", - "вести_VERB_себя_PRON", - "вести_VERB_торговля_NOUN", - "вести_VERB_хозяйство_NOUN", - "весть_NOUN_о_ADP", - "весть_NOUN_об_ADP", - "весь_DET_благами_NOUN", - "весь_DET_вероятие_NOUN", - "весь_DET_вероятность_NOUN", - "весь_DET_видимость_NOUN", - "весь_DET_дрожа_NOUN", - "весь_DET_едино_NOUN", - "весь_DET_краса_NOUN", - "весь_DET_лады_NOUN", - "весь_DET_мочь_NOUN", - "весь_DET_мыслимый_ADJ", - "весь_DET_напрягся_NOUN", - "весь_DET_недолга_NOUN", - "весь_DET_округа_NOUN", - "весь_DET_опор_NOUN", - "весь_DET_остальная_ADJ", - "весь_DET_остального_ADJ", - "весь_DET_остальное_ADJ", - "весь_DET_остальной_ADJ", - "весь_DET_остальном_ADJ", - "весь_DET_перипетия_NOUN", - "весь_DET_подноготную_ADJ", - "весь_DET_прочего_ADJ", - "весь_DET_прочему_ADJ", - "весь_DET_прыть_NOUN", - "весь_DET_прыть_VERB", - "весь_DET_семьёй_NOUN", - "весь_DET_скаку_NOUN", - "весь_DET_скоп_NOUN", - "весь_DET_трое_NUM", - "весь_DET_ширь_NOUN", - "весьма_ADV_благодарный_ADJ", - "весьма_ADV_важный_ADJ", - "весьма_ADV_вероятный_ADJ", - "весьма_ADV_возможный_ADJ", - "весьма_ADV_довольный_ADJ", - "весьма_ADV_естественный_ADJ", - "весьма_ADV_затруднительный_ADJ", - "весьма_ADV_значительный_ADJ", - "весьма_ADV_кстати_ADV", - "весьма_ADV_любопытный_ADJ", - "весьма_ADV_незначительный_ADJ", - "весьма_ADV_неприятный_ADJ", - "весьма_ADV_подозрительный_ADJ", - "весьма_ADV_полезный_ADJ", - "весьма_ADV_почтенный_ADJ", - "весьма_ADV_своеобразный_ADJ", - "весьма_ADV_серьёзный_ADJ", - "весьма_ADV_сожалеть_VERB", - "весьма_ADV_сомнительный_ADJ", - "весьма_ADV_ценный_ADJ", - "весёлый_ADJ_беззаботный_ADJ", - "весёлый_ADJ_болтовня_NOUN", - "весёлый_ADJ_говор_NOUN", - "весёлый_ADJ_жизнерадостный_ADJ", - "весёлый_ADJ_настроение_NOUN", - "весёлый_ADJ_нрав_NOUN", - "весёлый_ADJ_огонёк_NOUN", - "весёлый_ADJ_песенка_NOUN", - "весёлый_ADJ_пир_NOUN", - "весёлый_ADJ_расположение_NOUN", - "весёлый_ADJ_смех_NOUN", - "ветвистый_ADJ_дерево_NOUN", - "ветвистый_ADJ_рог_NOUN", - "ветвь_NOUN_дерево_NOUN", - "ветер_NOUN_бушевать_VERB", - "ветер_NOUN_выть_VERB", - "ветер_NOUN_гнать_VERB", - "ветер_NOUN_донести_VERB", - "ветер_NOUN_доносить_VERB", - "ветер_NOUN_дуть_VERB", - "ветер_NOUN_завывать_VERB", - "ветер_NOUN_крепчать_VERB", - "ветер_NOUN_относить_VERB", - "ветер_NOUN_перемениться_VERB", - "ветер_NOUN_подуть_VERB", - "ветер_NOUN_развевать_VERB", - "ветер_NOUN_раздувать_VERB", - "ветер_NOUN_раскачивать_VERB", - "ветер_NOUN_рвать_VERB", - "ветер_NOUN_свистеть_VERB", - "ветер_NOUN_сдуть_VERB", - "ветер_NOUN_срывать_VERB", - "ветер_NOUN_трепать_VERB", - "ветер_NOUN_усиливаться_VERB", - "ветер_NOUN_усилиться_VERB", - "ветер_NOUN_утихнуть_VERB", - "ветер_NOUN_шевелить_VERB", - "ветер_NOUN_шуметь_VERB", - "ветеринарный_ADJ_врач_NOUN", - "ветка_NOUN_дерево_NOUN", - "ветка_NOUN_сирень_NOUN", - "ветка_NOUN_яблоня_NOUN", - "ветровый_ADJ_стекло_NOUN", - "ветряный_ADJ_мельница_NOUN", - "ветхий_ADJ_завет_PROPN", - "вечер_NOUN_мудрёный_ADJ", - "вечер_NOUN_накануне_ADP", - "вечерний_ADJ_ветерок_NOUN", - "вечерний_ADJ_воздух_NOUN", - "вечерний_ADJ_газета_NOUN", - "вечерний_ADJ_заря_NOUN", - "вечерний_ADJ_звезда_NOUN", - "вечерний_ADJ_молитва_NOUN", - "вечерний_ADJ_небо_NOUN", - "вечерний_ADJ_платье_NOUN", - "вечерний_ADJ_поезд_NOUN", - "вечерний_ADJ_прогулка_NOUN", - "вечерний_ADJ_прохлада_NOUN", - "вечерний_ADJ_солнце_NOUN", - "вечерний_ADJ_сумерки_NOUN", - "вечерний_ADJ_сумрак_NOUN", - "вечерний_ADJ_тень_NOUN", - "вечерний_ADJ_тишина_NOUN", - "вечерний_ADJ_туалет_NOUN", - "вечерний_ADJ_чай_NOUN", - "вечерний_ADJ_школа_NOUN", - "вечно_ADV_голодный_ADJ", - "вечно_ADV_юный_ADJ", - "вечный_ADJ_блаженство_NOUN", - "вечный_ADJ_двигатель_NOUN", - "вечный_ADJ_дружба_NOUN", - "вечный_ADJ_лёд_NOUN", - "вечный_ADJ_мерзлота_NOUN", - "вечный_ADJ_молодость_NOUN", - "вечный_ADJ_мука_NOUN", - "вечный_ADJ_огонь_NOUN", - "вечный_ADJ_память_NOUN", - "вечный_ADJ_покой_NOUN", - "вечный_ADJ_разлука_NOUN", - "вечный_ADJ_снег_NOUN", - "вечный_ADJ_сон_NOUN", - "вечный_ADJ_хлеб_NOUN", - "вешать_VERB_нос_NOUN", - "вешать_VERB_трубка_NOUN", - "вешний_ADJ_вода_NOUN", - "вещевой_ADJ_мешок_NOUN", - "вещественный_ADJ_доказательство_NOUN", - "вещество_NOUN_которое_PRON", - "вещество_NOUN_которые_PRON", - "вещий_ADJ_сон_NOUN", - "вжать_VERB_голова_NOUN", - "взад_ADV_вперёд_ADV", - "взаимный_ADJ_любовь_NOUN", - "взбегать_VERB_по_ADP", - "взбежать_VERB_по_ADP", - "взбираться_VERB_вверх_ADV", - "взбираться_VERB_наверх_ADV", - "взбить_VERB_сливка_NOUN", - "взвести_VERB_курок_NOUN", - "взвешивать_VERB_каждый_DET", - "взвиться_VERB_вверх_ADV", - "взвиться_VERB_кверху_ADV", - "взвиться_VERB_над_ADP", - "взволнованно_ADV_воскликнуть_VERB", - "взволнованно_ADV_заговорить_VERB", - "взволнованно_ADV_проговорить_VERB", - "взволнованно_ADV_произнести_VERB", - "взволнованно_ADV_прошептать_VERB", - "взволнованное_ADJ_лицо_NOUN", - "взволнованный_ADJ_голос_NOUN", - "взволнованным_ADJ_голос_NOUN", - "взгляд_NOUN_окинуть_VERB", - "вздох_NOUN_вырваться_VERB", - "вздох_NOUN_облегчение_NOUN", - "вздохнуть_VERB_облегчённо_ADV", - "вздохнуть_VERB_свободно_ADV", - "вздохнуть_VERB_свободный_ADV", - "вздёрнутый_ADJ_нос_NOUN", - "вздёрнутый_ADJ_носик_NOUN", - "вздёрнуть_VERB_нос_NOUN", - "вздёрнуть_VERB_носик_NOUN", - "взлетать_VERB_вверх_ADV", - "взлетать_VERB_над_ADP", - "взлететь_VERB_вверх_ADV", - "взлететь_VERB_высоко_ADV", - "взлететь_VERB_над_ADP", - "взломать_VERB_дверь_NOUN", - "взлётный_ADJ_полоса_NOUN", - "взмах_NOUN_крыло_NOUN", - "взмах_NOUN_рука_NOUN", - "взмахивать_VERB_крыло_NOUN", - "взмахивать_VERB_рука_NOUN", - "взмахнуть_VERB_ею_PRON", - "взмахнуть_VERB_крыло_NOUN", - "взмахнуть_VERB_рука_NOUN", - "взметнуться_VERB_вверх_ADV", - "взмокнуть_VERB_от_ADP", - "взмывать_VERB_вверх_ADV", - "взмыленный_ADJ_лошадь_NOUN", - "взмыть_VERB_вверх_ADV", - "взмыть_VERB_над_ADP", - "взобраться_VERB_наверх_ADV", - "взойти_VERB_луна_NOUN", - "взойти_VERB_солнце_NOUN", - "взор_NOUN_окинуть_VERB", - "взреветь_VERB_мотор_NOUN", - "взрослый_ADJ_барышня_NOUN", - "взрослый_ADJ_девица_NOUN", - "взрослый_ADJ_женщина_NOUN", - "взрослый_ADJ_мужик_NOUN", - "взрослый_ADJ_мужчина_NOUN", - "взрослый_ADJ_парень_NOUN", - "взрослый_ADJ_человек_NOUN", - "взрыв_NOUN_смех_NOUN", - "взрыв_NOUN_хохот_NOUN", - "взрывной_ADJ_волна_NOUN", - "взрывной_ADJ_устройство_NOUN", - "взрывчатый_ADJ_вещество_NOUN", - "взъерошить_VERB_волос_NOUN", - "взывать_VERB_к_ADP", - "взывать_VERB_о_ADP", - "взять_VERB_верх_NOUN", - "взять_VERB_инициатива_NOUN", - "взять_VERB_напрокат_ADV", - "взять_VERB_ножницы_NOUN", - "взять_VERB_проба_NOUN", - "взять_VERB_реванш_NOUN", - "взять_VERB_шефство_NOUN", - "взяться_VERB_за_ADP", - "вид_NOUN_будто_SCONJ", - "вид_NOUN_знаток_NOUN", - "вид_NOUN_исключение_NOUN", - "вид_NOUN_спорт_NOUN", - "вид_NOUN_транспорт_NOUN", - "видение_NOUN_исчезнуть_VERB", - "видимо_ADV_невидимый_ADV", - "видимый_ADJ_причина_NOUN", - "видимый_ADJ_удовольствие_NOUN", - "видимый_ADJ_усилие_NOUN", - "виднеться_VERB_вдали_ADV", - "виднеться_VERB_след_NOUN", - "видный_ADJ_издалёка_ADV", - "видный_ADJ_место_NOUN", - "визг_NOUN_броситься_VERB", - "визгливый_ADJ_голос_NOUN", - "визитный_ADJ_карточка_NOUN", - "вик_PROPN_любен_PROPN", - "вик_PROPN_любена_PROPN", - "викентий_PROPN_авилов_PROPN", - "викентий_PROPN_михаилович_PROPN", - "викентий_PROPN_павлович_PROPN", - "виконт_NOUN_де_PART", - "виконтесса_NOUN_де_PART", - "виктор_PROPN_андреевич_PROPN", - "виктор_PROPN_аполлонович_PROPN", - "виктор_PROPN_борисович_PROPN", - "виктор_PROPN_василиевич_PROPN", - "виктор_PROPN_викторович_PROPN", - "виктор_PROPN_григориевич_PROPN", - "виктор_PROPN_гюго_PROPN", - "виктор_PROPN_данилович_PROPN", - "виктор_PROPN_захарович_PROPN", - "виктор_PROPN_иванович_PROPN", - "виктор_PROPN_каюмович_PROPN", - "виктор_PROPN_макарович_PROPN", - "виктор_PROPN_николаевич_PROPN", - "виктор_PROPN_павлович_PROPN", - "виктор_PROPN_петрович_PROPN", - "виктор_PROPN_прокофиевич_PROPN", - "виктор_PROPN_сергеевич_PROPN", - "виктор_PROPN_степанович_PROPN", - "виктор_PROPN_трофимович_PROPN", - "виктория_PROPN_кириллович_PROPN", - "виктория_PROPN_петрович_PROPN", - "вильгельм_PROPN_телля_PROPN", - "вильнуть_VERB_хвост_NOUN", - "вилять_VERB_хвост_NOUN", - "вина_NOUN_перед_ADP", - "винни_PROPN_пух_PROPN", - "винный_ADJ_погреб_NOUN", - "винный_ADJ_ягода_NOUN", - "виновато_ADV_опустить_VERB", - "виновато_ADV_развести_VERB", - "виновато_ADV_улыбаться_VERB", - "виновато_ADV_улыбнуться_VERB", - "виновник_NOUN_торжество_NOUN", - "виноградный_ADJ_лоза_NOUN", - "винтовой_ADJ_лестница_NOUN", - "винтовочный_ADJ_выстрел_NOUN", - "винцент_PROPN_аркадиевич_PROPN", - "виолетта_PROPN_иванович_PROPN", - "вирусный_ADJ_частица_NOUN", - "висеть_VERB_над_ADP", - "висеть_VERB_объявление_NOUN", - "висеть_VERB_плакат_NOUN", - "висеть_VERB_портрет_NOUN", - "висеть_VERB_табличка_NOUN", - "висок_NOUN_стучать_VERB", - "висячий_ADJ_замок_NOUN", - "висячий_ADJ_лампа_NOUN", - "висячий_ADJ_мост_NOUN", - "виталий_PROPN_афанасиевич_PROPN", - "виталий_PROPN_павлович_PROPN", - "виталий_PROPN_романович_PROPN", - "виталий_PROPN_сергеевич_PROPN", - "витать_VERB_над_ADP", - "витой_ADJ_лестница_NOUN", - "витрина_NOUN_магазин_NOUN", - "вить_VERB_гнездо_NOUN", - "виться_VERB_вокруг_ADP", - "виться_VERB_волос_NOUN", - "виться_VERB_над_ADP", - "виться_VERB_растение_NOUN", - "витя_PROPN_огурцов_PROPN", - "витя_PROPN_пузыренко_PROPN", - "витя_PROPN_рындин_PROPN", - "вихрастый_ADJ_голова_NOUN", - "вихрь_NOUN_ворваться_VERB", - "вихрь_NOUN_нестись_VERB", - "вихрь_NOUN_понестись_VERB", - "вихрь_NOUN_пронестись_VERB", - "вихрь_NOUN_проноситься_VERB", - "вице_NOUN_адмирал_NOUN", - "вице_NOUN_губернатор_NOUN", - "вице_NOUN_король_NOUN", - "вице_NOUN_маршал_NOUN", - "вице_NOUN_президент_NOUN", - "вишнёвый_ADJ_варение_NOUN", - "вишнёвый_ADJ_дерево_NOUN", - "вишнёвый_ADJ_сад_NOUN", - "вишнёвый_ADJ_цвет_NOUN", - "включать_VERB_свет_NOUN", - "включить_VERB_двигатель_NOUN", - "включить_VERB_компьютер_NOUN", - "включить_VERB_магнитофон_NOUN", - "включить_VERB_мотор_NOUN", - "включить_VERB_радио_NOUN", - "включить_VERB_свет_NOUN", - "включить_VERB_телевизор_NOUN", - "включить_VERB_фонарик_NOUN", - "включить_VERB_фонарь_NOUN", - "включить_VERB_электрический_ADJ", - "вкрадчивый_ADJ_голос_NOUN", - "вкрадчивый_ADV_произнести_VERB", - "вкрадчивый_ADV_спросить_VERB", - "вкратце_PROPN_рассказать_VERB", - "вкус_NOUN_кровь_NOUN", - "вкусно_ADV_пахнуть_VERB", - "вкусный_ADJ_блюдо_NOUN", - "вкусный_ADJ_вещь_NOUN", - "вкусный_ADJ_еда_NOUN", - "вкусный_ADJ_завтрак_NOUN", - "вкусный_ADJ_запах_NOUN", - "вкусный_ADJ_кушанье_NOUN", - "вкусный_ADJ_мясо_NOUN", - "вкусный_ADJ_обед_NOUN", - "вкусный_ADJ_пища_NOUN", - "вкусный_ADJ_ужин_NOUN", - "владелец_NOUN_гасиенда_NOUN", - "владелец_NOUN_замок_NOUN", - "владелец_NOUN_магазин_NOUN", - "владетельный_ADJ_князь_NOUN", - "владеть_VERB_ею_PRON", - "владеть_VERB_оружие_NOUN", - "владимир_PROPN_александрович_PROPN", - "владимир_PROPN_алексеевич_PROPN", - "владимир_PROPN_андреевич_PROPN", - "владимир_PROPN_викторович_PROPN", - "владимир_PROPN_владимирович_PROPN", - "владимир_PROPN_геннадиевич_PROPN", - "владимир_PROPN_григориевич_PROPN", - "владимир_PROPN_дионисович_PROPN", - "владимир_PROPN_иванович_PROPN", - "владимир_PROPN_ильич_PROPN", - "владимир_PROPN_константинович_PROPN", - "владимир_PROPN_михаилович_PROPN", - "владимир_PROPN_николаевич_PROPN", - "владимир_PROPN_петрович_PROPN", - "владимир_PROPN_сергеевич_PROPN", - "владимир_PROPN_степанович_PROPN", - "владислав_PROPN_андреевич_PROPN", - "владислав_PROPN_геннадиевич_PROPN", - "владислав_PROPN_иванович_PROPN", - "владислав_PROPN_крапивин_PROPN", - "владислав_PROPN_николаевич_PROPN", - "владислав_PROPN_русланович_PROPN", - "владлен_PROPN_петрович_PROPN", - "влажность_NOUN_воздух_NOUN", - "влажный_ADJ_ветер_NOUN", - "влажный_ADJ_воздух_NOUN", - "влажный_ADJ_волос_NOUN", - "влажный_ADJ_земля_NOUN", - "влажный_ADJ_лоб_NOUN", - "влажный_ADJ_песок_NOUN", - "влажный_ADJ_почва_NOUN", - "влажный_ADJ_тряпка_NOUN", - "властвовать_VERB_над_ADP", - "властитель_NOUN_океан_NOUN", - "властный_ADJ_голос_NOUN", - "власть_NOUN_над_ADP", - "власть_NOUN_совет_PROPN", - "влево_ADV_вправо_ADV", - "влепить_VERB_ему_PRON", - "влиятельный_ADJ_лицо_NOUN", - "влюбленными_ADJ_глаз_NOUN", - "вместе_ADV_со_ADP", - "вместо_ADP_ответ_NOUN", - "вместо_ADP_приветствие_NOUN", - "вместо_ADP_привычный_ADJ", - "вместо_ADP_того_PRON", - "вмешаться_VERB_олег_PROPN", - "вне_ADP_всякий_DET", - "вне_ADP_зависимость_NOUN", - "вне_ADP_закон_NOUN", - "вне_ADP_опасность_NOUN", - "вне_ADP_очередь_NOUN", - "вне_ADP_подозрение_NOUN", - "вне_ADP_себя_PRON", - "внезапно_ADV_возникнуть_VERB", - "внезапно_ADV_вспыхнуть_VERB", - "внезапно_ADV_оборваться_VERB", - "внезапно_ADV_открыться_VERB", - "внезапно_ADV_прекратиться_VERB", - "внезапно_ADV_разбудить_VERB", - "внезапно_ADV_раздаться_VERB", - "внезапный_ADJ_исчезновение_NOUN", - "внезапный_ADJ_мысль_NOUN", - "внезапный_ADJ_нападение_NOUN", - "внезапный_ADJ_отъезд_NOUN", - "внезапный_ADJ_перемена_NOUN", - "внезапный_ADJ_порыв_NOUN", - "внезапный_ADJ_появление_NOUN", - "внезапный_ADJ_смерть_NOUN", - "внезапный_ADJ_удар_NOUN", - "внести_VERB_предложение_NOUN", - "внести_VERB_ясность_NOUN", - "внешне_ADV_спокойный_ADJ", - "внешний_ADJ_вид_NOUN", - "внешний_ADJ_мир_NOUN", - "внешний_ADJ_облик_NOUN", - "внешний_ADJ_оболочка_NOUN", - "внешний_ADJ_признак_NOUN", - "внешний_ADJ_спокойствие_NOUN", - "внешний_ADJ_среда_NOUN", - "внешний_ADJ_сходство_NOUN", - "внизу_ADV_расстилаться_VERB", - "внимание_NOUN_привлечь_VERB", - "внимательно_ADV_вглядеться_VERB", - "внимательно_ADV_вглядываться_VERB", - "внимательно_ADV_вслушиваться_VERB", - "внимательно_ADV_всматриваться_VERB", - "внимательно_ADV_всмотреться_VERB", - "внимательно_ADV_выслушать_VERB", - "внимательно_ADV_выслушивать_VERB", - "внимательно_ADV_изучать_VERB", - "внимательно_ADV_изучить_VERB", - "внимательно_ADV_исследовать_VERB", - "внимательно_ADV_наблюдать_VERB", - "внимательно_ADV_оглядеть_VERB", - "внимательно_ADV_оглядеться_VERB", - "внимательно_ADV_оглядывать_VERB", - "внимательно_ADV_осматривать_VERB", - "внимательно_ADV_осмотреть_VERB", - "внимательно_ADV_осмотреться_VERB", - "внимательно_ADV_поглядеть_VERB", - "внимательно_ADV_посмотреть_VERB", - "внимательно_ADV_приглядываться_VERB", - "внимательно_ADV_прислушаться_VERB", - "внимательно_ADV_прислушиваться_VERB", - "внимательно_ADV_присматриваться_VERB", - "внимательно_ADV_присмотреться_VERB", - "внимательно_ADV_просмотреть_VERB", - "внимательно_ADV_прочитать_VERB", - "внимательно_ADV_разглядывать_VERB", - "внимательно_ADV_рассматривать_VERB", - "внимательно_ADV_рассмотреть_VERB", - "внимательно_ADV_следить_VERB", - "внимательно_ADV_слушать_VERB", - "внимательно_ADV_смотреть_VERB", - "внимательный_ADJ_взгляд_NOUN", - "внимательный_ADJ_взор_NOUN", - "внимательный_ADJ_глаз_NOUN", - "внимательный_ADJ_наблюдатель_NOUN", - "внимательный_ADJ_осмотр_NOUN", - "вновь_ADV_обрести_VERB", - "вновь_ADV_погрузиться_VERB", - "вновь_ADV_прибыть_VERB", - "вновь_ADV_приняться_VERB", - "внутренний_ADJ_борьба_NOUN", - "внутренний_ADJ_волнение_NOUN", - "внутренний_ADJ_голос_NOUN", - "внутренний_ADJ_двор_NOUN", - "внутренний_ADJ_дворик_NOUN", - "внутренний_ADJ_карман_NOUN", - "внутренний_ADJ_мир_NOUN", - "внутренний_ADJ_орган_NOUN", - "внутренний_ADJ_поверхность_NOUN", - "внутренний_ADJ_покой_NOUN", - "внутренний_ADJ_помещение_NOUN", - "внутренний_ADJ_сторона_NOUN", - "внутренний_ADJ_убранство_NOUN", - "внутренний_ADJ_устройство_NOUN", - "внутри_ADP_корабль_NOUN", - "внутри_ADP_которого_PRON", - "внутрь_ADP_страна_NOUN", - "внушать_VERB_доверие_NOUN", - "внушать_VERB_страх_NOUN", - "внушать_VERB_уважение_NOUN", - "внушать_VERB_ужас_NOUN", - "внушительный_ADJ_вид_NOUN", - "внушительный_ADJ_размер_NOUN", - "внушить_VERB_ей_PRON", - "внушить_VERB_ему_PRON", - "внушить_VERB_им_PRON", - "вобрать_VERB_голова_NOUN", - "вовремя_ADV_вспомнить_VERB", - "вовремя_ADV_подоспеть_VERB", - "вовремя_ADV_предупредить_VERB", - "вовремя_ADV_спохватиться_VERB", - "вода_NOUN_закипеть_VERB", - "вода_NOUN_канула_NOUN", - "вода_NOUN_кануть_VERB", - "вода_NOUN_стекать_VERB", - "вода_NOUN_утечь_VERB", - "вода_NOUN_хлынуть_VERB", - "водительский_ADJ_право_NOUN", - "водить_VERB_палец_NOUN", - "водить_VERB_хоровод_NOUN", - "водка_NOUN_пить_VERB", - "водный_ADJ_гладь_NOUN", - "водный_ADJ_поверхность_NOUN", - "водный_ADJ_поток_NOUN", - "водный_ADJ_пространство_NOUN", - "водный_ADJ_процедура_NOUN", - "водный_ADJ_путь_NOUN", - "водный_ADJ_растение_NOUN", - "водный_ADJ_станция_NOUN", - "водный_ADJ_стихия_NOUN", - "водолазный_ADJ_костюм_NOUN", - "водонапорный_ADJ_башня_NOUN", - "водопроводный_ADJ_кран_NOUN", - "водопроводный_ADJ_труба_NOUN", - "водосточный_ADJ_труба_NOUN", - "водянистый_ADJ_глаз_NOUN", - "водяной_ADJ_жук_NOUN", - "водяной_ADJ_знак_NOUN", - "водяной_ADJ_крыса_NOUN", - "водяной_ADJ_лилия_NOUN", - "водяной_ADJ_мельница_NOUN", - "водяной_ADJ_пар_NOUN", - "водяной_ADJ_пара_NOUN", - "водяной_ADJ_поток_NOUN", - "водяной_ADJ_птица_NOUN", - "водяной_ADJ_пыль_NOUN", - "водяной_ADJ_растение_NOUN", - "водяной_ADJ_столб_NOUN", - "водяной_ADJ_струя_NOUN", - "воевать_VERB_против_ADP", - "военно_ADJ_морской_ADJ", - "военно_ADJ_полевой_ADJ", - "военно_ADJ_революционный_ADJ", - "военный_ADJ_академия_NOUN", - "военный_ADJ_выправка_NOUN", - "военный_ADJ_городок_NOUN", - "военный_ADJ_госпиталь_NOUN", - "военный_ADJ_губернатор_NOUN", - "военный_ADJ_действие_NOUN", - "военный_ADJ_дисциплина_NOUN", - "военный_ADJ_завод_NOUN", - "военный_ADJ_игра_NOUN", - "военный_ADJ_искусство_NOUN", - "военный_ADJ_карьера_NOUN", - "военный_ADJ_клич_NOUN", - "военный_ADJ_клич_PROPN", - "военный_ADJ_комендант_NOUN", - "военный_ADJ_комиссар_NOUN", - "военный_ADJ_корабль_NOUN", - "военный_ADJ_лётчик_NOUN", - "военный_ADJ_министерство_NOUN", - "военный_ADJ_министр_NOUN", - "военный_ADJ_моряк_NOUN", - "военный_ADJ_мундир_NOUN", - "военный_ADJ_округ_NOUN", - "военный_ADJ_оркестр_NOUN", - "военный_ADJ_положение_NOUN", - "военный_ADJ_служба_NOUN", - "военный_ADJ_совет_NOUN", - "военный_ADJ_суд_NOUN", - "военный_ADJ_судно_NOUN", - "военный_ADJ_тайна_NOUN", - "военный_ADJ_техника_NOUN", - "военный_ADJ_трибунал_NOUN", - "военный_ADJ_училище_NOUN", - "военный_ADJ_флот_NOUN", - "военный_ADJ_форма_NOUN", - "военный_ADJ_хитрость_NOUN", - "вожак_NOUN_стая_NOUN", - "вождь_NOUN_апачей_NOUN", - "вождь_NOUN_команчей_NOUN", - "вождь_NOUN_племя_NOUN", - "возбудить_VERB_любопытство_NOUN", - "возбудить_VERB_подозрение_NOUN", - "возбудить_VERB_состояние_NOUN", - "возбуждать_VERB_подозрение_NOUN", - "возбужденном_ADJ_состояние_NOUN", - "возвестить_VERB_о_ADP", - "возвещать_VERB_о_ADP", - "возвратить_VERB_свобода_NOUN", - "возвратиться_VERB_домой_ADV", - "возвратиться_VERB_обратно_ADV", - "возвратный_ADJ_путь_NOUN", - "возвратясь_VERB_домой_ADV", - "возвращаться_VERB_домой_ADV", - "возвращаться_VERB_обратно_ADV", - "возвращение_NOUN_домой_ADV", - "возвысить_VERB_голос_NOUN", - "возвышать_VERB_голос_NOUN", - "возвышаться_VERB_над_ADP", - "возвышенный_ADJ_место_NOUN", - "возвышенный_ADJ_чувство_NOUN", - "возглас_NOUN_удивление_NOUN", - "воздать_VERB_должное_NOUN", - "воздевать_VERB_рука_NOUN", - "воздержаться_VERB_от_ADP", - "воздерживаться_VERB_от_ADP", - "воздеть_VERB_рука_NOUN", - "воздух_NOUN_запахнуть_VERB", - "воздух_NOUN_наполниться_VERB", - "воздух_NOUN_насытить_VERB", - "воздух_NOUN_пропитать_VERB", - "воздушный_ADJ_бой_NOUN", - "воздушный_ADJ_волна_NOUN", - "воздушный_ADJ_замок_NOUN", - "воздушный_ADJ_змей_NOUN", - "воздушный_ADJ_змея_NOUN", - "воздушный_ADJ_корабль_NOUN", - "воздушный_ADJ_масса_NOUN", - "воздушный_ADJ_океан_NOUN", - "воздушный_ADJ_подушка_NOUN", - "воздушный_ADJ_поток_NOUN", - "воздушный_ADJ_поцелуй_NOUN", - "воздушный_ADJ_пространство_NOUN", - "воздушный_ADJ_путешествие_NOUN", - "воздушный_ADJ_струя_NOUN", - "воздушный_ADJ_судно_NOUN", - "воздушный_ADJ_течение_NOUN", - "воздушный_ADJ_тревога_NOUN", - "воздушный_ADJ_флот_NOUN", - "воздушный_ADJ_шар_NOUN", - "воздушный_ADJ_шарик_NOUN", - "воззвать_VERB_к_ADP", - "возиться_VERB_около_ADP", - "возлагать_VERB_больший_ADJ", - "возле_ADP_висок_NOUN", - "возле_ADP_ворот_NOUN", - "возле_ADP_вход_NOUN", - "возле_ADP_камин_NOUN", - "возле_ADP_которого_PRON", - "возле_ADP_крыльцо_NOUN", - "возле_ADP_печка_NOUN", - "возле_ADP_подъезд_NOUN", - "возле_ADP_самого_ADJ", - "возле_ADP_учительский_ADJ", - "возможность_NOUN_спастись_VERB", - "возможный_ADJ_вариант_NOUN", - "возможный_ADJ_последствие_NOUN", - "возмутиться_VERB_алёшка_PROPN", - "возмутиться_VERB_женька_PROPN", - "возмущённо_ADV_воскликнуть_VERB", - "вознаградить_VERB_вас_PRON", - "возникать_VERB_вопрос_NOUN", - "возникнуть_VERB_необходимость_NOUN", - "возникнуть_VERB_ощущение_NOUN", - "возникнуть_VERB_подозрение_NOUN", - "возникнуть_VERB_проблема_NOUN", - "возобновить_VERB_разговор_NOUN", - "возомнить_VERB_себя_PRON", - "возражать_VERB_против_ADP", - "возражение_NOUN_против_ADP", - "возразить_VERB_ник_PROPN", - "возразить_VERB_олег_PROPN", - "возрасти_VERB_до_ADP", - "возыметь_VERB_действие_NOUN", - "воин_NOUN_тьма_PROPN", - "воинский_ADJ_доблесть_NOUN", - "воинский_ADJ_часть_NOUN", - "воинский_ADJ_эшелон_NOUN", - "воинственный_ADJ_вид_NOUN", - "воинственный_ADJ_клич_NOUN", - "воинственный_ADJ_крик_NOUN", - "воинственный_ADJ_племя_NOUN", - "воинственный_ADJ_пыл_NOUN", - "вой_ADJ_сирена_NOUN", - "вой_NOUN_ветер_NOUN", - "вой_NOUN_волк_NOUN", - "войлочный_ADJ_шляпа_NOUN", - "война_NOUN_кончиться_VERB", - "войсковой_ADJ_операция_NOUN", - "войти_VERB_внутрь_ADP", - "войти_VERB_внутрь_ADV", - "вокзальный_ADJ_площадь_NOUN", - "вокруг_ADP_земля_PROPN", - "вокруг_ADP_костёр_NOUN", - "вокруг_ADP_ось_NOUN", - "вокруг_ADP_пояс_NOUN", - "вокруг_ADP_солнце_PROPN", - "вокруг_ADP_талия_NOUN", - "вокруг_ADP_шея_NOUN", - "вокруг_ADV_царить_VERB", - "волей_NOUN_неволей_ADV", - "волейбольный_ADJ_мяч_NOUN", - "волейбольный_ADJ_площадка_NOUN", - "волейбольный_ADJ_сетка_NOUN", - "волк_NOUN_выть_VERB", - "волк_PROPN_ларсен_PROPN", - "волна_NOUN_набегать_VERB", - "волна_NOUN_океан_NOUN", - "волна_NOUN_прибой_NOUN", - "волна_NOUN_разбиваться_VERB", - "волнение_NOUN_охватить_VERB", - "волнение_NOUN_улечься_VERB", - "волнистый_ADJ_волос_NOUN", - "волнистый_ADJ_линия_NOUN", - "володя_PROPN_дубинин_PROPN", - "волос_NOUN_дыбом_ADV", - "волос_NOUN_заплести_VERB", - "волос_NOUN_развеваться_VERB", - "волос_NOUN_рассыпаться_VERB", - "волос_NOUN_растрепаться_VERB", - "волосатый_ADJ_грудь_NOUN", - "волосатый_ADJ_рука_NOUN", - "волосяной_ADJ_голова_PROPN", - "волочить_VERB_за_ADP", - "волочить_VERB_нога_NOUN", - "волочиться_VERB_по_ADP", - "волчий_ADJ_аппетит_NOUN", - "волчий_ADJ_вождь_NOUN", - "волчий_ADJ_вой_NOUN", - "волчий_ADJ_зуб_NOUN", - "волчий_ADJ_стая_NOUN", - "волчий_ADJ_хвост_NOUN", - "волчий_ADJ_шкура_NOUN", - "волчий_ADJ_ягода_NOUN", - "волчий_ADJ_яма_NOUN", - "волшебник_NOUN_алёша_PROPN", - "волшебный_ADJ_жезл_NOUN", - "волшебный_ADJ_зеркало_NOUN", - "волшебный_ADJ_книга_NOUN", - "волшебный_ADJ_кольцо_NOUN", - "волшебный_ADJ_напиток_NOUN", - "волшебный_ADJ_палочка_NOUN", - "волшебный_ADJ_свирель_NOUN", - "волшебный_ADJ_свойство_NOUN", - "волшебный_ADJ_сила_NOUN", - "волшебный_ADJ_сказка_NOUN", - "волшебный_ADJ_страна_NOUN", - "волшебный_ADJ_фонарь_NOUN", - "волшебный_ADJ_царство_NOUN", - "вольный_ADJ_воздух_NOUN", - "вольный_ADJ_воля_NOUN", - "вольный_ADJ_птица_NOUN", - "вольный_ADJ_пуля_PROPN", - "вольный_ADJ_стрелка_NOUN", - "вольный_ADJ_стрелок_NOUN", - "воля_NOUN_божией_PROPN", - "воля_NOUN_божия_PROPN", - "воля_NOUN_божья_PROPN", - "воля_NOUN_неволей_ADV", - "воля_NOUN_неволя_NOUN", - "воля_PROPN_ваш_DET", - "вон_ADV_сколько_NUM", - "вон_ADV_туда_ADV", - "вон_PART_оно_PRON", - "вон_PART_отсюда_ADV", - "вон_PART_сколько_NUM", - "вон_PART_там_ADV", - "вон_PART_туда_ADV", - "вонзить_VERB_нож_NOUN", - "вонзить_VERB_шпор_NOUN", - "воображать_VERB_будто_SCONJ", - "воображать_VERB_себя_PRON", - "воображение_NOUN_рисовать_VERB", - "вообразить_VERB_будто_SCONJ", - "вообразить_VERB_себя_PRON", - "вообще_ADV_то_ADV", - "вооружить_VERB_всадник_NOUN", - "вооружить_VERB_копьями_NOUN", - "вооружить_VERB_лук_NOUN", - "вооружить_VERB_отряд_NOUN", - "вооружить_VERB_ружьё_NOUN", - "вооружить_VERB_сила_NOUN", - "вооружиться_VERB_терпение_NOUN", - "вооружённый_ADJ_человек_NOUN", - "воочию_ADV_убедиться_VERB", - "вопль_NOUN_отчаяние_NOUN", - "вопль_NOUN_ужас_NOUN", - "вопреки_ADP_всему_PRON", - "вопреки_ADP_обыкновение_NOUN", - "вопреки_ADP_ожидание_NOUN", - "вопрос_NOUN_задавать_VERB", - "вопрос_NOUN_задать_VERB", - "вопрос_NOUN_прозвучать_VERB", - "вопросительно_ADV_взглянуть_VERB", - "вопросительно_ADV_глядеть_VERB", - "вопросительно_ADV_глянуть_VERB", - "вопросительно_ADV_поглядеть_VERB", - "вопросительно_ADV_поднять_VERB", - "вопросительно_ADV_посмотреть_VERB", - "вопросительно_ADV_смотреть_VERB", - "вопросительно_ADV_уставиться_VERB", - "вопросительный_ADJ_взгляд_NOUN", - "вопросительный_ADJ_знак_NOUN", - "вопрошать_VERB_взгляд_NOUN", - "воробей_PROPN_воробеич_PROPN", - "воробьевы_ADJ_гора_NOUN", - "воробьевый_ADJ_гора_NOUN", - "воровато_ADV_оглянуться_VERB", - "вороной_ADJ_конь_NOUN", - "вороной_ADJ_лошадь_NOUN", - "ворот_NOUN_рубаха_NOUN", - "ворот_NOUN_рубашка_NOUN", - "ворота_NOUN_запереть_VERB", - "ворота_NOUN_открыться_VERB", - "ворота_NOUN_распахнуться_VERB", - "воротиться_VERB_домой_ADV", - "воротиться_VERB_назад_ADV", - "воротник_NOUN_куртка_NOUN", - "воротник_NOUN_рубашка_NOUN", - "ворчливый_ADJ_голос_NOUN", - "восемнадцатый_ADJ_век_NOUN", - "восемнадцатый_ADJ_год_NOUN", - "восемнадцать_NUM_год_NOUN", - "восемнадцать_NUM_тысяча_NOUN", - "восемнадцать_NUM_час_NOUN", - "восемь_NUM_год_NOUN", - "восемь_NUM_девять_NUM", - "восемь_NUM_километр_NOUN", - "восемь_NUM_месяц_NOUN", - "восемь_NUM_миля_NOUN", - "восемь_NUM_тысяча_NOUN", - "восемь_NUM_фут_NOUN", - "восемь_NUM_час_NOUN", - "восемь_NUM_штука_NOUN", - "восемьдесят_NUM_год_NOUN", - "восемьдесят_NUM_километр_NOUN", - "восемьдесят_NUM_пять_NUM", - "восемьдесят_NUM_тысяча_NOUN", - "воскликнуть_VERB_даша_PROPN", - "воскликнуть_VERB_диего_PROPN", - "воскликнуть_VERB_жерар_PROPN", - "воскликнуть_VERB_лейхтвейс_PROPN", - "воскликнуть_VERB_лешка_PROPN", - "воскликнуть_VERB_макар_PROPN", - "воскликнуть_VERB_миссис_PROPN", - "воскликнуть_VERB_мотька_PROPN", - "воскликнуть_VERB_ромка_PROPN", - "воскликнуть_VERB_филя_PROPN", - "восклицательный_ADJ_знак_NOUN", - "восковой_ADJ_свеча_NOUN", - "восковой_ADJ_фигура_NOUN", - "воскресный_ADJ_день_NOUN", - "воскресный_ADJ_утро_NOUN", - "воскресный_ADJ_школа_NOUN", - "воспаление_NOUN_лёгкий_ADJ", - "воспаление_NOUN_лёгкое_NOUN", - "воспаленные_ADJ_глаз_NOUN", - "воспалить_VERB_глаз_NOUN", - "воспитание_NOUN_ребёнок_NOUN", - "воспитанный_ADJ_человек_NOUN", - "воспитательный_ADJ_дом_NOUN", - "воспитательный_ADJ_работа_NOUN", - "воспитательный_ADJ_цель_NOUN", - "воспитать_VERB_девочка_NOUN", - "воспитать_VERB_мальчик_NOUN", - "воспитывать_VERB_ребёнок_NOUN", - "воспользоваться_VERB_благоприятный_ADJ", - "воспользоваться_VERB_ею_PRON", - "воспользоваться_VERB_ими_PRON", - "воспользоваться_VERB_момент_NOUN", - "воспользоваться_VERB_отсутствие_NOUN", - "воспользоваться_VERB_пауза_NOUN", - "воспользоваться_VERB_случай_NOUN", - "воспользоваться_VERB_суматоха_NOUN", - "воспользоваться_VERB_тем_PRON", - "воспользоваться_VERB_удобный_ADJ", - "воспользоваться_VERB_услуга_NOUN", - "воспоминание_NOUN_детство_NOUN", - "воспоминание_NOUN_о_ADP", - "воспоминание_NOUN_об_ADP", - "восприниматься_VERB_как_SCONJ", - "воспрянуть_VERB_дух_NOUN", - "восставать_VERB_против_ADP", - "восстановить_VERB_порядок_NOUN", - "восстановить_VERB_против_ADP", - "восстановить_VERB_справедливость_NOUN", - "восстать_VERB_против_ADP", - "восторженно_ADV_воскликнуть_VERB", - "восторженно_ADV_закричать_VERB", - "восторженно_ADV_кричать_VERB", - "восторженный_ADJ_взгляд_NOUN", - "восторженный_ADJ_возглас_NOUN", - "восторженный_ADJ_восклицание_NOUN", - "восторженный_ADJ_крик_NOUN", - "восторжествовать_VERB_над_ADP", - "восточный_ADJ_берег_NOUN", - "восточный_ADJ_ветер_NOUN", - "восточный_ADJ_долгота_NOUN", - "восточный_ADJ_единоборство_NOUN", - "восточный_ADJ_окраина_NOUN", - "восточный_ADJ_побережье_NOUN", - "восточный_ADJ_пруссия_PROPN", - "восточный_ADJ_сибирь_PROPN", - "восточный_ADJ_сказка_NOUN", - "восточный_ADJ_склон_NOUN", - "восточный_ADJ_фронт_NOUN", - "восточный_ADJ_часть_NOUN", - "восхищаться_VERB_ею_PRON", - "восхищенно_ADV_воскликнуть_VERB", - "восхищённый_ADJ_взгляд_NOUN", - "восхищённый_ADJ_взор_NOUN", - "восхищённый_ADJ_глаз_NOUN", - "восход_NOUN_солнце_NOUN", - "восход_NOUN_солнце_PROPN", - "восходить_VERB_солнце_NOUN", - "восьмиклассник_NOUN_москва_PROPN", - "восьмой_ADJ_а_NOUN", - "восьмой_ADJ_б_NOUN", - "восьмой_ADJ_в_NOUN", - "восьмой_ADJ_класс_NOUN", - "восьмой_ADJ_март_NOUN", - "восьмой_ADJ_этаж_NOUN", - "вот_ADV_вот_PART", - "вот_PART_незадача_NOUN", - "вот_PART_полюбуйтесь_VERB", - "вот_PART_ужо_ADV", - "воцариться_VERB_глубокий_ADJ", - "воцариться_VERB_молчание_NOUN", - "воцариться_VERB_мёртвый_ADJ", - "воцариться_VERB_полный_ADJ", - "воцариться_VERB_тишина_NOUN", - "впалый_ADJ_глаз_NOUN", - "впалый_ADJ_грудь_NOUN", - "впалый_ADJ_щека_NOUN", - "впервые_ADV_напечатать_VERB", - "впервые_ADV_опубликовать_VERB", - "впервые_ADV_увидеть_VERB", - "впереди_ADP_всех_PRON", - "впереди_ADP_отряд_NOUN", - "впереди_ADV_показаться_VERB", - "вперемежку_ADV_с_ADP", - "вперемежку_NOUN_с_ADP", - "впечатление_NOUN_будто_SCONJ", - "впечатление_NOUN_которое_PRON", - "впечатление_NOUN_произвести_VERB", - "впечатление_NOUN_производить_VERB", - "впиться_VERB_взгляд_NOUN", - "впиться_VERB_глаз_NOUN", - "впиться_VERB_зуб_NOUN", - "вплотную_ADV_подойти_VERB", - "вплотную_ADV_приблизиться_VERB", - "вплоть_ADV_до_ADP", - "вполне_ADV_безопасный_ADJ", - "вполне_ADV_благополучно_ADV", - "вполне_ADV_вероятно_ADV", - "вполне_ADV_вероятный_ADJ", - "вполне_ADV_взрослый_ADJ", - "вполне_ADV_возможно_ADV", - "вполне_ADV_возможный_ADJ", - "вполне_ADV_доверять_VERB", - "вполне_ADV_довольный_ADJ", - "вполне_ADV_допускать_VERB", - "вполне_ADV_достаточный_ADJ", - "вполне_ADV_достойный_ADJ", - "вполне_ADV_естественно_ADV", - "вполне_ADV_естественный_ADJ", - "вполне_ADV_законный_ADJ", - "вполне_ADV_заслуживать_VERB", - "вполне_ADV_заслужить_VERB", - "вполне_ADV_искренне_ADV", - "вполне_ADV_искренний_ADJ", - "вполне_ADV_логичный_ADJ", - "вполне_ADV_надёжный_ADJ", - "вполне_ADV_нормальный_ADJ", - "вполне_ADV_объяснимый_ADJ", - "вполне_ADV_оправдывать_VERB", - "вполне_ADV_оправиться_VERB", - "вполне_ADV_определённый_ADJ", - "вполне_ADV_оценить_VERB", - "вполне_ADV_подходящий_ADJ", - "вполне_ADV_полагаться_VERB", - "вполне_ADV_положиться_VERB", - "вполне_ADV_понятный_ADJ", - "вполне_ADV_порядочный_ADJ", - "вполне_ADV_правдоподобный_ADJ", - "вполне_ADV_пригодный_ADJ", - "вполне_ADV_приемлемый_ADJ", - "вполне_ADV_прилично_ADV", - "вполне_ADV_приличный_ADJ", - "вполне_ADV_разделять_VERB", - "вполне_ADV_разумный_ADJ", - "вполне_ADV_реальный_ADJ", - "вполне_ADV_самостоятельный_ADJ", - "вполне_ADV_серьезно_ADV", - "вполне_ADV_современный_ADJ", - "вполне_ADV_согласный_ADJ", - "вполне_ADV_сознавать_VERB", - "вполне_ADV_соответствовать_VERB", - "вполне_ADV_справедливый_ADJ", - "вполне_ADV_убеждённый_ADJ", - "вполне_ADV_уверена_ADJ", - "вполне_ADV_уверенный_ADJ", - "вполне_ADV_уверены_ADJ", - "вполне_ADV_удовлетворительный_ADJ", - "вполне_ADV_удовлетворить_VERB", - "вполне_ADV_удовлетворять_VERB", - "вполне_ADV_уместный_ADJ", - "вполне_ADV_устраивать_VERB", - "вполне_ADV_хватить_VERB", - "вправо_ADV_влево_ADV", - "вправо_ADV_то_SCONJ", - "вприпрыжку_ADV_бежать_VERB", - "вприпрыжку_ADV_побежать_VERB", - "враг_NOUN_народ_NOUN", - "вражда_NOUN_между_ADP", - "враждебный_ADJ_взгляд_NOUN", - "враждебный_ADJ_действие_NOUN", - "враждебный_ADJ_намерение_NOUN", - "враждебный_ADJ_отношение_NOUN", - "враждебный_ADJ_племя_NOUN", - "враждебный_ADJ_чувство_NOUN", - "враждовать_VERB_между_ADP", - "вражеский_ADJ_корабль_NOUN", - "вражеский_ADJ_пуля_NOUN", - "вражеский_ADJ_самолёт_NOUN", - "вражеский_ADJ_солдат_NOUN", - "вражеский_ADJ_танк_NOUN", - "врач_NOUN_ратов_PROPN", - "врачебный_ADJ_помощь_NOUN", - "вращательный_ADJ_движение_NOUN", - "вращать_VERB_глаз_NOUN", - "вращаться_VERB_вокруг_ADP", - "вращение_NOUN_земля_PROPN", - "вредный_ADJ_влияние_NOUN", - "вредный_ADJ_насекомое_NOUN", - "вредный_ADJ_привычка_NOUN", - "временной_ADJ_правительство_NOUN", - "время_NOUN_каникул_NOUN", - "время_NOUN_отлив_NOUN", - "вровень_ADV_с_ADP", - "вроде_ADP_того_PRON", - "вроде_ADV_бы_AUX", - "вроде_ADV_бы_PART", - "вроде_ADV_бы_PRON", - "вряд_ADV_ли_PART", - "всадить_VERB_ему_PRON", - "всадник_NOUN_подъехать_VERB", - "всадник_NOUN_скакать_VERB", - "все_ADV_равный_ADJ", - "все_PART_близкий_ADV", - "все_PART_быстрый_ADV", - "все_PART_высоко_ADJ", - "все_PART_глубокий_ADV", - "все_PART_громкий_ADV", - "все_PART_медленный_ADV", - "все_PART_меньше_NUM", - "все_PART_настойчивый_ADV", - "все_PART_отчётливый_ADV", - "все_PART_реже_ADV", - "все_PART_сильный_ADV", - "все_PART_таки_PART", - "все_PART_тесный_ADV", - "все_PART_чаще_ADV", - "все_PART_шире_ADV", - "все_PART_явственный_ADV", - "все_PART_ясный_ADV", - "все_PRON_благополучный_ADJ", - "все_PRON_вокруг_ADV", - "все_PRON_наладиться_VERB", - "все_PRON_начистоту_VERB", - "все_PRON_некогда_ADJ", - "все_PRON_нипочем_VERB", - "все_PRON_обдумать_VERB", - "все_PRON_обстоять_VERB", - "все_PRON_перемешаться_VERB", - "все_PRON_перепутаться_VERB", - "все_PRON_повскакать_VERB", - "все_PRON_предусмотреть_VERB", - "все_PRON_продумать_VERB", - "все_PRON_разъясниться_VERB", - "все_PRON_смолкнуть_VERB", - "все_PRON_стихнуть_VERB", - "все_PRON_сходиться_VERB", - "все_PRON_уладить_VERB", - "все_PRON_уладиться_VERB", - "всевозможный_ADJ_предосторожность_NOUN", - "всевозможный_ADJ_цвет_NOUN", - "всеволод_PROPN_григориевич_PROPN", - "всеволод_PROPN_николаевич_PROPN", - "всеволод_PROPN_сергеевич_PROPN", - "всегда_ADV_побеждать_VERB", - "всего_ADV_делов_NOUN", - "всего_ADV_лишь_PART", - "всего_ADV_навсего_ADV", - "всего_ADV_навсего_VERB", - "всего_ADV_то_ADV", - "всего_PART_восемь_NUM", - "всего_PART_два_NUM", - "всего_PART_двенадцать_NUM", - "всего_PART_лишь_PART", - "всего_PART_навсего_ADJ", - "всего_PART_навсего_ADV", - "всего_PART_навсего_VERB", - "всего_PART_несколько_NUM", - "всего_PART_один_NUM", - "всего_PART_одиннадцать_NUM", - "всего_PART_одна_NUM", - "всего_PART_полтора_NUM", - "всего_PART_полчаса_NOUN", - "всего_PART_пятнадцать_NUM", - "всего_PART_пять_NUM", - "всего_PART_семь_NUM", - "всего_PART_три_NUM", - "всего_PART_четыре_NUM", - "всего_PART_шесть_NUM", - "всего_PRON_маху_NOUN", - "всего_PRON_остального_ADJ", - "всего_PRON_размаху_NOUN", - "всем_PRON_виноватый_ADJ", - "всем_PRON_известный_ADJ", - "всем_PRON_подражать_VERB", - "всем_PRON_подряд_ADV", - "всем_PRON_признаться_VERB", - "всем_PRON_разобраться_VERB", - "всем_PRON_скаку_NOUN", - "всем_PRON_сознаться_VERB", - "всемирно_ADV_известный_ADJ", - "всемирный_ADJ_потоп_NOUN", - "всему_PRON_вина_NOUN", - "всему_PRON_научить_VERB", - "всеобщий_ADJ_внимание_NOUN", - "всеобщий_ADJ_обозрение_NOUN", - "всеобщий_ADJ_уважение_NOUN", - "всеобщий_ADJ_удивление_NOUN", - "всех_PRON_подряд_ADV", - "всецело_ADV_зависеть_VERB", - "всецело_ADV_поглотить_VERB", - "вскарабкаться_VERB_наверх_ADV", - "вскидывать_VERB_голова_NOUN", - "вскидывать_VERB_рука_NOUN", - "вскинуть_VERB_бровь_NOUN", - "вскинуть_VERB_вверх_ADV", - "вскинуть_VERB_винтовка_NOUN", - "вскинуть_VERB_голова_NOUN", - "вскинуть_VERB_ружьё_NOUN", - "вскипятить_VERB_вода_NOUN", - "всклокоченными_ADJ_волос_NOUN", - "вскользь_ADV_заметить_VERB", - "вскоре_ADV_выясниться_VERB", - "вскоре_ADV_после_ADP", - "вскричать_VERB_дон_PROPN", - "вскричать_VERB_рауль_PROPN", - "вскричать_VERB_ромка_PROPN", - "вскружить_VERB_голова_NOUN", - "вскрыть_VERB_конверт_NOUN", - "вскрыть_VERB_пакет_NOUN", - "вскрыть_VERB_письмо_NOUN", - "вслед_ADV_за_ADP", - "вслед_ADV_убегать_VERB", - "вслед_ADV_удаляться_VERB", - "вследствие_ADP_того_PRON", - "вслух_ADV_произнести_VERB", - "вслух_ADV_прочесть_VERB", - "вслух_ADV_прочитать_VERB", - "вслух_ADV_размышлять_VERB", - "вслух_ADV_рассуждать_VERB", - "вслух_ADV_читать_VERB", - "всматриваться_VERB_вдаль_ADV", - "вспахать_VERB_поле_NOUN", - "всплеск_NOUN_вода_NOUN", - "всплеснуть_VERB_рука_NOUN", - "всплёскивать_VERB_рука_NOUN", - "вспоминать_VERB_прошлое_NOUN", - "вспомнить_VERB_вчерашний_ADJ", - "вспомнить_VERB_про_ADP", - "вспотеть_VERB_лицо_NOUN", - "вспотеть_VERB_лоб_NOUN", - "вспыхивать_VERB_огонёк_NOUN", - "вспыхивать_VERB_яркий_ADJ", - "вспыхнуть_VERB_огонёк_NOUN", - "вспыхнуть_VERB_пламя_NOUN", - "вспыхнуть_VERB_пожар_NOUN", - "вспыхнуть_VERB_свет_NOUN", - "вспыхнуть_VERB_яркий_ADJ", - "вспышка_NOUN_гнев_NOUN", - "вспышка_NOUN_молния_NOUN", - "вставать_VERB_вставать_VERB", - "вставать_VERB_дыбом_ADV", - "вставать_VERB_рано_ADV", - "вставить_VERB_ключ_NOUN", - "вставить_VERB_стекло_NOUN", - "встать_VERB_дыбом_ADV", - "встать_VERB_отряхнуться_VERB", - "встать_VERB_пройтись_VERB", - "встревоженно_ADV_спросить_VERB", - "встревожить_VERB_голос_NOUN", - "встретиться_VERB_взгляд_NOUN", - "встречать_VERB_гость_NOUN", - "встречаться_VERB_редко_ADV", - "встречный_ADJ_ветер_NOUN", - "встречный_ADJ_машина_NOUN", - "встречный_ADJ_поезд_NOUN", - "встречный_ADJ_судно_NOUN", - "встряхивать_VERB_голова_NOUN", - "встряхнуть_VERB_голова_NOUN", - "вступаться_VERB_за_ADP", - "вступительный_ADJ_экзамен_NOUN", - "вступиться_VERB_за_ADP", - "всходить_VERB_солнце_NOUN", - "всюду_ADV_виднеться_VERB", - "всякий_ADJ_другой_ADJ", - "всякий_ADJ_раз_NOUN", - "всякий_DET_вздор_NOUN", - "всякий_DET_всячина_NOUN", - "всякий_DET_всячиной_ADJ", - "всякий_DET_гадость_NOUN", - "всякий_DET_глупость_NOUN", - "всякий_DET_дрянь_NOUN", - "всякий_DET_ерунда_NOUN", - "всякий_DET_живность_NOUN", - "всякий_DET_мелочь_NOUN", - "всякий_DET_мусор_NOUN", - "всякий_DET_небылица_NOUN", - "всякий_DET_нечисть_NOUN", - "всякий_DET_осторожность_NOUN", - "всякий_DET_пакость_NOUN", - "всякий_DET_пожарный_ADJ", - "всякий_DET_приключение_NOUN", - "всякий_DET_род_NOUN", - "всякий_DET_рухлядь_NOUN", - "всякий_DET_случай_NOUN", - "всякий_DET_снедь_NOUN", - "всякий_DET_сомнение_NOUN", - "всякий_DET_сопротивление_NOUN", - "всякий_DET_хлам_NOUN", - "всякий_DET_чепуха_NOUN", - "всякий_DET_чушь_NOUN", - "всякое_ADJ_бывать_VERB", - "всячески_ADV_стараться_VERB", - "всё_ADV_равный_ADJ", - "всё_ADV_таки_PART", - "всё_NOUN_равный_ADJ", - "всё_NOUN_таки_PART", - "всё_PART_близкий_ADV", - "всё_PART_быстрый_ADV", - "всё_PART_высоко_ADJ", - "всё_PART_глубокий_ADV", - "всё_PART_громкий_ADV", - "всё_PART_равный_ADJ", - "всё_PART_реже_ADV", - "всё_PART_сильный_ADV", - "всё_PART_таки_PART", - "всё_PART_чаще_ADV", - "всё_PRON_вокруг_ADV", - "всё_PRON_испортить_VERB", - "всё_PRON_обойтись_VERB", - "всё_PRON_равный_ADJ", - "всё_PRON_стихнуть_VERB", - "всё_PROPN_равный_ADJ", - "всём_PRON_виноватый_ADJ", - "втайне_ADV_надеяться_VERB", - "втайне_ADV_от_ADP", - "вторила_VERB_ей_PRON", - "вторить_VERB_ей_PRON", - "вторить_VERB_ему_PRON", - "второй_ADJ_акт_NOUN", - "второй_ADJ_вариант_NOUN", - "второй_ADJ_звено_NOUN", - "второй_ADJ_мировой_ADJ", - "второй_ADJ_отделение_NOUN", - "второй_ADJ_пилот_NOUN", - "второй_ADJ_половина_NOUN", - "второй_ADJ_порция_NOUN", - "второй_ADJ_пришествие_NOUN", - "второй_ADJ_разряд_NOUN", - "второй_ADJ_ранг_NOUN", - "второй_ADJ_рота_NOUN", - "второй_ADJ_смена_NOUN", - "второй_ADJ_сутки_NOUN", - "второй_ADJ_четверть_NOUN", - "второй_ADJ_штурман_NOUN", - "второй_ADJ_этаж_NOUN", - "второй_ADJ_ярус_NOUN", - "втрое_ADV_больше_NUM", - "втягивать_VERB_воздух_NOUN", - "втягивать_VERB_голова_NOUN", - "втянуть_VERB_воздух_NOUN", - "втянуть_VERB_голова_NOUN", - "вулканический_ADJ_извержение_NOUN", - "вулканический_ADJ_происхождение_NOUN", - "входите_VERB_входить_VERB", - "входной_ADJ_билет_NOUN", - "входной_ADJ_дверь_NOUN", - "входной_ADJ_отверстие_NOUN", - "вцепиться_VERB_друг_PRON", - "вцепиться_VERB_зуб_NOUN", - "вчера_ADV_вечер_NOUN", - "вчерашний_ADJ_вечер_NOUN", - "вчерашний_ADJ_день_NOUN", - "вчерашний_ADJ_приключение_NOUN", - "вчерашний_ADJ_происшествие_NOUN", - "вчерашний_ADJ_разговор_NOUN", - "вчерашний_ADJ_событие_NOUN", - "вчетверо_ADV_сложить_VERB", - "вы_PRON_возьмите_VERB", - "вы_PRON_идите_VERB", - "вы_PRON_кажетесь_ADJ", - "вы_PRON_молодцы_ADJ", - "вы_PRON_намерен_ADJ", - "вы_PRON_подумайте_VERB", - "вы_PRON_позволите_VERB", - "вы_PRON_поймите_VERB", - "вы_PRON_примете_VERB", - "вы_PRON_скажете_VERB", - "вы_PRON_скажите_VERB", - "вы_PRON_согласитесь_VERB", - "вы_PRON_убедитесь_VERB", - "вы_PRON_уверены_ADJ", - "выбежать_VERB_вон_ADV", - "выбежать_VERB_из_ADP", - "выбежать_VERB_навстречу_ADV", - "выбивать_VERB_дробь_NOUN", - "выбиваться_VERB_из_ADP", - "выбирать_VERB_любой_DET", - "выбирать_VERB_самые_ADJ", - "выбираться_VERB_из_ADP", - "выбираться_VERB_отсюда_ADV", - "выбить_VERB_зуб_NOUN", - "выбить_VERB_окно_NOUN", - "выбить_VERB_стекло_NOUN", - "выбиться_VERB_из_ADP", - "выбор_NOUN_пасть_VERB", - "выбор_NOUN_профессия_NOUN", - "выборгский_ADJ_сторона_NOUN", - "выбрать_VERB_местечко_NOUN", - "выбрать_VERB_подходящий_ADJ", - "выбрать_VERB_председатель_NOUN", - "выбрать_VERB_самую_ADJ", - "выбрать_VERB_удобный_ADJ", - "выбраться_VERB_из_ADP", - "выбраться_VERB_наверх_ADV", - "выбраться_VERB_наружу_ADV", - "выбраться_VERB_отсюда_ADV", - "выбраться_VERB_оттуда_ADV", - "выбросить_VERB_вперёд_ADV", - "выбыть_VERB_из_ADP", - "вывалиться_VERB_из_ADP", - "вывернуть_VERB_карман_NOUN", - "вывернуть_VERB_наизнанку_ADV", - "вывести_VERB_заключение_NOUN", - "вывихнуть_VERB_нога_NOUN", - "выводить_VERB_буква_NOUN", - "выворачивать_VERB_карман_NOUN", - "выглядеть_VERB_весьма_ADV", - "выглядеть_VERB_вполне_ADV", - "выглядеть_VERB_довольно_ADV", - "выглядеть_VERB_усталый_ADJ", - "выглядывать_VERB_из_ADP", - "выглянуть_VERB_из_ADP", - "выглянуть_VERB_наружу_ADV", - "выглянуть_VERB_солнце_NOUN", - "выгнуть_VERB_спина_NOUN", - "выговаривать_VERB_слово_NOUN", - "выговорить_VERB_ни_PART", - "выгодный_ADJ_сделка_NOUN", - "выдаваться_VERB_вперёд_ADV", - "выдавить_VERB_из_ADP", - "выдавливать_VERB_из_ADP", - "выдать_VERB_замуж_ADV", - "выдать_VERB_тайна_NOUN", - "выдающийся_ADJ_способность_NOUN", - "выдвинуть_VERB_вперёд_ADV", - "выдвинуть_VERB_ящик_NOUN", - "выдвинуться_VERB_вперёд_ADV", - "выделяться_VERB_среди_ADP", - "выдержать_VERB_испытание_NOUN", - "выдержать_VERB_натиск_NOUN", - "выдержать_VERB_пауза_NOUN", - "выдержать_VERB_тяжесть_NOUN", - "выдержать_VERB_экзамен_NOUN", - "выдернуть_VERB_из_ADP", - "выждать_VERB_когда_SCONJ", - "выждать_VERB_минута_NOUN", - "выждать_VERB_момент_NOUN", - "выждать_VERB_немного_ADV", - "выждать_VERB_пока_SCONJ", - "выждать_VERB_удобный_ADJ", - "выжечь_VERB_солнце_NOUN", - "выжидательно_ADV_посмотреть_VERB", - "выжидательно_ADV_смотреть_VERB", - "выжидать_VERB_пока_SCONJ", - "выжидать_VERB_удобный_ADJ", - "вызвать_VERB_взрыв_NOUN", - "вызвать_VERB_врач_NOUN", - "вызвать_VERB_всеобщий_ADJ", - "вызвать_VERB_лифт_NOUN", - "вызвать_VERB_милиция_NOUN", - "вызвать_VERB_подозрение_NOUN", - "вызвать_VERB_скорый_ADJ", - "вызваться_VERB_проводить_VERB", - "вызывать_VERB_милиция_NOUN", - "вызывать_VERB_подозрение_NOUN", - "вызывать_VERB_скорый_ADJ", - "вызывать_VERB_сомнение_NOUN", - "выйти_VERB_замуж_ADV", - "выйти_VERB_наружу_ADV", - "выйти_VERB_победитель_NOUN", - "выкарабкаться_VERB_из_ADP", - "выкатить_VERB_глаз_NOUN", - "выключить_VERB_двигатель_NOUN", - "выключить_VERB_мотор_NOUN", - "выключить_VERB_свет_NOUN", - "выключить_VERB_телевизор_NOUN", - "выкопать_VERB_яма_NOUN", - "выкрасить_VERB_белый_ADJ", - "выкрикнуть_VERB_женька_PROPN", - "выкурить_VERB_трубка_NOUN", - "вылезать_VERB_из_ADP", - "вылезая_PROPN_из_ADP", - "вылезая_VERB_из_ADP", - "вылезти_VERB_из_ADP", - "вылезти_VERB_наружу_ADV", - "вылететь_VERB_из_ADP", - "выломать_VERB_дверь_NOUN", - "вымокнуть_VERB_до_ADP", - "вымолвить_VERB_ни_CCONJ", - "вымыть_VERB_пол_NOUN", - "вымыть_VERB_посуда_NOUN", - "вынести_VERB_оттуда_ADV", - "вынести_VERB_приговор_NOUN", - "вынести_VERB_решение_NOUN", - "вынимать_VERB_из_ADP", - "вынимать_VERB_оттуда_ADV", - "вынуждать_VERB_меня_PRON", - "вынуждена_ADJ_быть_AUX", - "вынужденный_ADJ_быть_AUX", - "вынужденный_ADJ_посадка_NOUN", - "вынуждены_ADJ_были_AUX", - "вынуть_VERB_бумажник_NOUN", - "вынуть_VERB_записной_ADJ", - "вынуть_VERB_из_ADP", - "вынуть_VERB_нож_NOUN", - "вынуть_VERB_оттуда_ADV", - "вынуть_VERB_платок_NOUN", - "вынуть_VERB_револьвер_NOUN", - "выныривать_VERB_из_ADP", - "вынырнуть_VERB_из_ADP", - "выпалить_VERB_женька_PROPN", - "выпасть_VERB_снег_NOUN", - "выписаться_VERB_из_ADP", - "выпить_VERB_вино_NOUN", - "выпить_VERB_водка_NOUN", - "выпить_VERB_глоток_NOUN", - "выпить_VERB_залп_NOUN", - "выпить_VERB_кофе_NOUN", - "выпить_VERB_кружка_NOUN", - "выпить_VERB_молоко_NOUN", - "выпить_VERB_рюмка_NOUN", - "выпить_VERB_стакан_NOUN", - "выпить_VERB_чай_NOUN", - "выпить_VERB_чашка_NOUN", - "выпить_VERB_чаю_NOUN", - "выплыть_VERB_наружу_ADV", - "выползать_VERB_из_ADP", - "выползти_VERB_из_ADP", - "выполнение_NOUN_задание_NOUN", - "выполнить_VERB_долг_NOUN", - "выполнить_VERB_задание_NOUN", - "выполнить_VERB_любой_DET", - "выполнить_VERB_обещание_NOUN", - "выполнить_VERB_поручение_NOUN", - "выполнить_VERB_приказ_NOUN", - "выполнить_VERB_приказание_NOUN", - "выполнить_VERB_просьба_NOUN", - "выполнять_VERB_задание_NOUN", - "выполнять_VERB_любой_DET", - "выполнять_VERB_обязанность_NOUN", - "выполнять_VERB_поручение_NOUN", - "выполнять_VERB_приказ_NOUN", - "выполнять_VERB_приказание_NOUN", - "выполнять_VERB_роль_NOUN", - "выпорхнуть_VERB_из_ADP", - "выпросить_VERB_у_ADP", - "выпрыгивать_VERB_из_ADP", - "выпрыгнуть_VERB_из_ADP", - "выпрямить_VERB_спина_NOUN", - "выпуклый_ADJ_глаз_NOUN", - "выпуклый_ADJ_лоб_NOUN", - "выпускать_VERB_клуб_NOUN", - "выпускной_ADJ_бал_NOUN", - "выпускной_ADJ_вечер_NOUN", - "выпускной_ADJ_класс_NOUN", - "выпускной_ADJ_экзамен_NOUN", - "выпутаться_VERB_из_ADP", - "выпутываться_VERB_из_ADP", - "выпученные_ADJ_глаз_NOUN", - "выпученными_ADJ_глаз_NOUN", - "выпучить_VERB_глаз_NOUN", - "выпытать_VERB_у_ADP", - "выпятив_VERB_грудь_NOUN", - "выпятить_VERB_грудь_NOUN", - "выпячивать_VERB_грудь_NOUN", - "выработать_VERB_план_NOUN", - "выражать_VERB_глубокий_ADJ", - "выражать_VERB_желание_NOUN", - "выражать_VERB_крайний_ADJ", - "выражать_VERB_удивление_NOUN", - "выражение_NOUN_лицо_NOUN", - "выразительно_ADV_посмотреть_VERB", - "выразительный_ADJ_взгляд_NOUN", - "выразительный_ADJ_жест_NOUN", - "выразительный_ADJ_лицо_NOUN", - "выразить_VERB_желание_NOUN", - "выразить_VERB_надежда_NOUN", - "выразить_VERB_согласие_NOUN", - "выразить_VERB_сожаление_NOUN", - "выразить_VERB_удивление_NOUN", - "вырвавшись_VERB_из_ADP", - "вырвать_VERB_листок_NOUN", - "вырваться_VERB_вздох_NOUN", - "вырваться_VERB_вперёд_ADV", - "вырваться_VERB_наружу_ADV", - "вырезать_VERB_из_ADP", - "вырезка_NOUN_из_ADP", - "выручить_VERB_деньга_NOUN", - "вырывать_VERB_друг_PRON", - "вырываться_VERB_из_ADP", - "вырываться_VERB_наружу_ADV", - "вырыть_VERB_могила_NOUN", - "вырыть_VERB_яма_NOUN", - "высвободить_VERB_рука_NOUN", - "высвободиться_VERB_из_ADP", - "высекать_VERB_искра_NOUN", - "высечь_VERB_огонь_NOUN", - "выситься_VERB_над_ADP", - "высказать_VERB_вслух_ADV", - "высказать_VERB_предположение_NOUN", - "высказывать_VERB_свой_DET", - "выскакивать_VERB_из_ADP", - "выскальзывать_VERB_из_ADP", - "выскользнуть_VERB_из_ADP", - "выскочить_VERB_из_ADP", - "выскочить_VERB_наружу_ADV", - "выслать_VERB_вперёд_ADV", - "выслушать_VERB_доклад_NOUN", - "выслушать_VERB_рассказ_NOUN", - "высматривать_VERB_добыча_NOUN", - "высовывать_VERB_голова_NOUN", - "высовывать_VERB_нос_NOUN", - "высовывать_VERB_язык_NOUN", - "высовываться_VERB_из_ADP", - "высокий_ADJ_башня_NOUN", - "высокий_ADJ_воин_NOUN", - "высокий_ADJ_гора_NOUN", - "высокий_ADJ_давление_NOUN", - "высокий_ADJ_ель_NOUN", - "высокий_ADJ_забор_NOUN", - "высокий_ADJ_звание_NOUN", - "высокий_ADJ_каблук_NOUN", - "высокий_ADJ_кирпичный_ADJ", - "высокий_ADJ_колокольня_NOUN", - "высокий_ADJ_математика_NOUN", - "высокий_ADJ_мачта_NOUN", - "высокий_ADJ_награда_NOUN", - "высокий_ADJ_напряжение_NOUN", - "высокий_ADJ_насыпь_NOUN", - "высокий_ADJ_начальство_NOUN", - "высокий_ADJ_нота_NOUN", - "высокий_ADJ_образование_NOUN", - "высокий_ADJ_оценка_NOUN", - "высокий_ADJ_пилотаж_NOUN", - "высокий_ADJ_плечистый_ADJ", - "высокий_ADJ_причёска_NOUN", - "высокий_ADJ_разряд_NOUN", - "высокий_ADJ_резной_ADJ", - "высокий_ADJ_рост_NOUN", - "высокий_ADJ_сан_NOUN", - "высокий_ADJ_сановник_NOUN", - "высокий_ADJ_свод_NOUN", - "высокий_ADJ_сорт_NOUN", - "высокий_ADJ_сосна_NOUN", - "высокий_ADJ_спинка_NOUN", - "высокий_ADJ_статный_ADJ", - "высокий_ADJ_степень_NOUN", - "высокий_ADJ_стройный_ADJ", - "высокий_ADJ_ступень_NOUN", - "высокий_ADJ_сутулый_ADJ", - "высокий_ADJ_сфера_NOUN", - "высокий_ADJ_табурет_NOUN", - "высокий_ADJ_температура_NOUN", - "высокий_ADJ_тополь_NOUN", - "высокий_ADJ_трава_NOUN", - "высокий_ADJ_уровень_NOUN", - "высокий_ADJ_утёс_NOUN", - "высокий_ADJ_учебный_ADJ", - "высокий_ADJ_холм_NOUN", - "высокий_ADJ_худой_ADJ", - "высокий_ADJ_худощавый_ADJ", - "высокий_ADJ_частота_NOUN", - "высокий_ADJ_чин_NOUN", - "высокий_ADJ_широкоплечий_ADJ", - "высокий_ADJ_широта_NOUN", - "высоко_ADJ_высоко_ADJ", - "высоко_ADJ_колено_NOUN", - "высоко_ADJ_крыша_NOUN", - "высоко_ADJ_рост_NOUN", - "высоко_ADJ_средний_ADJ", - "высоко_ADV_вверх_ADV", - "высоко_ADV_вздыматься_VERB", - "высоко_ADV_вскидывать_VERB", - "высоко_ADV_высоко_ADV", - "высоко_ADV_задрать_VERB", - "высоко_ADV_локоть_NOUN", - "высоко_ADV_над_ADP", - "высоко_ADV_оценить_VERB", - "высоко_ADV_поднимать_VERB", - "высоко_ADV_подниматься_VERB", - "высоко_ADV_поднять_VERB", - "высоко_ADV_подпрыгивать_VERB", - "высоко_ADV_подпрыгнуть_VERB", - "высоко_ADV_ценить_VERB", - "высоко_ADV_цениться_VERB", - "высокомерный_ADJ_взгляд_NOUN", - "высокомерный_ADJ_тон_NOUN", - "высокопоставленный_ADJ_лицо_NOUN", - "высота_NOUN_м_NOUN", - "высота_NOUN_метр_NOUN", - "высота_NOUN_полёт_NOUN", - "высота_NOUN_птичий_ADJ", - "высотный_ADJ_дом_NOUN", - "высотный_ADJ_здание_NOUN", - "выставить_VERB_вперёд_ADV", - "выставить_VERB_напоказ_ADV", - "выставлять_VERB_напоказ_ADV", - "выстроиться_VERB_вдоль_ADP", - "выступ_NOUN_скала_NOUN", - "выступ_NOUN_стена_NOUN", - "выступать_VERB_вперёд_ADV", - "выступать_VERB_против_ADP", - "выступить_VERB_вперёд_ADV", - "выступить_VERB_капелька_NOUN", - "выступить_VERB_крупный_ADJ", - "выступить_VERB_пот_NOUN", - "выступить_VERB_против_ADP", - "выступить_VERB_слеза_NOUN", - "высунуть_VERB_голова_NOUN", - "высунуть_VERB_нос_NOUN", - "высунуть_VERB_язык_NOUN", - "высунуться_VERB_из_ADP", - "высунуться_VERB_наружу_ADV", - "вытаращенными_ADJ_глаз_NOUN", - "вытаращив_NOUN_глаз_NOUN", - "вытаращить_VERB_глаз_NOUN", - "вытаскивать_VERB_из_ADP", - "вытащить_VERB_из_ADP", - "вытащить_VERB_оттуда_ADV", - "вытащить_VERB_пистолет_NOUN", - "вытащить_VERB_револьвер_NOUN", - "вытекать_VERB_из_ADP", - "вытереть_VERB_вспотеть_VERB", - "вытереть_VERB_губа_NOUN", - "вытереть_VERB_ладонь_NOUN", - "вытереть_VERB_лоб_NOUN", - "вытереть_VERB_мокрый_ADJ", - "вытереть_VERB_нос_NOUN", - "вытереть_VERB_платок_NOUN", - "вытереть_VERB_пот_NOUN", - "вытереть_VERB_пыль_NOUN", - "вытереть_VERB_рукав_NOUN", - "вытереть_VERB_слеза_NOUN", - "вытесать_VERB_из_ADP", - "вытирать_VERB_лоб_NOUN", - "вытирать_VERB_мокрый_ADJ", - "вытирать_VERB_платок_NOUN", - "вытирать_VERB_пот_NOUN", - "вытирать_VERB_пыль_NOUN", - "вытирать_VERB_рукав_NOUN", - "вытирать_VERB_слеза_NOUN", - "выточить_VERB_из_ADP", - "вытрясти_VERB_из_ADP", - "вытряхнуть_VERB_из_ADP", - "вытягивать_VERB_шея_NOUN", - "вытянутый_ADJ_лицо_NOUN", - "вытянуть_VERB_вверх_ADV", - "вытянуть_VERB_вперёд_ADV", - "вытянуть_VERB_губа_NOUN", - "вытянуть_VERB_лапа_NOUN", - "вытянуть_VERB_нога_NOUN", - "вытянуть_VERB_рука_NOUN", - "вытянуть_VERB_шея_NOUN", - "вытянуться_VERB_лицо_NOUN", - "выудить_VERB_из_ADP", - "выучить_VERB_наизусть_ADV", - "выучить_VERB_урок_NOUN", - "выучиться_VERB_читать_VERB", - "выхватить_VERB_из_ADP", - "выхватить_VERB_кинжал_NOUN", - "выхватить_VERB_меч_NOUN", - "выхватить_VERB_нож_NOUN", - "выхватить_VERB_пистолет_NOUN", - "выхватить_VERB_револьвер_NOUN", - "выхватить_VERB_сабля_NOUN", - "выхватить_VERB_шпага_NOUN", - "выхватывать_VERB_из_ADP", - "выхлопной_ADJ_газ_NOUN", - "выхлопной_ADJ_труба_NOUN", - "выходец_NOUN_из_ADP", - "выходить_VERB_замуж_ADV", - "выходить_VERB_наружу_ADV", - "выходной_ADJ_дверь_NOUN", - "выходной_ADJ_день_NOUN", - "выходной_ADJ_камера_NOUN", - "выходной_ADJ_люк_NOUN", - "выходной_ADJ_отверстие_NOUN", - "вычерпывать_VERB_вода_NOUN", - "вычислительный_ADJ_машина_NOUN", - "вычитка_NOUN_глюк_PROPN", - "вышагивать_VERB_по_ADP", - "выше_ADV_колено_NOUN", - "выше_ADV_локоть_NOUN", - "выше_ADV_подниматься_VERB", - "вышибить_VERB_дверь_NOUN", - "вышить_VERB_золото_NOUN", - "выяснение_NOUN_отношение_NOUN", - "выяснить_VERB_причина_NOUN", - "выясниться_VERB_поздний_ADV", - "выясниться_VERB_что_SCONJ", - "выяснять_VERB_отношение_NOUN", - "выясняться_VERB_что_SCONJ", - "вьючный_ADJ_животное_NOUN", - "вьючный_ADJ_лошадь_NOUN", - "вьющийся_ADJ_волос_NOUN", - "вьющийся_ADJ_растение_NOUN", - "вязальный_ADJ_спица_NOUN", - "вязанка_NOUN_дров_NOUN", - "вязанка_NOUN_хворост_NOUN", - "вязаный_ADJ_кофта_NOUN", - "вязаный_ADJ_шапка_NOUN", - "вязаный_ADJ_шапочка_NOUN", - "вязать_VERB_чулок_NOUN", - "вяленый_ADJ_мясо_NOUN", - "вяленый_ADJ_рыба_NOUN", - "вячеслав_PROPN_акимович_PROPN", - "вячеслав_PROPN_семёнович_PROPN", - "г_NOUN_жа_PROPN", - "г_NOUN_жи_NOUN", - "г_NOUN_н_NOUN", - "г_NOUN_н_PROPN", - "г_PROPN_о_ADP", - "га_NOUN_га_NOUN", - "гав_NOUN_гав_NOUN", - "гавайский_ADJ_остров_NOUN", - "гавриил_PROPN_адрианович_PROPN", - "гага_PROPN_говорить_VERB", - "гадкий_ADJ_мальчишка_NOUN", - "гадкий_ADJ_утёнок_NOUN", - "гаечный_ADJ_ключ_NOUN", - "газета_NOUN_журнал_NOUN", - "газета_NOUN_напечатать_VERB", - "газета_NOUN_объявление_NOUN", - "газета_NOUN_писать_VERB", - "газетный_ADJ_бумага_NOUN", - "газетный_ADJ_вырезка_NOUN", - "газетный_ADJ_заметка_NOUN", - "газетный_ADJ_киоск_NOUN", - "газетный_ADJ_лист_NOUN", - "газетный_ADJ_статья_NOUN", - "газированной_ADJ_вода_NOUN", - "газовый_ADJ_баллон_PROPN", - "газовый_ADJ_баллончик_NOUN", - "газовый_ADJ_горелка_NOUN", - "газовый_ADJ_плита_NOUN", - "газовый_ADJ_рожок_NOUN", - "газовый_ADJ_фонарь_NOUN", - "гай_NOUN_до_PROPN", - "гай_PROPN_до_PROPN", - "гайд_PROPN_парк_PROPN", - "галина_PROPN_андреевич_PROPN", - "галина_PROPN_аркадиевич_PROPN", - "галина_PROPN_василиевич_PROPN", - "галина_PROPN_владимирович_PROPN", - "галина_PROPN_гаврилович_PROPN", - "галина_PROPN_иванович_PROPN", - "галина_PROPN_никитович_PROPN", - "галина_PROPN_николаевич_PROPN", - "галина_PROPN_петрович_PROPN", - "галина_PROPN_сергеевич_PROPN", - "галина_PROPN_степанович_PROPN", - "галоп_NOUN_помчаться_VERB", - "галстук_NOUN_бабочка_NOUN", - "ганс_PROPN_карлович_PROPN", - "ганс_PROPN_христиан_PROPN", - "ганс_PROPN_ёжик_PROPN", - "гаральд_PROPN_кнут_PROPN", - "гармонировать_VERB_с_ADP", - "гарольд_PROPN_иванович_PROPN", - "гарри_PROPN_блью_PROPN", - "гарри_PROPN_грант_PROPN", - "гарри_PROPN_кембэл_PROPN", - "гарри_PROPN_поттер_PROPN", - "гарри_PROPN_тэксон_PROPN", - "гасиенда_NOUN_лас_PROPN", - "гасить_VERB_свет_NOUN", - "гастон_PROPN_де_PART", - "гвардейский_ADJ_офицер_NOUN", - "где_ADV_были_PRON", - "где_ADV_гарантия_NOUN", - "где_ADV_либо_ADV", - "где_ADV_нибудь_ADV", - "где_ADV_помещаться_VERB", - "где_ADV_то_ADV", - "где_ADV_храниться_VERB", - "гедеон_PROPN_спилет_PROPN", - "гек_PROPN_финн_PROPN", - "генерал_NOUN_адъютант_NOUN", - "генерал_NOUN_бонапарт_PROPN", - "генерал_NOUN_гверреро_PROPN", - "генерал_NOUN_губернатор_NOUN", - "генерал_NOUN_ибаньес_PROPN", - "генерал_NOUN_лейтенант_NOUN", - "генерал_NOUN_майор_NOUN", - "генерал_NOUN_рубио_PROPN", - "генерал_NOUN_честер_PROPN", - "генерал_NOUN_шито_PROPN", - "генерал_PROPN_ржау_PROPN", - "генеральный_ADJ_директор_NOUN", - "генеральный_ADJ_консул_NOUN", - "генеральный_ADJ_прокурор_NOUN", - "генеральный_ADJ_репетиция_NOUN", - "генеральный_ADJ_уборка_NOUN", - "генеральный_ADJ_штаб_NOUN", - "генеральский_ADJ_мундир_NOUN", - "генетический_ADJ_материал_NOUN", - "гениальный_ADJ_идея_NOUN", - "гениальный_ADJ_мысль_NOUN", - "геннадий_PROPN_василиевич_PROPN", - "геннадий_PROPN_иванович_PROPN", - "геннадий_PROPN_петрович_PROPN", - "генри_PROPN_тресиллиан_PROPN", - "генриетта_PROPN_амарович_PROPN", - "генриетта_PROPN_глебович_PROPN", - "генриетта_PROPN_густавович_PROPN", - "генрих_PROPN_ii_ADJ", - "генрих_PROPN_iii_ADJ", - "генрих_PROPN_iv_ADJ", - "генрих_PROPN_антон_PROPN", - "генрих_PROPN_марч_PROPN", - "генрих_PROPN_наваррский_PROPN", - "географический_ADJ_карта_NOUN", - "географический_ADJ_общество_NOUN", - "географический_ADJ_открытие_NOUN", - "географический_ADJ_положение_NOUN", - "геометрический_ADJ_фигура_NOUN", - "георгиевский_ADJ_кавалер_NOUN", - "георгиевский_ADJ_крест_NOUN", - "георгий_PROPN_алексеевич_PROPN", - "георгий_PROPN_давыдович_PROPN", - "георгий_PROPN_иванович_PROPN", - "георгий_PROPN_кузьмич_PROPN", - "георгий_PROPN_лукич_PROPN", - "георгий_PROPN_модестович_PROPN", - "георгий_PROPN_николаевич_PROPN", - "георгий_PROPN_семёнович_PROPN", - "гер_PROPN_расим_PROPN", - "герасим_PROPN_иванович_PROPN", - "герберт_PROPN_францевич_PROPN", - "герман_PROPN_ильич_PROPN", - "герман_PROPN_патерн_PROPN", - "герман_PROPN_тарасович_PROPN", - "герман_PROPN_титбюри_PROPN", - "германский_ADJ_армия_NOUN", - "герметически_ADV_закрыть_VERB", - "героический_ADJ_подвиг_NOUN", - "герой_NOUN_гражданский_ADJ", - "герой_NOUN_повесть_NOUN", - "герой_NOUN_роман_NOUN", - "герой_NOUN_советский_ADJ", - "герой_PROPN_советский_ADJ", - "геройский_ADJ_подвиг_NOUN", - "геройский_ADJ_поступок_NOUN", - "герцог_NOUN_гиз_PROPN", - "герцог_NOUN_де_PART", - "герцог_NOUN_медина_PROPN", - "герцог_PROPN_де_PART", - "герцогиня_NOUN_де_PART", - "гибельный_ADJ_для_ADP", - "гибкая_PROPN_нога_PROPN", - "гибкий_ADJ_ветвь_NOUN", - "гибкий_ADJ_нога_PROPN", - "гибкий_ADJ_тело_NOUN", - "гибралтарский_ADJ_пролив_NOUN", - "гигантский_ADJ_акция_NOUN", - "гигантский_ADJ_змея_NOUN", - "гигантский_ADJ_прыжок_NOUN", - "гигантский_ADJ_размер_NOUN", - "гигантский_ADJ_растение_NOUN", - "гигантский_ADJ_рост_NOUN", - "гигантский_ADJ_фигура_NOUN", - "гималайский_ADJ_гора_NOUN", - "гимнастический_ADJ_зал_NOUN", - "гимнастический_ADJ_упражнение_NOUN", - "гипотеза_NOUN_о_ADP", - "гирлянда_NOUN_цвет_NOUN", - "глава_NOUN_i_ADJ", - "глава_NOUN_ii_ADJ", - "глава_NOUN_iii_ADJ", - "глава_NOUN_iv_ADJ", - "глава_NOUN_ix_ADJ", - "глава_NOUN_v_ADJ", - "глава_NOUN_vi_ADJ", - "глава_NOUN_vii_ADJ", - "глава_NOUN_viii_ADJ", - "глава_NOUN_x_ADJ", - "глава_NOUN_x_PROPN", - "глава_NOUN_xi_ADJ", - "глава_NOUN_xii_ADJ", - "глава_NOUN_xiii_ADJ", - "глава_NOUN_xiv_ADJ", - "глава_NOUN_xix_ADJ", - "глава_NOUN_xv_ADJ", - "глава_NOUN_xvi_ADJ", - "глава_NOUN_xvii_ADJ", - "глава_NOUN_xviii_ADJ", - "глава_NOUN_xx_ADJ", - "глава_NOUN_xxi_ADJ", - "глава_NOUN_xxii_ADJ", - "глава_NOUN_xxiii_ADJ", - "глава_NOUN_xxiv_ADJ", - "глава_NOUN_xxix_ADJ", - "глава_NOUN_xxv_ADJ", - "глава_NOUN_xxvi_ADJ", - "глава_NOUN_xxvii_ADJ", - "глава_NOUN_xxviii_ADJ", - "глава_NOUN_восемнадцатый_ADJ", - "глава_NOUN_восьмая_PROPN", - "глава_NOUN_восьмой_ADJ", - "глава_NOUN_вторая_PROPN", - "глава_NOUN_двадцатый_ADJ", - "глава_NOUN_двадцать_NUM", - "глава_NOUN_двадцать_PROPN", - "глава_NOUN_двенадцатая_PROPN", - "глава_NOUN_двенадцатый_ADJ", - "глава_NOUN_девятая_PROPN", - "глава_NOUN_девятый_ADJ", - "глава_NOUN_десятая_NOUN", - "глава_NOUN_десятая_PROPN", - "глава_NOUN_десятый_ADJ", - "глава_NOUN_одиннадцатая_PROPN", - "глава_NOUN_одиннадцатый_ADJ", - "глава_NOUN_первая_PROPN", - "глава_NOUN_пятая_PROPN", - "глава_NOUN_пятнадцатый_ADJ", - "глава_NOUN_пятый_ADJ", - "глава_NOUN_седьмая_PROPN", - "глава_NOUN_седьмой_ADJ", - "глава_NOUN_семейство_NOUN", - "глава_NOUN_семнадцатый_ADJ", - "глава_NOUN_сорок_NOUN", - "глава_NOUN_третий_ADJ", - "глава_NOUN_третья_PROPN", - "глава_NOUN_тридцать_NUM", - "глава_NOUN_тридцать_PROPN", - "глава_NOUN_тринадцатый_ADJ", - "глава_NOUN_четвертая_PROPN", - "глава_NOUN_четвёртый_ADJ", - "глава_NOUN_четырнадцатый_ADJ", - "глава_NOUN_шестая_PROPN", - "глава_NOUN_шестнадцатый_ADJ", - "глава_NOUN_шестой_ADJ", - "глава_PROPN_i_ADJ", - "глава_PROPN_первый_ADJ", - "главарь_NOUN_шайка_NOUN", - "главный_ADJ_аллея_NOUN", - "главный_ADJ_астроном_NOUN", - "главный_ADJ_бухгалтер_NOUN", - "главный_ADJ_виновник_NOUN", - "главный_ADJ_врач_NOUN", - "главный_ADJ_вход_NOUN", - "главный_ADJ_героиня_NOUN", - "главный_ADJ_герой_NOUN", - "главный_ADJ_город_PROPN", - "главный_ADJ_задача_NOUN", - "главный_ADJ_инженер_NOUN", - "главный_ADJ_конструктор_NOUN", - "главный_ADJ_короед_PROPN", - "главный_ADJ_механик_NOUN", - "главный_ADJ_образ_NOUN", - "главный_ADJ_охотник_NOUN", - "главный_ADJ_повар_NOUN", - "главный_ADJ_приз_NOUN", - "главный_ADJ_редактор_NOUN", - "главный_ADJ_режиссёр_NOUN", - "главный_ADJ_роль_NOUN", - "главный_ADJ_советник_NOUN", - "главный_ADJ_судья_NOUN", - "главный_ADJ_управление_NOUN", - "главный_ADJ_штаб_NOUN", - "гладильный_ADJ_доска_NOUN", - "гладкий_ADJ_кожа_NOUN", - "гладкий_ADJ_лёд_NOUN", - "гладкий_ADJ_поверхность_NOUN", - "гладкий_ADJ_ствол_NOUN", - "гладко_ADV_выбрить_VERB", - "гладко_ADV_зачесать_VERB", - "гладко_ADV_отполировать_VERB", - "гладко_ADV_причесать_VERB", - "гладь_NOUN_вода_NOUN", - "глаз_NOUN_выколи_NOUN", - "глаз_NOUN_долой_NOUN", - "глаз_NOUN_заблестеть_VERB", - "глаз_NOUN_моргнуть_VERB", - "глаз_NOUN_навернуться_VERB", - "глаз_NOUN_навыкате_NOUN", - "глаз_NOUN_округлиться_VERB", - "глаз_NOUN_рябить_VERB", - "глаз_NOUN_слезиться_VERB", - "глаз_NOUN_слипаться_VERB", - "глаз_NOUN_сузиться_VERB", - "глаза_NOUN_его_PRON", - "глаза_NOUN_ее_PRON", - "глазной_ADJ_яблоко_NOUN", - "глафира_PROPN_петрович_PROPN", - "глафира_PROPN_сергеевич_PROPN", - "глеб_PROPN_алексеевич_PROPN", - "глеб_PROPN_андреевич_PROPN", - "глеб_PROPN_борисович_PROPN", - "глеб_PROPN_дмитриевич_PROPN", - "глиняный_ADJ_горшок_NOUN", - "глиняный_ADJ_кружка_NOUN", - "глиняный_ADJ_кувшин_NOUN", - "глиняный_ADJ_миска_NOUN", - "глиняный_ADJ_посуда_NOUN", - "глиняный_ADJ_сосуд_NOUN", - "глиняный_ADJ_трубка_NOUN", - "глиняный_ADJ_чашка_NOUN", - "глотать_VERB_воздух_NOUN", - "глотать_VERB_слеза_NOUN", - "глотать_VERB_слюна_NOUN", - "глотнуть_VERB_воздух_NOUN", - "глоток_NOUN_вино_NOUN", - "глоток_NOUN_вода_NOUN", - "глубина_NOUN_двор_NOUN", - "глубина_NOUN_душа_NOUN", - "глубина_NOUN_океан_NOUN", - "глубина_NOUN_пещера_NOUN", - "глубокий_ADJ_благодарность_NOUN", - "глубокий_ADJ_борозда_NOUN", - "глубокий_ADJ_вдох_NOUN", - "глубокий_ADJ_вздох_NOUN", - "глубокий_ADJ_впадина_NOUN", - "глубокий_ADJ_впечатление_NOUN", - "глубокий_ADJ_грусть_NOUN", - "глубокий_ADJ_древность_NOUN", - "глубокий_ADJ_дума_NOUN", - "глубокий_ADJ_жалость_NOUN", - "глубокий_ADJ_задумчивость_NOUN", - "глубокий_ADJ_канава_NOUN", - "глубокий_ADJ_колея_NOUN", - "глубокий_ADJ_колодец_NOUN", - "глубокий_ADJ_кресло_NOUN", - "глубокий_ADJ_молчание_NOUN", - "глубокий_ADJ_морщина_NOUN", - "глубокий_ADJ_мрак_NOUN", - "глубокий_ADJ_нежность_NOUN", - "глубокий_ADJ_ниша_NOUN", - "глубокий_ADJ_ночь_NOUN", - "глубокий_ADJ_обморок_NOUN", - "глубокий_ADJ_овраг_NOUN", - "глубокий_ADJ_осень_NOUN", - "глубокий_ADJ_печаль_NOUN", - "глубокий_ADJ_поклон_NOUN", - "глубокий_ADJ_почтение_NOUN", - "глубокий_ADJ_презрение_NOUN", - "глубокий_ADJ_признательность_NOUN", - "глубокий_ADJ_пропасть_NOUN", - "глубокий_ADJ_раздумье_NOUN", - "глубокий_ADJ_размышление_NOUN", - "глубокий_ADJ_разочарование_NOUN", - "глубокий_ADJ_рана_NOUN", - "глубокий_ADJ_ров_NOUN", - "глубокий_ADJ_складка_NOUN", - "глубокий_ADJ_скорбь_NOUN", - "глубокий_ADJ_смысл_NOUN", - "глубокий_ADJ_снег_NOUN", - "глубокий_ADJ_сон_NOUN", - "глубокий_ADJ_сострадание_NOUN", - "глубокий_ADJ_старость_NOUN", - "глубокий_ADJ_тарелка_NOUN", - "глубокий_ADJ_тишина_NOUN", - "глубокий_ADJ_траур_NOUN", - "глубокий_ADJ_трещина_NOUN", - "глубокий_ADJ_тыл_NOUN", - "глубокий_ADJ_тьма_NOUN", - "глубокий_ADJ_убеждение_NOUN", - "глубокий_ADJ_уважение_NOUN", - "глубокий_ADJ_удовлетворение_NOUN", - "глубокий_ADJ_уныние_NOUN", - "глубокий_ADJ_ущелие_NOUN", - "глубокий_ADJ_царапина_NOUN", - "глубокий_ADJ_шрам_NOUN", - "глубокий_ADJ_яма_NOUN", - "глубоко_ADV_вдохнуть_VERB", - "глубоко_ADV_вдыхать_VERB", - "глубоко_ADV_взволновать_VERB", - "глубоко_ADV_вздохнуть_VERB", - "глубоко_ADV_вздыхать_VERB", - "глубоко_ADV_внизу_ADV", - "глубоко_ADV_вонзиться_VERB", - "глубоко_ADV_врезаться_VERB", - "глубоко_ADV_глубоко_ADV", - "глубоко_ADV_дышать_VERB", - "глубоко_ADV_задуматься_VERB", - "глубоко_ADV_запавшими_VERB", - "глубоко_ADV_запасть_VERB", - "глубоко_ADV_засунуть_VERB", - "глубоко_ADV_огорчить_VERB", - "глубоко_ADV_опечалить_VERB", - "глубоко_ADV_оскорбить_VERB", - "глубоко_ADV_ошибаться_VERB", - "глубоко_ADV_поразить_VERB", - "глубоко_ADV_посадить_VERB", - "глубоко_ADV_потрясти_VERB", - "глубоко_ADV_растрогать_VERB", - "глубоко_ADV_тронуть_VERB", - "глубоко_ADV_убеждённый_ADJ", - "глубоко_ADV_уважать_VERB", - "глубокомысленно_ADV_заметить_VERB", - "глубокомысленный_ADJ_вид_NOUN", - "глубь_NOUN_квартира_NOUN", - "глубь_NOUN_лес_NOUN", - "глубь_NOUN_остров_NOUN", - "глубь_NOUN_страна_NOUN", - "глумиться_VERB_над_ADP", - "глупо_ADV_улыбаться_VERB", - "глупый_ADJ_вопрос_NOUN", - "глупый_ADJ_положение_NOUN", - "глупый_ADJ_шутка_NOUN", - "глухо_ADV_вскрикнуть_VERB", - "глухо_ADV_гудеть_VERB", - "глухо_ADV_доноситься_VERB", - "глухо_ADV_заворчать_VERB", - "глухо_ADV_зарычать_VERB", - "глухо_ADV_застонать_VERB", - "глухо_ADV_отозваться_VERB", - "глухо_ADV_проговорить_VERB", - "глухо_ADV_произнести_VERB", - "глухо_ADV_стонать_VERB", - "глухо_ADV_шуметь_VERB", - "глуховатый_ADJ_голос_NOUN", - "глухой_ADJ_ворчание_NOUN", - "глухой_ADJ_голос_NOUN", - "глухой_ADJ_гул_NOUN", - "глухой_ADJ_забор_NOUN", - "глухой_ADJ_звук_NOUN", - "глухой_ADJ_лесной_ADJ", - "глухой_ADJ_переулок_NOUN", - "глухой_ADJ_раскат_NOUN", - "глухой_ADJ_рокот_NOUN", - "глухой_ADJ_ропот_NOUN", - "глухой_ADJ_рыдание_NOUN", - "глухой_ADJ_рычание_NOUN", - "глухой_ADJ_рёв_NOUN", - "глухой_ADJ_стена_NOUN", - "глухой_ADJ_стон_NOUN", - "глухой_ADJ_стук_NOUN", - "глухой_ADJ_уголок_NOUN", - "глухой_ADJ_удар_NOUN", - "глухой_ADJ_шум_NOUN", - "глыба_NOUN_лёд_NOUN", - "глядеть_VERB_вдаль_ADV", - "глядеть_VERB_исподлобья_PROPN", - "глядеть_VERB_ка_INTJ", - "глядеть_VERB_поверх_ADP", - "гляди_NOUN_ка_PROPN", - "гляди_PROPN_глядеть_VERB", - "глянуть_VERB_вверх_ADV", - "глянуть_VERB_вниз_ADV", - "гм_NOUN_гм_INTJ", - "гм_PROPN_гм_INTJ", - "гнать_VERB_прочь_ADV", - "гнать_VERB_стадо_NOUN", - "гнаться_VERB_за_ADP", - "гневно_ADV_воскликнуть_VERB", - "гневно_ADV_крикнуть_VERB", - "гневно_ADV_сверкнуть_VERB", - "гневный_ADJ_взгляд_NOUN", - "гнести_VERB_тишина_NOUN", - "гнилой_ADJ_болото_NOUN", - "гнилой_ADJ_доска_NOUN", - "гнилой_ADJ_зуб_NOUN", - "гнусавый_ADJ_голос_NOUN", - "гнусный_ADJ_преступление_NOUN", - "гнуть_VERB_свой_DET", - "гнуть_VERB_спина_NOUN", - "гнуться_VERB_под_ADP", - "го_NOUN_а_NOUN", - "го_NOUN_б_NOUN", - "го_NOUN_го_NOUN", - "го_NOUN_класс_NOUN", - "говори_PROPN_скорее_ADV", - "говори_PROPN_скорый_ADV", - "говори_PROPN_толком_ADV", - "говорила_VERB_она_PRON", - "говорите_PROPN_говорить_VERB", - "говорить_VERB_астя_PROPN", - "год_NOUN_восемнадцать_NUM", - "год_NOUN_два_NOUN", - "год_NOUN_назад_ADV", - "год_NOUN_подряд_ADV", - "год_NOUN_семнадцать_NUM", - "год_NOUN_спустя_ADP", - "год_NOUN_сто_ADV", - "год_NOUN_тому_ADV", - "год_NOUN_тринадцать_NUM", - "годж_PROPN_уррикан_PROPN", - "годный_ADJ_для_ADP", - "годовой_ADJ_доход_NOUN", - "голова_NOUN_брике_PROPN", - "голова_NOUN_закружиться_VERB", - "голова_NOUN_кружиться_VERB", - "голова_NOUN_морочить_VERB", - "голова_NOUN_набок_ADV", - "голова_NOUN_разболеться_VERB", - "головной_ADJ_боль_NOUN", - "головной_ADJ_мозг_NOUN", - "головной_ADJ_платок_NOUN", - "головной_ADJ_убор_NOUN", - "головокружительный_ADJ_быстрота_NOUN", - "головокружительный_ADJ_высота_NOUN", - "голод_NOUN_жажда_NOUN", - "голод_NOUN_морить_VERB", - "голод_NOUN_холод_NOUN", - "голодный_ADJ_волк_NOUN", - "голодный_ADJ_желудок_NOUN", - "голодный_ADJ_смерть_NOUN", - "голос_NOUN_диктор_NOUN", - "голос_NOUN_зазвучать_VERB", - "голос_NOUN_звучать_VERB", - "голос_NOUN_прозвучать_VERB", - "голосовой_ADJ_связка_NOUN", - "голубоватый_ADJ_дым_NOUN", - "голубоватый_ADJ_свет_NOUN", - "голубой_ADJ_бант_NOUN", - "голубой_ADJ_глаз_NOUN", - "голубой_ADJ_глазок_NOUN", - "голубой_ADJ_искра_NOUN", - "голубой_ADJ_краска_NOUN", - "голубой_ADJ_лента_NOUN", - "голубой_ADJ_ленточка_NOUN", - "голубой_ADJ_лисица_PROPN", - "голубой_ADJ_майка_NOUN", - "голубой_ADJ_небо_NOUN", - "голубой_ADJ_пламя_NOUN", - "голубой_ADJ_платье_NOUN", - "голубой_ADJ_полоска_NOUN", - "голубой_ADJ_простор_NOUN", - "голубой_ADJ_сияние_NOUN", - "голубой_ADJ_страна_NOUN", - "голубой_ADJ_цапля_NOUN", - "голубой_ADJ_цвет_NOUN", - "голубой_ADJ_чашка_NOUN", - "голубой_ADJ_шёлковый_ADJ", - "голый_ADJ_ветвь_NOUN", - "голый_ADJ_ветка_NOUN", - "голый_ADJ_пятка_NOUN", - "голый_ADJ_скала_NOUN", - "голый_ADJ_степь_NOUN", - "голый_ADJ_тело_NOUN", - "голый_ADJ_череп_NOUN", - "гон_PROPN_конг_PROPN", - "гонсалес_PROPN_браво_PROPN", - "гончий_ADJ_собака_NOUN", - "гонять_VERB_мяч_NOUN", - "гоняться_VERB_друг_PRON", - "гоняться_VERB_за_ADP", - "гораздо_ADV_более_ADV", - "гораздо_ADV_больше_ADV", - "гораздо_ADV_больше_NUM", - "гораздо_ADV_быстрый_ADV", - "гораздо_ADV_высоко_ADJ", - "гораздо_ADV_долгий_ADV", - "гораздо_ADV_интересный_ADJ", - "гораздо_ADV_лучше_ADV", - "гораздо_ADV_лёгкий_ADJ", - "гораздо_ADV_маленький_ADV", - "гораздо_ADV_медленный_ADV", - "гораздо_ADV_менее_ADV", - "гораздо_ADV_меньше_NUM", - "гораздо_ADV_плохой_ADJ", - "гораздо_ADV_поздний_ADV", - "гораздо_ADV_приятный_ADJ", - "гораздо_ADV_простой_ADJ", - "гораздо_ADV_ранний_ADV", - "гораздо_ADV_реже_ADV", - "гораздо_ADV_сильный_ADJ", - "гораздо_ADV_сложный_ADJ", - "гораздо_ADV_старший_ADJ", - "гораздо_ADV_трудный_ADJ", - "гораздо_ADV_удобный_ADJ", - "гораздо_ADV_чаще_ADV", - "горбатый_ADJ_нос_NOUN", - "горбушка_NOUN_хлеб_NOUN", - "гордей_PROPN_василиевич_PROPN", - "гордиться_VERB_ею_PRON", - "гордиться_VERB_ими_PRON", - "гордиться_VERB_тем_PRON", - "гордо_ADV_вскинуть_VERB", - "гордо_ADV_выпрямиться_VERB", - "гордо_ADV_заявить_VERB", - "гордо_ADV_ответить_VERB", - "гордо_ADV_поднять_VERB", - "гордость_NOUN_заявить_VERB", - "гордость_NOUN_произнести_VERB", - "гордость_NOUN_сообщить_VERB", - "гордый_ADJ_вид_NOUN", - "гордый_ADJ_одиночество_NOUN", - "гордый_ADJ_осанка_NOUN", - "горе_NOUN_нетерпение_NOUN", - "горестно_ADV_вздохнуть_VERB", - "горестно_ADV_воскликнуть_VERB", - "гореть_VERB_головня_NOUN", - "гореть_VERB_желание_NOUN", - "гореть_VERB_костёр_NOUN", - "гореть_VERB_лампа_NOUN", - "гореть_VERB_лампочка_NOUN", - "гореть_VERB_лихорадочный_ADJ", - "гореть_VERB_нетерпение_NOUN", - "гореть_VERB_огонь_NOUN", - "гореть_VERB_свет_NOUN", - "гореть_VERB_свеча_NOUN", - "гореть_VERB_уголь_NOUN", - "гореть_VERB_факел_NOUN", - "гореть_VERB_фонарь_NOUN", - "гореть_VERB_яркий_ADJ", - "горечь_NOUN_подумать_VERB", - "горизонтальный_ADJ_положение_NOUN", - "гористый_ADJ_местность_NOUN", - "горло_NOUN_болеть_VERB", - "горло_NOUN_пересохнуть_VERB", - "горлышко_NOUN_бутылка_NOUN", - "горный_ADJ_баран_NOUN", - "горный_ADJ_вершина_NOUN", - "горный_ADJ_гряда_NOUN", - "горный_ADJ_долина_NOUN", - "горный_ADJ_дух_NOUN", - "горный_ADJ_инспектор_NOUN", - "горный_ADJ_институт_NOUN", - "горный_ADJ_козёл_NOUN", - "горный_ADJ_кряж_NOUN", - "горный_ADJ_массив_NOUN", - "горный_ADJ_озеро_NOUN", - "горный_ADJ_орёл_NOUN", - "горный_ADJ_перевал_NOUN", - "горный_ADJ_порода_NOUN", - "горный_ADJ_поток_NOUN", - "горный_ADJ_проход_NOUN", - "горный_ADJ_река_NOUN", - "горный_ADJ_речка_NOUN", - "горный_ADJ_ручей_NOUN", - "горный_ADJ_рыцарь_NOUN", - "горный_ADJ_склон_NOUN", - "горный_ADJ_страна_NOUN", - "горный_ADJ_тропа_NOUN", - "горный_ADJ_тропинка_NOUN", - "горный_ADJ_ущелие_NOUN", - "горный_ADJ_хребет_NOUN", - "горный_ADJ_хрусталь_NOUN", - "горный_ADJ_цепь_NOUN", - "городской_ADJ_больница_NOUN", - "городской_ADJ_власть_NOUN", - "городской_ADJ_ворот_NOUN", - "городской_ADJ_ворота_NOUN", - "городской_ADJ_воротам_NOUN", - "городской_ADJ_газета_NOUN", - "городской_ADJ_дума_NOUN", - "городской_ADJ_житель_NOUN", - "городской_ADJ_квартира_NOUN", - "городской_ADJ_население_NOUN", - "городской_ADJ_новость_NOUN", - "городской_ADJ_парк_NOUN", - "городской_ADJ_площадь_NOUN", - "городской_ADJ_ратуша_NOUN", - "городской_ADJ_сад_NOUN", - "городской_ADJ_стена_NOUN", - "городской_ADJ_театр_NOUN", - "городской_ADJ_транспорт_NOUN", - "городской_ADJ_тюрьма_NOUN", - "городской_ADJ_управа_NOUN", - "горохов_PROPN_данилов_PROPN", - "гороховый_ADJ_суп_NOUN", - "горсть_NOUN_песок_NOUN", - "гортанный_ADJ_голос_NOUN", - "гортанный_ADJ_звук_NOUN", - "гортанный_ADJ_крик_NOUN", - "горький_ADJ_дума_NOUN", - "горький_ADJ_мысль_NOUN", - "горький_ADJ_обида_NOUN", - "горький_ADJ_опыт_NOUN", - "горький_ADJ_разочарование_NOUN", - "горький_ADJ_редька_NOUN", - "горький_ADJ_слеза_NOUN", - "горький_ADJ_судьба_NOUN", - "горький_ADJ_улыбка_NOUN", - "горький_ADJ_упрёк_NOUN", - "горький_ADJ_усмешка_NOUN", - "горький_ADJ_участь_NOUN", - "горький_ADJ_чувство_NOUN", - "горько_ADV_вздохнуть_VERB", - "горько_ADV_горько_ADV", - "горько_ADV_заплакать_VERB", - "горько_ADV_зарыдать_VERB", - "горько_ADV_оплакивать_VERB", - "горько_ADV_плакать_VERB", - "горько_ADV_раскаиваться_VERB", - "горько_ADV_рыдать_VERB", - "горько_ADV_улыбнуться_VERB", - "горько_ADV_усмехнуться_VERB", - "горько_PROPN_плакать_VERB", - "горючий_ADJ_материал_NOUN", - "горючий_ADJ_слеза_NOUN", - "горячий_ADJ_благодарность_NOUN", - "горячий_ADJ_ванна_NOUN", - "горячий_ADJ_вода_NOUN", - "горячий_ADJ_воздух_NOUN", - "горячий_ADJ_волна_NOUN", - "горячий_ADJ_дыхание_NOUN", - "горячий_ADJ_желание_NOUN", - "горячий_ADJ_зола_NOUN", - "горячий_ADJ_источник_NOUN", - "горячий_ADJ_какао_NOUN", - "горячий_ADJ_картошка_NOUN", - "горячий_ADJ_кофе_NOUN", - "горячий_ADJ_молитва_NOUN", - "горячий_ADJ_молоко_NOUN", - "горячий_ADJ_пар_NOUN", - "горячий_ADJ_песок_NOUN", - "горячий_ADJ_поцелуй_NOUN", - "горячий_ADJ_привет_NOUN", - "горячий_ADJ_спор_NOUN", - "горячий_ADJ_суп_NOUN", - "горячий_ADJ_уголь_NOUN", - "горячий_ADJ_угольях_NOUN", - "горячий_ADJ_утюг_NOUN", - "горячий_ADJ_участие_NOUN", - "горячий_ADJ_чай_NOUN", - "горячо_ADV_благодарить_VERB", - "горячо_ADV_возразить_VERB", - "горячо_ADV_воскликнуть_VERB", - "горячо_ADV_заговорить_VERB", - "горячо_ADV_зашептать_VERB", - "горячо_ADV_любимый_ADJ", - "горячо_ADV_любить_VERB", - "горячо_ADV_молиться_VERB", - "горячо_ADV_обнять_VERB", - "горячо_ADV_обсуждать_VERB", - "горячо_ADV_поблагодарить_VERB", - "горячо_ADV_поддержать_VERB", - "горячо_ADV_пожать_VERB", - "горячо_ADV_поцеловать_VERB", - "горячо_ADV_спорить_VERB", - "горячо_ADV_убеждать_VERB", - "горячо_ADV_целовать_VERB", - "горящими_ADJ_глаз_NOUN", - "господи_PROPN_бог_NOUN", - "господи_PROPN_боже_PROPN", - "господи_PROPN_иисус_PROPN", - "господи_PROPN_помиловать_INTJ", - "господин_NOUN_аббат_NOUN", - "господин_NOUN_антон_PROPN", - "господин_NOUN_барон_NOUN", - "господин_NOUN_вульфран_PROPN", - "господин_NOUN_вульфрана_PROPN", - "господин_NOUN_генерал_NOUN", - "господин_NOUN_глоаген_PROPN", - "господин_NOUN_глоагена_PROPN", - "господин_NOUN_гюро_PROPN", - "господин_NOUN_де_PART", - "господин_NOUN_делиль_PROPN", - "господин_NOUN_директор_NOUN", - "господин_NOUN_домера_PROPN", - "господин_NOUN_инспектор_NOUN", - "господин_NOUN_комендант_NOUN", - "господин_NOUN_крабс_PROPN", - "господин_NOUN_луи_PROPN", - "господин_NOUN_макаров_PROPN", - "господин_NOUN_маркиз_NOUN", - "господин_NOUN_маркиз_PROPN", - "господин_NOUN_массей_PROPN", - "господин_NOUN_министр_NOUN", - "господин_NOUN_мишо_PROPN", - "господин_NOUN_монпарно_ADV", - "господин_NOUN_моони_PROPN", - "господин_NOUN_моррель_PROPN", - "господин_NOUN_мэр_NOUN", - "господин_NOUN_нуартье_PROPN", - "господин_NOUN_орлик_PROPN", - "господин_NOUN_офицер_NOUN", - "господин_NOUN_пастор_NOUN", - "господин_NOUN_полковник_NOUN", - "господин_NOUN_поручик_NOUN", - "господин_NOUN_префект_PROPN", - "господин_NOUN_прокурор_NOUN", - "господин_NOUN_профессор_NOUN", - "господин_NOUN_путилин_PROPN", - "господин_NOUN_сенатор_NOUN", - "господин_NOUN_следователь_NOUN", - "господин_NOUN_спрутс_PROPN", - "господин_NOUN_судья_NOUN", - "господин_NOUN_шмель_PROPN", - "господин_NOUN_шуазёль_PROPN", - "господин_NOUN_шульц_PROPN", - "господин_NOUN_эбергард_PROPN", - "господин_PROPN_капитан_NOUN", - "господин_PROPN_полковник_NOUN", - "господин_PROPN_профессор_NOUN", - "господский_ADJ_дом_NOUN", - "господство_NOUN_над_ADP", - "господствовать_VERB_над_ADP", - "господь_NOUN_бог_NOUN", - "господь_PROPN_бог_NOUN", - "господь_PROPN_бог_PROPN", - "господь_PROPN_да_CCONJ", - "госпожа_NOUN_гликерия_PROPN", - "госпожа_NOUN_де_PART", - "госпожа_NOUN_курти_PROPN", - "госпожа_NOUN_лиля_PROPN", - "госпожа_NOUN_маласси_PROPN", - "госпожа_NOUN_метцер_PROPN", - "госпожа_NOUN_сен_PROPN", - "госпожа_NOUN_фичини_PROPN", - "госпожа_NOUN_фламэй_PROPN", - "госпожа_PROPN_де_PART", - "гостеприимный_ADJ_хозяин_NOUN", - "гостеприимный_ADJ_хозяйка_NOUN", - "гостиничный_ADJ_номер_NOUN", - "гостиный_ADJ_двор_NOUN", - "гостить_VERB_у_ADP", - "государственный_ADJ_банк_NOUN", - "государственный_ADJ_важность_NOUN", - "государственный_ADJ_граница_NOUN", - "государственный_ADJ_деятель_NOUN", - "государственный_ADJ_издательство_NOUN", - "государственный_ADJ_измена_NOUN", - "государственный_ADJ_имущество_NOUN", - "государственный_ADJ_казна_NOUN", - "государственный_ADJ_преступник_NOUN", - "государственный_ADJ_служба_NOUN", - "государственный_ADJ_совет_NOUN", - "государственный_ADJ_тайна_NOUN", - "государственный_ADJ_флаг_NOUN", - "государь_NOUN_батюшка_NOUN", - "государь_NOUN_император_NOUN", - "готовить_VERB_еда_NOUN", - "готовить_VERB_завтрак_NOUN", - "готовить_VERB_обед_NOUN", - "готовить_VERB_пища_NOUN", - "готовить_VERB_ужин_NOUN", - "готовить_VERB_урок_NOUN", - "готовиться_VERB_к_ADP", - "готовность_NOUN_отозваться_VERB", - "готовность_NOUN_согласиться_VERB", - "готовый_ADJ_пожертвовать_VERB", - "готовый_ADJ_поклясться_VERB", - "готовый_ADJ_поручиться_VERB", - "готовый_ADJ_расплакаться_VERB", - "готовый_ADJ_сорваться_VERB", - "готовься_VERB_к_ADP", - "гравитационный_ADJ_поле_NOUN", - "град_NOUN_камень_NOUN", - "град_NOUN_катиться_VERB", - "град_NOUN_посыпаться_VERB", - "град_NOUN_пуля_NOUN", - "градус_NOUN_низкий_ADJ", - "градус_NOUN_северный_ADJ", - "градус_NOUN_южный_ADJ", - "гражданин_NOUN_начальник_NOUN", - "гражданский_ADJ_война_NOUN", - "грамматический_ADJ_ошибка_NOUN", - "граммофонный_ADJ_пластинка_NOUN", - "грандиозный_ADJ_план_NOUN", - "гранитный_ADJ_глыба_NOUN", - "гранитный_ADJ_дворец_NOUN", - "гранитный_ADJ_плита_NOUN", - "гранитный_ADJ_скала_NOUN", - "гранитный_ADJ_стена_NOUN", - "граница_NOUN_между_ADP", - "граничить_VERB_с_ADP", - "грань_NOUN_между_ADP", - "гранёный_ADJ_стакан_NOUN", - "граф_NOUN_артов_PROPN", - "граф_NOUN_батьяни_PROPN", - "граф_NOUN_де_PART", - "граф_NOUN_доринкорт_PROPN", - "граф_NOUN_доринкорта_PROPN", - "граф_NOUN_дракула_PROPN", - "граф_NOUN_дракулы_PROPN", - "граф_NOUN_дю_PART", - "граф_NOUN_дю_PROPN", - "граф_NOUN_каспар_PROPN", - "граф_NOUN_монте_PROPN", - "граф_NOUN_оливье_PROPN", - "граф_NOUN_пален_PROPN", - "граф_NOUN_сандор_PROPN", - "граф_NOUN_теба_PROPN", - "граф_NOUN_фон_PART", - "графиня_NOUN_артова_PROPN", - "графиня_NOUN_артовой_PROPN", - "графиня_NOUN_де_PART", - "графский_ADJ_усадьба_NOUN", - "грациозный_ADJ_движение_NOUN", - "гребень_NOUN_волна_NOUN", - "гребень_NOUN_гора_NOUN", - "гребень_NOUN_холм_NOUN", - "гребной_ADJ_винт_NOUN", - "грезить_VERB_о_ADP", - "греметь_VERB_гром_NOUN", - "греметь_VERB_музыка_NOUN", - "греметь_VERB_посуда_NOUN", - "греметь_VERB_цепь_NOUN", - "гремучий_ADJ_змея_NOUN", - "грен_PROPN_де_PROPN", - "греть_VERB_солнце_NOUN", - "грех_NOUN_далёкий_ADV", - "грех_NOUN_пополам_ADV", - "грех_NOUN_таить_VERB", - "грецкий_ADJ_орех_NOUN", - "греческий_ADJ_мифология_NOUN", - "греческий_ADJ_слово_NOUN", - "греческий_ADJ_язык_NOUN", - "гречневый_ADJ_каша_NOUN", - "грешный_ADJ_дело_NOUN", - "грешный_ADJ_душа_NOUN", - "гри_PROPN_гри_PROPN", - "гриб_NOUN_собирать_VERB", - "грибков_PROPN_майский_PROPN", - "григорий_PROPN_александрович_PROPN", - "григорий_PROPN_василиевич_PROPN", - "григорий_PROPN_владимирович_PROPN", - "григорий_PROPN_григориевич_PROPN", - "григорий_PROPN_евгениевич_PROPN", - "григорий_PROPN_евграфыч_PROPN", - "григорий_PROPN_иванович_PROPN", - "григорий_PROPN_ильич_PROPN", - "григорий_PROPN_маркович_PROPN", - "григорий_PROPN_матвеевич_PROPN", - "григорий_PROPN_михаилович_PROPN", - "григорий_PROPN_молодцов_PROPN", - "григорий_PROPN_шумов_PROPN", - "григорий_PROPN_шумова_PROPN", - "григорий_PROPN_яковлевич_PROPN", - "грифельный_ADJ_доска_NOUN", - "гробовой_ADJ_доска_NOUN", - "гробовой_ADJ_молчание_NOUN", - "гробовой_ADJ_тишина_NOUN", - "гроза_NOUN_разразиться_VERB", - "грозить_VERB_беда_NOUN", - "грозить_VERB_гибель_NOUN", - "грозить_VERB_кулак_NOUN", - "грозить_VERB_неминуемый_ADJ", - "грозить_VERB_опасность_NOUN", - "грозить_VERB_смертельный_ADJ", - "грозить_VERB_смерть_NOUN", - "грозно_ADV_крикнуть_VERB", - "грозно_ADV_спросить_VERB", - "грозный_ADJ_окрик_NOUN", - "грозный_ADJ_опасность_NOUN", - "грозный_ADJ_оружие_NOUN", - "грозный_ADJ_рычание_NOUN", - "грозный_ADJ_рёв_NOUN", - "грозный_ADJ_туча_NOUN", - "грозный_ADJ_царь_NOUN", - "грозовой_ADJ_туча_NOUN", - "грозовой_ADJ_фронт_NOUN", - "гром_NOUN_аплодисментов_NOUN", - "гром_NOUN_выстрел_NOUN", - "гром_NOUN_греметь_VERB", - "гром_NOUN_небесный_ADJ", - "гром_NOUN_поразить_VERB", - "гром_NOUN_пушка_NOUN", - "громадный_ADJ_богатство_NOUN", - "громадный_ADJ_значение_NOUN", - "громадный_ADJ_количество_NOUN", - "громадный_ADJ_пространство_NOUN", - "громадный_ADJ_прыжок_NOUN", - "громадный_ADJ_размер_NOUN", - "громадный_ADJ_рост_NOUN", - "громадный_ADJ_сумма_NOUN", - "громкий_ADJ_возглас_NOUN", - "громкий_ADJ_вопль_NOUN", - "громкий_ADJ_восклицание_NOUN", - "громкий_ADJ_голос_NOUN", - "громкий_ADJ_звук_NOUN", - "громкий_ADJ_крик_NOUN", - "громкий_ADJ_лаем_NOUN", - "громкий_ADJ_лай_NOUN", - "громкий_ADJ_музыка_NOUN", - "громкий_ADJ_плач_NOUN", - "громкий_ADJ_радостный_ADJ", - "громкий_ADJ_рыдание_NOUN", - "громкий_ADJ_смех_NOUN", - "громкий_ADJ_стук_NOUN", - "громкий_ADJ_треск_NOUN", - "громкий_ADJ_ура_NOUN", - "громкий_ADJ_хохот_NOUN", - "громкий_ADJ_шёпот_NOUN", - "громкий_ADV_всех_PRON", - "громкий_ADV_прежний_ADJ", - "громко_ADV_вскрикнуть_VERB", - "громко_ADV_всхлипывать_VERB", - "громко_ADV_выкрикивать_VERB", - "громко_ADV_выкрикнуть_VERB", - "громко_ADV_выражать_VERB", - "громко_ADV_залаять_VERB", - "громко_ADV_запеть_VERB", - "громко_ADV_заплакать_VERB", - "громко_ADV_заржать_VERB", - "громко_ADV_зарыдать_VERB", - "громко_ADV_застонать_VERB", - "громко_ADV_захохотать_VERB", - "громко_ADV_зевнуть_VERB", - "громко_ADV_крикнуть_VERB", - "громко_ADV_кричать_VERB", - "громко_ADV_лаять_VERB", - "громко_ADV_объявить_VERB", - "громко_ADV_позвать_VERB", - "громко_ADV_постучать_VERB", - "громко_ADV_разговаривать_VERB", - "громко_ADV_распевать_VERB", - "громко_ADV_рассмеяться_VERB", - "громко_ADV_расхохотаться_VERB", - "громко_ADV_рыдать_VERB", - "громко_ADV_свистнуть_VERB", - "громко_ADV_скомандовать_VERB", - "громко_ADV_смеяться_VERB", - "громко_ADV_сопеть_VERB", - "громко_ADV_стонать_VERB", - "громко_ADV_стучать_VERB", - "громко_ADV_топать_VERB", - "громко_ADV_фыркнуть_VERB", - "громко_ADV_хлопать_VERB", - "громко_ADV_хлопнуть_VERB", - "громко_ADV_хохотать_VERB", - "громко_ADV_храпеть_VERB", - "громко_ADV_чавкать_VERB", - "громко_ADV_чихнуть_VERB", - "громовой_ADJ_голос_NOUN", - "громовой_ADJ_раскат_NOUN", - "громовой_ADJ_удар_NOUN", - "громоздиться_VERB_друг_PRON", - "громче_NOUN_всех_PRON", - "грот_NOUN_мачта_NOUN", - "грот_NOUN_мачте_NOUN", - "грот_NOUN_мачты_NOUN", - "грохнуть_VERB_выстрел_NOUN", - "грохот_NOUN_барабан_NOUN", - "грохот_NOUN_выстрел_NOUN", - "грохот_NOUN_колесо_NOUN", - "грохот_NOUN_падать_VERB", - "грохот_NOUN_покатиться_VERB", - "грохот_NOUN_пушка_NOUN", - "грохот_NOUN_упасть_VERB", - "грохотать_VERB_гром_NOUN", - "грубо_ADV_крикнуть_VERB", - "грубо_ADV_оборвать_VERB", - "грубо_ADV_ответить_VERB", - "грубо_ADV_оттолкнуть_VERB", - "грубо_ADV_сколотить_VERB", - "грубо_ADV_схватить_VERB", - "грубо_ADV_толкнуть_VERB", - "грубоватый_ADJ_голос_NOUN", - "грубый_ADJ_голос_NOUN", - "грубый_ADJ_мужской_ADJ", - "грубый_ADJ_ошибка_NOUN", - "грубый_ADJ_шутка_NOUN", - "груда_NOUN_золото_NOUN", - "груда_NOUN_камень_NOUN", - "груда_NOUN_мусор_NOUN", - "груда_NOUN_обломок_NOUN", - "груда_NOUN_развалина_NOUN", - "грудной_ADJ_голос_NOUN", - "грудной_ADJ_клетка_NOUN", - "грудной_ADJ_младенец_NOUN", - "грудной_ADJ_ребёнок_NOUN", - "грузно_ADV_опуститься_VERB", - "грузный_ADJ_тело_NOUN", - "грузный_ADJ_фигура_NOUN", - "грузовой_ADJ_машина_NOUN", - "грузовой_ADJ_пароход_NOUN", - "грунтовый_ADJ_вода_NOUN", - "грунтовый_ADJ_дорога_NOUN", - "группа_NOUN_всадник_NOUN", - "группа_NOUN_захват_NOUN", - "группа_NOUN_поддержка_NOUN", - "грустно_ADV_вздохнуть_VERB", - "грустно_ADV_покачать_VERB", - "грустно_ADV_проговорить_VERB", - "грустно_ADV_улыбаться_VERB", - "грустно_ADV_улыбнуться_VERB", - "грустно_ADV_усмехнуться_VERB", - "грустный_ADJ_грустный_ADJ", - "грустный_ADJ_мысль_NOUN", - "грустный_ADJ_настроение_NOUN", - "грустный_ADJ_размышление_NOUN", - "грустный_ADJ_расставаться_VERB", - "грустный_ADJ_улыбка_NOUN", - "грусть_NOUN_подумать_VERB", - "грызть_VERB_ноготь_NOUN", - "грызть_VERB_семечки_NOUN", - "гряда_NOUN_холм_NOUN", - "грядущий_ADJ_поколение_NOUN", - "грязный_ADJ_бельё_NOUN", - "грязный_ADJ_лужа_NOUN", - "грязный_ADJ_посуда_NOUN", - "грязный_ADJ_тарелка_NOUN", - "грязный_ADJ_тряпка_NOUN", - "грянуть_VERB_выстрел_NOUN", - "грянуть_VERB_гром_NOUN", - "грёза_PROPN_павлович_PROPN", - "гу_NOUN_гу_NOUN", - "губа_NOUN_трубочка_NOUN", - "губернаторский_ADJ_дом_NOUN", - "губернский_ADJ_город_NOUN", - "губительный_ADJ_для_ADP", - "губный_ADJ_гармошка_NOUN", - "губный_ADJ_помада_NOUN", - "гудение_NOUN_мотор_NOUN", - "гудеть_VERB_мотор_NOUN", - "гудок_NOUN_паровоз_NOUN", - "гул_NOUN_голос_NOUN", - "гул_NOUN_мотор_NOUN", - "гулкий_ADJ_удар_NOUN", - "гулкий_ADJ_эхо_NOUN", - "гулко_ADV_отдаваться_VERB", - "гулко_ADV_раздаваться_VERB", - "гулко_ADV_стучать_VERB", - "гуль_PROPN_гуль_PROPN", - "гум_NOUN_гам_NOUN", - "гум_NOUN_гам_PROPN", - "гум_PROPN_гам_NOUN", - "гум_PROPN_гам_PROPN", - "гура_PROPN_занка_PROPN", - "гусиный_ADJ_перо_NOUN", - "гусиный_ADJ_пером_NOUN", - "густо_ADV_зарасти_VERB", - "густо_ADV_краснеть_VERB", - "густо_ADV_намазать_VERB", - "густо_ADV_населить_VERB", - "густо_ADV_покраснеть_VERB", - "густо_ADV_покрыть_VERB", - "густо_ADV_порасти_VERB", - "густо_ADV_разрастись_VERB", - "густо_ADV_расти_VERB", - "густо_ADV_усеять_VERB", - "густой_ADJ_бас_NOUN", - "густой_ADJ_борода_NOUN", - "густой_ADJ_бровь_NOUN", - "густой_ADJ_ветвь_NOUN", - "густой_ADJ_вуаль_NOUN", - "густой_ADJ_дым_NOUN", - "густой_ADJ_заросли_NOUN", - "густой_ADJ_заросль_NOUN", - "густой_ADJ_зелень_NOUN", - "густой_ADJ_клуб_NOUN", - "густой_ADJ_крона_NOUN", - "густой_ADJ_куст_NOUN", - "густой_ADJ_кустарник_NOUN", - "густой_ADJ_лес_NOUN", - "густой_ADJ_листва_NOUN", - "густой_ADJ_мрак_NOUN", - "густой_ADJ_облако_NOUN", - "густой_ADJ_пар_NOUN", - "густой_ADJ_пелена_NOUN", - "густой_ADJ_поросль_NOUN", - "густой_ADJ_растительность_NOUN", - "густой_ADJ_ресница_NOUN", - "густой_ADJ_сеть_NOUN", - "густой_ADJ_слой_NOUN", - "густой_ADJ_темно_ADJ", - "густой_ADJ_тень_NOUN", - "густой_ADJ_трава_NOUN", - "густой_ADJ_туман_NOUN", - "густой_ADJ_туча_NOUN", - "густой_ADJ_тьма_NOUN", - "густой_ADJ_чаща_NOUN", - "густой_ADJ_чаще_ADV", - "густой_ADJ_шерсть_NOUN", - "гуша_PROPN_нишин_PROPN", - "д_NOUN_р_NOUN", - "да_ADP_что_PRON", - "да_ADV_а_NOUN", - "да_ADV_да_PART", - "да_ADV_с_PART", - "да_CCONJ_поживать_VERB", - "да_INTJ_да_PART", - "да_PART_а_PART", - "да_PART_благословить_VERB", - "да_PART_брось_VERB", - "да_PART_винчи_PROPN", - "да_PART_здравствовать_VERB", - "да_PART_неужто_VERB", - "да_PART_нешто_VERB", - "да_PART_около_ADV", - "да_PART_понте_PROPN", - "да_PART_се_NOUN", - "давай_PROPN_ка_PROPN", - "давать_VERB_возможность_NOUN", - "давать_VERB_выкладывать_VERB", - "давать_VERB_знакомиться_VERB", - "давать_VERB_ка_PART", - "давать_VERB_ка_PROPN", - "давать_VERB_ка_VERB", - "давать_VERB_клятва_NOUN", - "давать_VERB_лучше_ADV", - "давать_VERB_мириться_VERB", - "давать_VERB_показание_NOUN", - "давать_VERB_покой_NOUN", - "давать_VERB_пощада_NOUN", - "давать_VERB_рассказывай_VERB", - "давид_PROPN_блэк_PROPN", - "давить_VERB_друг_PRON", - "давиться_VERB_от_ADP", - "давление_NOUN_воздух_NOUN", - "давний_ADJ_время_NOUN", - "давний_ADJ_друг_NOUN", - "давний_ADJ_пора_NOUN", - "давно_ADV_желанный_ADJ", - "давно_ADV_мечтать_VERB", - "давно_ADV_минувший_ADJ", - "давным_ADV_давно_ADV", - "дадите_VERB_мне_PRON", - "даже_PART_всплакнуть_VERB", - "даже_PART_привскочить_VERB", - "даже_PART_привстать_VERB", - "даже_PART_прослезиться_VERB", - "дай_NOUN_то_PRON", - "дай_PROPN_бог_NOUN", - "дай_PROPN_бог_PROPN", - "дай_PROPN_ка_PROPN", - "дай_PROPN_ка_VERB", - "дай_VERB_ка_PROPN", - "далай_NOUN_лама_NOUN", - "далее_ADV_следовать_VERB", - "далеко_ADV_внизу_ADV", - "далеко_ADV_впереди_ADV", - "далеко_ADV_далеко_ADV", - "далеко_ADV_опередить_VERB", - "далеко_ADV_отсюда_ADV", - "далеко_ADV_позади_ADP", - "далеко_ADV_позади_ADV", - "далеко_ADV_разноситься_VERB", - "дальнейший_ADJ_действие_NOUN", - "дальнейший_ADJ_объяснение_NOUN", - "дальнейший_ADJ_план_NOUN", - "дальнейший_ADJ_поиск_NOUN", - "дальнейший_ADJ_путешествие_NOUN", - "дальнейший_ADJ_путь_NOUN", - "дальнейший_ADJ_развитие_NOUN", - "дальнейший_ADJ_разговор_NOUN", - "дальнейший_ADJ_расспрос_NOUN", - "дальнейший_ADJ_событие_NOUN", - "дальнейший_ADJ_судьба_NOUN", - "дальнейший_ADJ_ход_NOUN", - "дальний_ADJ_восток_PROPN", - "дальний_ADJ_запад_PROPN", - "дальний_ADJ_конец_NOUN", - "дальний_ADJ_край_NOUN", - "дальний_ADJ_плавание_NOUN", - "дальний_ADJ_поход_NOUN", - "дальний_ADJ_путешествие_NOUN", - "дальний_ADJ_путь_NOUN", - "дальний_ADJ_родственник_NOUN", - "дальний_ADJ_родственница_NOUN", - "дальний_ADJ_север_PROPN", - "дальний_ADJ_страна_NOUN", - "дальний_ADJ_угол_NOUN", - "дальний_ADJ_уголок_NOUN", - "дальность_NOUN_расстояние_NOUN", - "далёкий_ADJ_будущее_NOUN", - "далёкий_ADJ_горизонт_NOUN", - "далёкий_ADJ_далёкий_ADJ", - "далёкий_ADJ_детство_NOUN", - "далёкий_ADJ_звезда_NOUN", - "далёкий_ADJ_плавание_NOUN", - "далёкий_ADJ_планета_NOUN", - "далёкий_ADJ_предок_NOUN", - "далёкий_ADJ_прошлое_NOUN", - "далёкий_ADJ_путешествие_NOUN", - "далёкий_ADJ_расстояние_NOUN", - "далёкий_ADJ_родина_NOUN", - "далёкий_ADJ_север_NOUN", - "далёкий_ADJ_страна_NOUN", - "далёкий_ADV_некуда_ADV", - "далёкий_ADV_тем_SCONJ", - "дамасский_ADJ_лев_PROPN", - "дан_PROPN_йорк_PROPN", - "даниель_PROPN_метцер_PROPN", - "даниил_PROPN_корнеевич_PROPN", - "данила_PROPN_акимович_PROPN", - "данила_PROPN_егорович_PROPN", - "данное_ADJ_время_NOUN", - "данной_ADJ_ситуация_NOUN", - "данном_ADJ_случай_NOUN", - "данную_ADJ_минута_NOUN", - "данный_ADJ_момент_NOUN", - "дар_NOUN_речь_NOUN", - "дарить_VERB_подарок_NOUN", - "даровать_VERB_жизнь_NOUN", - "дарственный_ADJ_надпись_NOUN", - "дарья_PROPN_кириллович_PROPN", - "дарья_PROPN_леонидович_PROPN", - "дарья_PROPN_максимович_PROPN", - "дарья_PROPN_михаилович_PROPN", - "дарья_PROPN_савелиевич_PROPN", - "дарья_PROPN_степанович_PROPN", - "дата_NOUN_рождение_NOUN", - "дать_VERB_бог_NOUN", - "дать_VERB_бог_PROPN", - "дать_VERB_возможность_NOUN", - "дать_VERB_договорить_VERB", - "дать_VERB_залп_NOUN", - "дать_VERB_ка_VERB", - "дать_VERB_клятва_NOUN", - "дать_VERB_маху_NOUN", - "дать_VERB_обет_NOUN", - "дать_VERB_обещание_NOUN", - "дать_VERB_осечка_NOUN", - "дать_VERB_отбой_NOUN", - "дать_VERB_отпор_NOUN", - "дать_VERB_показание_NOUN", - "дать_VERB_почитать_VERB", - "дать_VERB_сдача_NOUN", - "дать_VERB_сигнал_NOUN", - "дать_VERB_согласие_NOUN", - "дать_VERB_списать_VERB", - "дать_VERB_стрекача_NOUN", - "дать_VERB_тяга_NOUN", - "дать_VERB_указание_NOUN", - "дать_VERB_шпор_NOUN", - "даться_VERB_ему_PRON", - "дачный_ADJ_посёлок_NOUN", - "дачный_ADJ_участок_NOUN", - "даю_PROPN_вам_PRON", - "даю_PROPN_тебе_PRON", - "даю_VERB_вам_PRON", - "два_NUM_вершок_NOUN", - "два_NUM_дюжий_ADJ", - "два_NUM_квартал_NOUN", - "два_NUM_месяц_NOUN", - "два_NUM_неделя_NOUN", - "два_NUM_половинка_NOUN", - "два_NUM_счёт_NOUN", - "два_NUM_том_NOUN", - "два_NUM_треть_NOUN", - "два_NUM_три_NUM", - "два_NUM_шеренга_NOUN", - "двадцатый_ADJ_век_NOUN", - "двадцатый_ADJ_год_NOUN", - "двадцатый_ADJ_столетие_NOUN", - "двадцатый_ADJ_число_NOUN", - "двадцать_NUM_верста_NOUN", - "двадцать_NUM_восемь_NUM", - "двадцать_NUM_восьмой_ADJ", - "двадцать_NUM_год_NOUN", - "двадцать_NUM_градус_NOUN", - "двадцать_NUM_девятый_ADJ", - "двадцать_NUM_девять_NUM", - "двадцать_NUM_доллар_NOUN", - "двадцать_NUM_километр_NOUN", - "двадцать_NUM_копейка_NOUN", - "двадцать_NUM_метр_NOUN", - "двадцать_NUM_миллион_NOUN", - "двадцать_NUM_миля_NOUN", - "двадцать_NUM_минута_NOUN", - "двадцать_NUM_процент_NOUN", - "двадцать_NUM_пятый_ADJ", - "двадцать_NUM_пять_NUM", - "двадцать_NUM_рубль_NOUN", - "двадцать_NUM_сантиметр_NOUN", - "двадцать_NUM_седьмой_ADJ", - "двадцать_NUM_семь_NUM", - "двадцать_NUM_третий_ADJ", - "двадцать_NUM_тридцать_NUM", - "двадцать_NUM_тысяча_NOUN", - "двадцать_NUM_франк_NOUN", - "двадцать_NUM_фунт_NOUN", - "двадцать_NUM_фут_NOUN", - "двадцать_NUM_четвёртый_ADJ", - "двадцать_NUM_четыре_NUM", - "двадцать_NUM_шестой_ADJ", - "двадцать_NUM_шесть_NUM", - "дважды_ADV_два_NUM", - "двенадцатый_ADJ_час_NOUN", - "двенадцатый_ADJ_этаж_NOUN", - "двенадцать_NUM_год_NOUN", - "двенадцать_NUM_километр_NOUN", - "двенадцать_NUM_миля_NOUN", - "двенадцать_NUM_рубль_NOUN", - "двенадцать_NUM_тринадцать_NUM", - "двенадцать_NUM_тысяча_NOUN", - "двенадцать_NUM_фут_NOUN", - "двенадцать_NUM_час_NOUN", - "дверной_ADJ_глазок_NOUN", - "дверной_ADJ_замок_NOUN", - "дверной_ADJ_звонок_NOUN", - "дверной_ADJ_косяк_NOUN", - "дверной_ADJ_проём_NOUN", - "дверной_ADJ_ручка_NOUN", - "дверной_ADJ_щель_NOUN", - "дверца_NOUN_карета_NOUN", - "дверца_NOUN_шкаф_NOUN", - "дверь_NOUN_закрываться_VERB", - "дверь_NOUN_закрыться_VERB", - "дверь_NOUN_затвориться_VERB", - "дверь_NOUN_захлопнуться_VERB", - "дверь_NOUN_обить_VERB", - "дверь_NOUN_отвориться_VERB", - "дверь_NOUN_отворяться_VERB", - "дверь_NOUN_открыться_VERB", - "дверь_NOUN_постучать_VERB", - "дверь_NOUN_приоткрыться_VERB", - "дверь_NOUN_просунуться_VERB", - "дверь_NOUN_распахнуться_VERB", - "дверь_NOUN_скрипнуть_VERB", - "двести_NUM_год_NOUN", - "двести_NUM_грамм_NOUN", - "двести_NUM_двадцать_NUM", - "двести_NUM_доллар_NOUN", - "двести_NUM_километр_NOUN", - "двести_NUM_метр_NOUN", - "двести_NUM_миллион_NOUN", - "двести_NUM_миля_NOUN", - "двести_NUM_пятьдесят_NOUN", - "двести_NUM_пятьдесят_NUM", - "двести_NUM_рубль_NOUN", - "двести_NUM_сорок_NUM", - "двести_NUM_третий_ADJ", - "двести_NUM_тридцать_NUM", - "двести_NUM_триста_NUM", - "двести_NUM_тысяча_NOUN", - "двести_NUM_фунт_NOUN", - "двести_NUM_фут_NOUN", - "двигатель_NOUN_внутренний_ADJ", - "двигаться_VERB_быстрый_ADV", - "двигаться_VERB_вдоль_ADP", - "двигаться_VERB_взад_ADV", - "двигаться_VERB_вперёд_ADV", - "двинуться_VERB_вдоль_ADP", - "двинуться_VERB_вперёд_ADV", - "двинуться_VERB_вслед_ADV", - "двинуться_VERB_далёкий_ADV", - "двинуться_VERB_навстречу_ADV", - "двинуться_VERB_прочь_ADV", - "двинуться_VERB_следом_ADV", - "двое_NUM_других_ADJ", - "двое_NUM_мальчишка_NOUN", - "двое_NUM_мужчина_NOUN", - "двое_NUM_полицейский_NOUN", - "двое_NUM_рабочий_NOUN", - "двое_NUM_ребят_NOUN", - "двое_NUM_суток_NOUN", - "двое_NUM_трое_NUM", - "двойка_NOUN_получить_VERB", - "двойной_ADJ_дно_NOUN", - "двойной_ADJ_звезда_NOUN", - "двойной_ADJ_игра_NOUN", - "двойной_ADJ_порция_NOUN", - "двойной_ADJ_рама_NOUN", - "двойной_ADJ_ряд_NOUN", - "двор_NOUN_въехать_VERB", - "дворец_PROPN_культура_NOUN", - "дворец_PROPN_пионер_NOUN", - "дворовый_ADJ_пёс_NOUN", - "дворовый_ADJ_собака_NOUN", - "дворцовый_ADJ_мост_NOUN", - "дворцовый_ADJ_площадь_NOUN", - "дворцовый_ADJ_сад_NOUN", - "дворянский_ADJ_собрание_NOUN", - "двоюродный_ADJ_брат_NOUN", - "двоюродный_ADJ_сестра_NOUN", - "двуглавый_ADJ_орёл_NOUN", - "двуствольное_ADJ_ружьё_NOUN", - "двустворчатый_ADJ_дверь_NOUN", - "двухкомнатный_ADJ_квартира_NOUN", - "двухстах_NOUN_шаг_NOUN", - "двухцветный_ADJ_питон_NOUN", - "двухэтажный_ADJ_деревянный_ADJ", - "двухэтажный_ADJ_дом_NOUN", - "двухэтажный_ADJ_здание_NOUN", - "де_PART_аквила_PROPN", - "де_PART_батс_PROPN", - "де_PART_белен_PROPN", - "де_PART_биевр_PROPN", - "де_PART_вильфор_PROPN", - "де_PART_гик_PROPN", - "де_PART_катина_PROPN", - "де_PART_ла_PART", - "де_PART_латур_PROPN", - "де_PART_лектур_PROPN", - "де_PART_леран_PROPN", - "де_PART_марсэ_PROPN", - "де_PART_ментенон_PROPN", - "де_PART_мирамар_PROPN", - "де_PART_молак_PROPN", - "де_PART_молака_PROPN", - "де_PART_монтеспань_PROPN", - "де_PART_морлюкс_PROPN", - "де_PART_нансе_PROPN", - "де_PART_перренкур_PROPN", - "де_PART_пин_PROPN", - "де_PART_роган_PROPN", - "де_PART_салье_PROPN", - "де_PART_сен_PROPN", - "де_PART_сент_PROPN", - "де_PART_фонтелль_PROPN", - "де_PART_шамери_PROPN", - "дева_PROPN_мария_PROPN", - "девать_VERB_некуда_ADV", - "деваться_VERB_некуда_ADV", - "девица_NOUN_геллье_PROPN", - "девица_NOUN_де_PART", - "девица_NOUN_красавица_NOUN", - "девичий_ADJ_голос_NOUN", - "девичий_ADJ_фамилия_NOUN", - "девственный_ADJ_лес_NOUN", - "девчоночий_ADJ_голос_NOUN", - "девяносто_NUM_девять_NUM", - "девяносто_NUM_пять_NUM", - "девятнадцатый_ADJ_век_NOUN", - "девятнадцатый_ADJ_год_NOUN", - "девятнадцатый_ADJ_столетие_NOUN", - "девятнадцать_NUM_год_NOUN", - "девятый_ADJ_а_NOUN", - "девятый_ADJ_б_NOUN", - "девятый_ADJ_в_NOUN", - "девятый_ADJ_вал_NOUN", - "девятый_ADJ_класс_NOUN", - "девятый_ADJ_этаж_NOUN", - "девять_NUM_год_NOUN", - "девять_NUM_десятый_ADJ", - "девять_NUM_десять_NUM", - "девять_NUM_километр_NOUN", - "девять_NUM_месяц_NOUN", - "девять_NUM_тысяча_NOUN", - "девять_NUM_утро_NOUN", - "девять_NUM_час_NOUN", - "девятьсот_NOUN_пятый_ADJ", - "дед_NOUN_антон_PROPN", - "дед_NOUN_валерий_PROPN", - "дед_NOUN_данила_PROPN", - "дед_NOUN_данилка_PROPN", - "дед_NOUN_игнатий_PROPN", - "дед_NOUN_кондрат_PROPN", - "дед_NOUN_мазай_PROPN", - "дед_NOUN_макар_PROPN", - "дед_NOUN_матвей_PROPN", - "дед_NOUN_михей_PROPN", - "дед_NOUN_мороз_PROPN", - "дед_NOUN_назар_PROPN", - "дед_NOUN_никита_PROPN", - "дед_NOUN_савел_PROPN", - "дед_NOUN_савелий_PROPN", - "дед_NOUN_степан_PROPN", - "дед_NOUN_фишка_PROPN", - "дед_NOUN_харлампий_PROPN", - "дед_NOUN_юрий_PROPN", - "дед_NOUN_яга_NOUN", - "дед_PROPN_мороз_PROPN", - "дедко_PROPN_бородач_PROPN", - "дедушка_NOUN_джо_PROPN", - "дедушка_NOUN_дуров_PROPN", - "дедушка_NOUN_кузьма_PROPN", - "дедушка_NOUN_магомет_PROPN", - "дедушка_NOUN_стаке_PROPN", - "дежурный_ADJ_врач_NOUN", - "дежурный_ADJ_офицер_NOUN", - "дежурный_ADJ_сестра_NOUN", - "действительный_ADJ_жизнь_NOUN", - "действительный_ADJ_член_NOUN", - "действовать_VERB_армия_NOUN", - "действовать_VERB_безотказно_ADV", - "действовать_VERB_вулкан_NOUN", - "действовать_VERB_заодно_ADV", - "действовать_VERB_наверняка_ADV", - "действовать_VERB_самостоятельно_ADV", - "действовать_VERB_сообща_ADV", - "декабрь_NOUN_год_NOUN", - "декоративный_ADJ_косметика_NOUN", - "деланный_ADJ_равнодушие_NOUN", - "делать_VERB_вид_NOUN", - "делать_VERB_вывод_NOUN", - "делать_VERB_гимнастика_NOUN", - "делать_VERB_замечание_NOUN", - "делать_VERB_зарядка_NOUN", - "делать_VERB_нечего_VERB", - "делать_VERB_перевязка_NOUN", - "делать_VERB_пометка_NOUN", - "делать_VERB_ставка_NOUN", - "делать_VERB_ударение_NOUN", - "делать_VERB_укол_NOUN", - "делаться_VERB_вокруг_ADV", - "дели_PROPN_акыз_PROPN", - "делить_VERB_пополам_ADV", - "делиться_VERB_впечатление_NOUN", - "дело_NOUN_наживной_ADJ", - "дело_NOUN_неман_PROPN", - "дело_NOUN_несовершеннолетних_NOUN", - "дело_NOUN_нехитрый_ADJ", - "дело_NOUN_нешуточный_ADJ", - "дело_NOUN_обстоять_VERB", - "дело_NOUN_поправимый_ADJ", - "делов_NOUN_то_NOUN", - "деловитый_ADV_осведомиться_VERB", - "деловитый_ADV_спросить_VERB", - "деловой_ADJ_вид_NOUN", - "деловой_ADJ_костюм_NOUN", - "деловой_ADJ_разговор_NOUN", - "деловой_ADJ_стиль_NOUN", - "деловой_ADJ_тон_NOUN", - "дельный_ADJ_мысль_NOUN", - "дельный_ADJ_совет_NOUN", - "дементий_PROPN_александрович_PROPN", - "демонстративно_ADV_отвернуться_VERB", - "день_NOUN_выдаться_VERB", - "день_NOUN_два_NOUN", - "день_NOUN_деньской_NOUN", - "день_NOUN_другой_NOUN", - "день_NOUN_каникул_NOUN", - "день_NOUN_клониться_VERB", - "день_NOUN_подряд_ADV", - "день_NOUN_похорон_NOUN", - "день_NOUN_рождение_NOUN", - "день_NOUN_тому_ADV", - "день_PROPN_победа_PROPN", - "день_PROPN_рождение_NOUN", - "деньга_NOUN_зарабатывать_VERB", - "деньга_NOUN_заработать_VERB", - "деньга_NOUN_платить_VERB", - "деньга_NOUN_потратить_VERB", - "деньга_NOUN_тратить_VERB", - "денька_VERB_два_NUM", - "денёк_NOUN_другой_ADJ", - "деревенский_ADJ_баба_NOUN", - "деревенский_ADJ_домик_NOUN", - "деревенский_ADJ_житель_NOUN", - "деревенский_ADJ_мальчишка_NOUN", - "деревенский_ADJ_парень_NOUN", - "деревенский_ADJ_улица_NOUN", - "деревянный_ADJ_башмак_NOUN", - "деревянный_ADJ_домик_NOUN", - "деревянный_ADJ_дощечка_NOUN", - "деревянный_ADJ_забор_NOUN", - "деревянный_ADJ_крест_NOUN", - "деревянный_ADJ_лестница_NOUN", - "деревянный_ADJ_ложка_NOUN", - "деревянный_ADJ_лопата_NOUN", - "деревянный_ADJ_лошадка_NOUN", - "деревянный_ADJ_молоток_NOUN", - "деревянный_ADJ_мост_NOUN", - "деревянный_ADJ_настил_NOUN", - "деревянный_ADJ_обшивка_NOUN", - "деревянный_ADJ_палочка_NOUN", - "деревянный_ADJ_помост_NOUN", - "деревянный_ADJ_постройка_NOUN", - "деревянный_ADJ_рама_NOUN", - "деревянный_ADJ_решётка_NOUN", - "деревянный_ADJ_ручка_NOUN", - "деревянный_ADJ_скамейка_NOUN", - "деревянный_ADJ_скамья_NOUN", - "деревянный_ADJ_столб_NOUN", - "деревянный_ADJ_тротуар_NOUN", - "деревянный_ADJ_чашка_NOUN", - "деревянный_ADJ_человечек_NOUN", - "деревянный_ADJ_человечек_PROPN", - "деревянный_ADJ_щит_NOUN", - "деревянный_ADJ_ящик_NOUN", - "держась_VERB_за_ADP", - "держать_VERB_взаперти_ADV", - "держать_VERB_курс_NOUN", - "держать_VERB_наготове_ADV", - "держать_VERB_оборона_NOUN", - "держать_VERB_пари_NOUN", - "держаться_VERB_близкий_ADV", - "держаться_VERB_крепкий_ADV", - "держаться_VERB_крепко_ADV", - "держаться_VERB_молодец_NOUN", - "держаться_VERB_настороже_ADV", - "держаться_VERB_особняк_NOUN", - "держись_VERB_за_ADP", - "держите_VERB_его_PRON", - "держите_VERB_меня_PRON", - "держу_PROPN_пари_NOUN", - "дерзить_VERB_пари_NOUN", - "дерзко_ADV_ответить_VERB", - "десятилетний_ADJ_мальчик_NOUN", - "десятка_NOUN_два_NUM", - "десяток_NOUN_других_ADJ", - "десяток_NOUN_километр_NOUN", - "десяток_NOUN_метр_NOUN", - "десяток_NOUN_миллион_NOUN", - "десяток_NOUN_полтора_NUM", - "десяток_NOUN_сотня_NOUN", - "десяток_NOUN_тысяча_NOUN", - "десятый_ADJ_а_NOUN", - "десятый_ADJ_б_NOUN", - "десятый_ADJ_доля_NOUN", - "десятый_ADJ_класс_NOUN", - "десятый_ADJ_ход_NOUN", - "десятый_ADJ_час_NOUN", - "десятый_ADJ_часть_NOUN", - "десятый_ADJ_этаж_NOUN", - "десять_NUM_верста_NOUN", - "десять_NUM_год_NOUN", - "десять_NUM_градус_NOUN", - "десять_NUM_двенадцать_NUM", - "десять_NUM_доллар_NOUN", - "десять_NUM_килограмм_NOUN", - "десять_NUM_километр_NOUN", - "десять_NUM_копейка_NOUN", - "десять_NUM_луидор_NOUN", - "десять_NUM_метр_NOUN", - "десять_NUM_миллион_NOUN", - "десять_NUM_миля_NOUN", - "десять_NUM_минута_NOUN", - "десять_NUM_одиннадцать_NUM", - "десять_NUM_процент_NOUN", - "десять_NUM_пятнадцать_NUM", - "десять_NUM_рубль_NOUN", - "десять_NUM_сантиметр_NOUN", - "десять_NUM_тысяча_NOUN", - "десять_NUM_фунт_NOUN", - "десять_NUM_фут_NOUN", - "десять_NUM_цент_NOUN", - "десять_NUM_час_NOUN", - "десять_NUM_шаг_NOUN", - "десять_NUM_штука_NOUN", - "детективный_ADJ_агентство_NOUN", - "детективный_ADJ_история_NOUN", - "детективный_ADJ_роман_NOUN", - "детский_ADJ_библиотека_NOUN", - "детский_ADJ_возраст_NOUN", - "детский_ADJ_головка_NOUN", - "детский_ADJ_голосок_NOUN", - "детский_ADJ_дом_NOUN", - "детский_ADJ_забава_NOUN", - "детский_ADJ_игра_NOUN", - "детский_ADJ_игрушка_NOUN", - "детский_ADJ_книжка_NOUN", - "детский_ADJ_коляска_NOUN", - "детский_ADJ_кроватка_NOUN", - "детский_ADJ_лепет_NOUN", - "детский_ADJ_литература_NOUN", - "детский_ADJ_литература_PROPN", - "детский_ADJ_песенка_NOUN", - "детский_ADJ_писатель_NOUN", - "детский_ADJ_плач_NOUN", - "детский_ADJ_площадка_NOUN", - "детский_ADJ_почерк_NOUN", - "детский_ADJ_сад_NOUN", - "детский_ADJ_садик_NOUN", - "детский_ADJ_театр_NOUN", - "детство_NOUN_привыкнуть_VERB", - "дешево_ADV_отделаться_VERB", - "дешёвый_ADJ_цена_NOUN", - "дею_PROPN_торис_PROPN", - "дея_PROPN_торис_PROPN", - "джеймс_PROPN_бонд_PROPN", - "джеймс_PROPN_пак_PROPN", - "джек_PROPN_блокли_PROPN", - "джек_PROPN_лондон_PROPN", - "джек_PROPN_мун_PROPN", - "джек_PROPN_строу_PROPN", - "джемс_PROPN_мор_PROPN", - "дженни_PROPN_ли_PROPN", - "дженни_PROPN_линд_PROPN", - "джерри_PROPN_рук_PROPN", - "джим_PROPN_клив_PROPN", - "джимми_PROPN_хиггинс_PROPN", - "джинсовый_ADJ_костюм_NOUN", - "джинсовый_ADJ_куртка_NOUN", - "джовита_PROPN_фолей_PROPN", - "джон_PROPN_аллондэль_PROPN", - "джон_PROPN_беллингэма_PROPN", - "джон_PROPN_болл_PROPN", - "джон_PROPN_брайт_PROPN", - "джон_PROPN_браун_PROPN", - "джон_PROPN_дэвис_PROPN", - "джон_PROPN_картер_PROPN", - "джон_PROPN_кейт_PROPN", - "джон_PROPN_лесли_PROPN", - "джон_PROPN_малькольм_PROPN", - "джон_PROPN_манглс_PROPN", - "джон_PROPN_мильнер_PROPN", - "джон_PROPN_мэксим_PROPN", - "джон_PROPN_нил_PROPN", - "джон_PROPN_смит_PROPN", - "джонатан_PROPN_спайерс_PROPN", - "джордано_PROPN_бруно_PROPN", - "джордж_PROPN_вашингтон_PROPN", - "джордж_PROPN_клинтон_PROPN", - "джордж_PROPN_малькольм_PROPN", - "джэн_PROPN_клейтон_PROPN", - "джэн_PROPN_портер_PROPN", - "дзинь_NOUN_дзинь_NOUN", - "диана_PROPN_де_PART", - "див_NOUN_даваться_VERB", - "див_NOUN_даться_VERB", - "диванный_ADJ_подушка_NOUN", - "диверсионный_ADJ_группа_NOUN", - "дивно_ADV_хороший_ADJ", - "дивный_ADJ_красота_NOUN", - "диво_ADJ_дивный_ADJ", - "дик_PROPN_сэнд_PROPN", - "дик_PROPN_сэнда_PROPN", - "дик_PROPN_сэнду_PROPN", - "дик_PROPN_шеннон_PROPN", - "дикий_ADJ_билл_PROPN", - "дикий_ADJ_бык_NOUN", - "дикий_ADJ_визг_NOUN", - "дикий_ADJ_виноград_NOUN", - "дикий_ADJ_вой_NOUN", - "дикий_ADJ_вопль_NOUN", - "дикий_ADJ_выходка_NOUN", - "дикий_ADJ_голубь_NOUN", - "дикий_ADJ_животное_NOUN", - "дикий_ADJ_запад_PROPN", - "дикий_ADJ_зверей_NOUN", - "дикий_ADJ_звери_NOUN", - "дикий_ADJ_зверь_NOUN", - "дикий_ADJ_зверёк_NOUN", - "дикий_ADJ_злоба_NOUN", - "дикий_ADJ_кабан_NOUN", - "дикий_ADJ_коза_NOUN", - "дикий_ADJ_кошка_NOUN", - "дикий_ADJ_крик_NOUN", - "дикий_ADJ_местность_NOUN", - "дикий_ADJ_олень_NOUN", - "дикий_ADJ_племя_NOUN", - "дикий_ADJ_пляска_NOUN", - "дикий_ADJ_природа_NOUN", - "дикий_ADJ_пчела_NOUN", - "дикий_ADJ_ревом_NOUN", - "дикий_ADJ_роза_PROPN", - "дикий_ADJ_рёв_NOUN", - "дикий_ADJ_свинья_NOUN", - "дикий_ADJ_слон_NOUN", - "дикий_ADJ_утка_NOUN", - "дикий_ADJ_хохот_NOUN", - "дикий_ADJ_человек_PROPN", - "дико_ADV_вскрикнуть_VERB", - "дико_ADV_закричать_VERB", - "дико_ADV_озираться_VERB", - "дин_PROPN_гиор_PROPN", - "динамо_NOUN_машина_NOUN", - "динь_PROPN_динь_PROPN", - "дипломный_ADJ_работа_NOUN", - "директор_NOUN_банк_NOUN", - "директор_NOUN_гимназия_NOUN", - "директор_NOUN_губернаторов_PROPN", - "директор_NOUN_институт_NOUN", - "директор_NOUN_музей_NOUN", - "директор_NOUN_некрасов_PROPN", - "директор_NOUN_совхоз_NOUN", - "директор_NOUN_цирк_NOUN", - "директор_NOUN_школа_NOUN", - "директорский_ADJ_кабинет_NOUN", - "дирижёрский_ADJ_палочка_NOUN", - "диск_NOUN_луна_NOUN", - "диск_NOUN_солнце_NOUN", - "дитя_ADJ_мой_DET", - "дитя_ADJ_моё_NOUN", - "дитя_PROPN_мой_DET", - "длина_NOUN_волна_NOUN", - "длина_NOUN_метр_NOUN", - "длина_NOUN_около_ADP", - "длинный_ADJ_белокурый_ADJ", - "длинный_ADJ_боб_PROPN", - "длинный_ADJ_борода_NOUN", - "длинный_ADJ_вереница_NOUN", - "длинный_ADJ_верёвка_NOUN", - "длинный_ADJ_волос_NOUN", - "длинный_ADJ_гибкий_ADJ", - "длинный_ADJ_грива_NOUN", - "длинный_ADJ_гудок_NOUN", - "длинный_ADJ_жердь_NOUN", - "длинный_ADJ_извилистый_ADJ", - "длинный_ADJ_клюв_NOUN", - "длинный_ADJ_кнут_NOUN", - "длинный_ADJ_козырёк_NOUN", - "длинный_ADJ_копьями_NOUN", - "длинный_ADJ_копьё_NOUN", - "длинный_ADJ_коридор_NOUN", - "длинный_ADJ_коса_NOUN", - "длинный_ADJ_костлявый_ADJ", - "длинный_ADJ_локон_NOUN", - "длинный_ADJ_ноготь_NOUN", - "длинный_ADJ_палка_NOUN", - "длинный_ADJ_полоса_NOUN", - "длинный_ADJ_предлинный_ADJ", - "длинный_ADJ_прядь_NOUN", - "длинный_ADJ_ресница_NOUN", - "длинный_ADJ_ряд_NOUN", - "длинный_ADJ_седой_ADJ", - "длинный_ADJ_список_NOUN", - "длинный_ADJ_стебель_NOUN", - "длинный_ADJ_тонкий_ADJ", - "длинный_ADJ_тощий_ADJ", - "длинный_ADJ_узкий_ADJ", - "длинный_ADJ_ус_NOUN", - "длинный_ADJ_хвост_NOUN", - "длинный_ADJ_цепочка_NOUN", - "длинный_ADJ_шелковистый_ADJ", - "длинный_ADJ_шест_NOUN", - "длинный_ADJ_шея_NOUN", - "длинный_ADJ_шлейф_NOUN", - "длинный_ADJ_шнур_NOUN", - "длинный_ADJ_юбка_NOUN", - "длительный_ADJ_время_NOUN", - "длиться_VERB_всего_PART", - "длиться_VERB_долго_ADV", - "длиться_VERB_молчание_NOUN", - "длиться_VERB_недолго_ADV", - "длиться_VERB_около_ADP", - "для_ADP_бритьё_NOUN", - "для_ADP_варка_NOUN", - "для_ADP_верность_NOUN", - "для_ADP_восстановление_NOUN", - "для_ADP_выполнение_NOUN", - "для_ADP_выяснение_NOUN", - "для_ADP_гольф_NOUN", - "для_ADP_добывание_NOUN", - "для_ADP_достижение_NOUN", - "для_ADP_егорки_PROPN", - "для_ADP_защита_NOUN", - "для_ADP_изготовление_NOUN", - "для_ADP_измерение_NOUN", - "для_ADP_изучение_NOUN", - "для_ADP_конспирация_NOUN", - "для_ADP_краткость_NOUN", - "для_ADP_ловля_NOUN", - "для_ADP_маскировка_NOUN", - "для_ADP_мытьё_NOUN", - "для_ADP_наглядность_NOUN", - "для_ADP_надёжность_NOUN", - "для_ADP_начало_NOUN", - "для_ADP_ногтей_NOUN", - "для_ADP_ночлег_NOUN", - "для_ADP_обеспечение_NOUN", - "для_ADP_обозначение_NOUN", - "для_ADP_оказание_NOUN", - "для_ADP_окружающих_NOUN", - "для_ADP_определение_NOUN", - "для_ADP_острастка_NOUN", - "для_ADP_осуществление_NOUN", - "для_ADP_отвод_NOUN", - "для_ADP_отправка_NOUN", - "для_ADP_очистка_NOUN", - "для_ADP_перевозка_NOUN", - "для_ADP_переговоров_NOUN", - "для_ADP_питие_NOUN", - "для_ADP_поддержание_NOUN", - "для_ADP_поднятие_NOUN", - "для_ADP_подражание_NOUN", - "для_ADP_полнота_NOUN", - "для_ADP_получение_NOUN", - "для_ADP_пополнение_NOUN", - "для_ADP_починка_NOUN", - "для_ADP_предохранение_NOUN", - "для_ADP_приведение_NOUN", - "для_ADP_приготовление_NOUN", - "для_ADP_придание_NOUN", - "для_ADP_приличие_NOUN", - "для_ADP_принятие_NOUN", - "для_ADP_проба_NOUN", - "для_ADP_проведение_NOUN", - "для_ADP_проверка_NOUN", - "для_ADP_продажа_NOUN", - "для_ADP_просушка_NOUN", - "для_ADP_профилактика_NOUN", - "для_ADP_проформа_NOUN", - "для_ADP_пущий_ADJ", - "для_ADP_развлечение_NOUN", - "для_ADP_разнообразие_NOUN", - "для_ADP_рисование_NOUN", - "для_ADP_снятие_NOUN", - "для_ADP_совершение_NOUN", - "для_ADP_солидность_NOUN", - "для_ADP_сохранение_NOUN", - "для_ADP_спаньё_NOUN", - "для_ADP_сток_NOUN", - "для_ADP_сушка_NOUN", - "для_ADP_того_PRON", - "для_ADP_убедительность_NOUN", - "для_ADP_удобство_NOUN", - "для_ADP_укладка_NOUN", - "для_ADP_укрепление_NOUN", - "для_ADP_умывание_NOUN", - "для_ADP_усиление_NOUN", - "для_ADP_успокоение_NOUN", - "для_ADP_установление_NOUN", - "для_ADP_устрашение_NOUN", - "для_ADP_утоление_NOUN", - "для_ADP_хранение_NOUN", - "для_ADP_чистка_NOUN", - "для_ADP_юношество_NOUN", - "дмитрий_PROPN_александрович_PROPN", - "дмитрий_PROPN_алексеевич_PROPN", - "дмитрий_PROPN_андреевич_PROPN", - "дмитрий_PROPN_василиевич_PROPN", - "дмитрий_PROPN_дмитриевич_PROPN", - "дмитрий_PROPN_дмитрич_PROPN", - "дмитрий_PROPN_донской_PROPN", - "дмитрий_PROPN_иванович_PROPN", - "дмитрий_PROPN_ильич_PROPN", - "дмитрий_PROPN_николаевич_PROPN", - "дмитрий_PROPN_олегович_PROPN", - "дмитрий_PROPN_павлович_PROPN", - "дмитрий_PROPN_петрович_PROPN", - "дмитрий_PROPN_сергеевич_PROPN", - "дневной_ADJ_свет_NOUN", - "дневный_ADJ_работа_NOUN", - "дневный_ADJ_свет_NOUN", - "дневный_ADJ_светило_NOUN", - "дней_PROPN_через_ADP", - "дно_NOUN_колодец_NOUN", - "дно_NOUN_кратер_NOUN", - "дно_NOUN_лодка_NOUN", - "дно_NOUN_море_NOUN", - "дно_NOUN_морской_ADJ", - "дно_NOUN_овраг_NOUN", - "дно_NOUN_озеро_NOUN", - "дно_NOUN_океан_NOUN", - "дно_NOUN_пропасть_NOUN", - "дно_NOUN_пруд_NOUN", - "дно_NOUN_рождение_NOUN", - "дно_NOUN_ущелие_NOUN", - "дно_NOUN_яма_NOUN", - "дня_NOUN_через_ADP", - "до_ADP_безумие_NOUN", - "до_ADP_бесконечность_NOUN", - "до_ADP_блеск_NOUN", - "до_ADP_велик_NOUN", - "до_ADP_востребование_NOUN", - "до_ADP_восход_NOUN", - "до_ADP_выяснение_NOUN", - "до_ADP_единый_ADJ", - "до_ADP_жуть_NOUN", - "до_ADP_завтрашний_ADJ", - "до_ADP_закрытие_NOUN", - "до_ADP_зарезу_PROPN", - "до_ADP_заход_NOUN", - "до_ADP_изнеможение_NOUN", - "до_ADP_истечение_NOUN", - "до_ADP_км_NOUN", - "до_ADP_конец_NOUN", - "до_ADP_крайность_NOUN", - "до_ADP_краёв_NOUN", - "до_ADP_локтей_NOUN", - "до_ADP_н_NOUN", - "до_ADP_наступление_NOUN", - "до_ADP_небес_NOUN", - "до_ADP_невозможность_NOUN", - "до_ADP_неузнаваемость_NOUN", - "до_ADP_одурение_NOUN", - "до_ADP_одурь_NOUN", - "до_ADP_окончание_NOUN", - "до_ADP_отвал_NOUN", - "до_ADP_отказ_NOUN", - "до_ADP_отход_NOUN", - "до_ADP_победный_ADJ", - "до_ADP_поздний_ADJ", - "до_ADP_полуночь_NOUN", - "до_ADP_полусмерть_NOUN", - "до_ADP_понедельник_NOUN", - "до_ADP_посинение_NOUN", - "до_ADP_предел_NOUN", - "до_ADP_приезд_NOUN", - "до_ADP_приход_NOUN", - "до_ADP_пята_NOUN", - "до_ADP_рассвет_NOUN", - "до_ADP_революция_NOUN", - "до_ADP_резь_NOUN", - "до_ADP_самого_ADJ", - "до_ADP_самозабвение_NOUN", - "до_ADP_самой_ADJ", - "до_ADP_самых_ADJ", - "до_ADP_свидание_NOUN", - "до_ADP_сие_DET", - "до_ADP_скончание_NOUN", - "до_ADP_слёз_NOUN", - "до_ADP_сумерек_NOUN", - "до_ADP_того_PRON", - "до_ADP_тошнота_NOUN", - "до_ADP_упаду_VERB", - "до_ADP_ушей_NOUN", - "до_ADP_хрипота_NOUN", - "до_ADP_чернота_NOUN", - "до_ADP_чрезвычайность_NOUN", - "до_ADP_чёртик_NOUN", - "до_ADP_щиколотка_NOUN", - "до_ADV_сей_DET", - "добегать_VERB_до_ADP", - "добежать_VERB_до_ADP", - "доберешься_VERB_до_ADP", - "добираться_VERB_до_ADP", - "добиться_VERB_того_PRON", - "добиться_VERB_толку_NOUN", - "добиться_VERB_успех_NOUN", - "доблестный_ADJ_воин_NOUN", - "доблестный_ADJ_заместитель_NOUN", - "доблестный_ADJ_рыцарь_NOUN", - "доблестный_ADJ_сторож_NOUN", - "добрался_VERB_до_ADP", - "добраться_VERB_благополучно_ADV", - "добраться_VERB_до_ADP", - "добрести_VERB_до_ADP", - "добро_NOUN_наживать_VERB", - "добро_NOUN_пожаловать_VERB", - "добро_PROPN_пожаловать_VERB", - "добродушно_ADV_рассмеяться_VERB", - "добродушно_ADV_смеяться_VERB", - "добродушно_ADV_улыбаться_VERB", - "добродушно_ADV_улыбнуться_VERB", - "добродушно_ADV_усмехнуться_VERB", - "добродушный_ADJ_лицо_NOUN", - "добродушный_ADJ_смех_NOUN", - "добродушный_ADJ_тон_NOUN", - "добродушный_ADJ_улыбка_NOUN", - "добросовестно_ADV_исполнять_VERB", - "добрый_ADJ_весть_NOUN", - "добрый_ADJ_волшебник_NOUN", - "добрый_ADJ_волшебница_NOUN", - "добрый_ADJ_воля_NOUN", - "добрый_ADJ_гений_NOUN", - "добрый_ADJ_десяток_NOUN", - "добрый_ADJ_здоровье_NOUN", - "добрый_ADJ_здравие_NOUN", - "добрый_ADJ_молодец_NOUN", - "добрый_ADJ_надежда_PROPN", - "добрый_ADJ_намерение_NOUN", - "добрый_ADJ_отзывчивый_ADJ", - "добрый_ADJ_патриот_NOUN", - "добрый_ADJ_пожелание_NOUN", - "добрый_ADJ_половина_NOUN", - "добрый_ADJ_совет_NOUN", - "добрый_ADJ_утро_NOUN", - "добрый_ADJ_фея_NOUN", - "добрый_ADJ_христианин_NOUN", - "добрыня_PROPN_никитович_PROPN", - "добывать_VERB_золото_NOUN", - "добывать_VERB_огонь_NOUN", - "добывать_VERB_пища_NOUN", - "добыть_VERB_огонь_NOUN", - "довезти_VERB_до_ADP", - "доверенный_ADJ_лицо_NOUN", - "доверенный_ADJ_слуга_NOUN", - "доверие_NOUN_которое_PRON", - "доверительно_ADV_сообщить_VERB", - "доверху_ADV_набить_VERB", - "доверху_ADV_наполнить_VERB", - "довершение_NOUN_всего_PART", - "довершение_NOUN_всего_PRON", - "довершение_NOUN_несчастие_NOUN", - "доверьтесь_VERB_мне_PRON", - "довести_VERB_до_ADP", - "доводить_VERB_до_ADP", - "доводиться_VERB_видеть_VERB", - "довоенный_ADJ_время_NOUN", - "довольно_ADV_бесцеремонно_ADV", - "довольно_ADV_бодро_ADV", - "довольно_ADV_быстро_ADV", - "довольно_ADV_грубо_ADV", - "довольно_ADV_далеко_ADV", - "довольно_ADV_долго_ADV", - "довольно_ADV_дорого_ADV", - "довольно_ADV_значительный_ADJ", - "довольно_ADV_крупный_ADJ", - "довольно_ADV_легко_ADV", - "довольно_ADV_ловко_ADV", - "довольно_ADV_много_NUM", - "довольно_ADV_обширный_ADJ", - "довольно_ADV_потереть_VERB", - "довольно_ADV_приличный_ADJ", - "довольно_ADV_продолжительный_ADJ", - "довольно_ADV_просторный_ADJ", - "довольно_ADV_равнодушно_ADV", - "довольно_ADV_симпатичный_ADJ", - "довольно_ADV_сложный_ADJ", - "довольно_ADV_сносно_ADV", - "довольно_ADV_таки_PART", - "довольно_ADV_удачно_ADV", - "довольно_ADV_успешно_ADV", - "довольно_ADV_хмыкнуть_VERB", - "довольно_ADV_часто_ADV", - "довольный_ADJ_вид_NOUN", - "довольный_ADJ_улыбка_NOUN", - "довольный_VERB_свой_DET", - "довольный_VERB_тем_PRON", - "довольствоваться_VERB_тем_PRON", - "договор_NOUN_заключить_VERB", - "договориться_VERB_встретиться_VERB", - "догонять_VERB_друг_PRON", - "додуматься_VERB_до_ADP", - "доезжать_VERB_до_ADP", - "доехать_VERB_до_ADP", - "дождаться_VERB_когда_SCONJ", - "дождаться_VERB_ответ_NOUN", - "дождаться_VERB_пока_SCONJ", - "дождевой_ADJ_вода_NOUN", - "дождевой_ADJ_капля_NOUN", - "дождевой_ADJ_червь_NOUN", - "дождливый_ADJ_время_NOUN", - "дождливый_ADJ_день_NOUN", - "дождливый_ADJ_погода_NOUN", - "дождь_NOUN_кончиться_VERB", - "дождь_NOUN_лить_VERB", - "дождь_NOUN_перестать_VERB", - "дождь_NOUN_посыпаться_VERB", - "дождь_NOUN_прекратиться_VERB", - "дождь_NOUN_хлестать_VERB", - "доживать_VERB_последний_ADJ", - "доживать_VERB_свой_DET", - "дожидаться_VERB_возвращение_NOUN", - "дожидаться_VERB_ответ_NOUN", - "дожидаться_VERB_пока_SCONJ", - "дожидаться_VERB_приглашение_NOUN", - "дожить_VERB_до_ADP", - "дозвониться_VERB_до_ADP", - "доисторический_ADJ_время_NOUN", - "доить_VERB_корова_NOUN", - "дой_NOUN_на_PROPN", - "дойти_VERB_до_ADP", - "дойти_VERB_очередь_NOUN", - "дойти_VERB_слух_NOUN", - "доказательство_NOUN_того_PRON", - "докатиться_VERB_до_ADP", - "докладной_ADJ_записка_NOUN", - "доковылять_VERB_до_ADP", - "докончить_VERB_фраза_NOUN", - "докопаться_VERB_до_ADP", - "доктор_NOUN_айболит_PROPN", - "доктор_NOUN_алек_PROPN", - "доктор_NOUN_арди_PROPN", - "доктор_NOUN_браун_PROPN", - "доктор_NOUN_бриэ_PROPN", - "доктор_NOUN_ватсон_PROPN", - "доктор_NOUN_верховцев_PROPN", - "доктор_NOUN_гаспар_PROPN", - "доктор_NOUN_гроб_PROPN", - "доктор_NOUN_друж_PROPN", - "доктор_NOUN_жакоб_PROPN", - "доктор_NOUN_кварц_PROPN", - "доктор_NOUN_кристаль_PROPN", - "доктор_NOUN_крэвен_PROPN", - "доктор_NOUN_лит_PROPN", - "доктор_NOUN_мазь_PROPN", - "доктор_NOUN_медицина_NOUN", - "доктор_NOUN_мутье_PROPN", - "доктор_NOUN_наука_NOUN", - "доктор_NOUN_патрис_PROPN", - "доктор_NOUN_пилюлькин_PROPN", - "доктор_NOUN_прописать_VERB", - "доктор_NOUN_ренар_PROPN", - "доктор_NOUN_сежур_PROPN", - "доктор_NOUN_фабос_PROPN", - "доктор_PROPN_друж_PROPN", - "долг_NOUN_предупредить_VERB", - "долг_NOUN_служба_NOUN", - "долг_NOUN_честь_NOUN", - "долгий_ADJ_беседа_NOUN", - "долгий_ADJ_взгляд_NOUN", - "долгий_ADJ_время_NOUN", - "долгий_ADJ_год_NOUN", - "долгий_ADJ_долгий_ADJ", - "долгий_ADJ_зимний_ADJ", - "долгий_ADJ_история_NOUN", - "долгий_ADJ_молчание_NOUN", - "долгий_ADJ_ожидание_NOUN", - "долгий_ADJ_отсутствие_NOUN", - "долгий_ADJ_пауза_NOUN", - "долгий_ADJ_пребывание_NOUN", - "долгий_ADJ_путешествие_NOUN", - "долгий_ADJ_разлука_NOUN", - "долгий_ADJ_сидение_NOUN", - "долгий_ADJ_срок_NOUN", - "долгий_ADJ_ящик_NOUN", - "долгий_ADV_всех_PRON", - "долгий_ADV_других_ADJ", - "долгий_ADV_оставаться_VERB", - "долгий_ADV_чем_SCONJ", - "долго_ADV_беседовать_VERB", - "долго_ADV_блуждать_VERB", - "долго_ADV_бродить_VERB", - "долго_ADV_вглядываться_VERB", - "долго_ADV_возиться_VERB", - "долго_ADV_ворочаться_VERB", - "долго_ADV_всматриваться_VERB", - "долго_ADV_длиться_VERB", - "долго_ADV_копаться_VERB", - "долго_ADV_кружить_VERB", - "долго_ADV_молчать_VERB", - "долго_ADV_пробыть_VERB", - "долго_ADV_пролежать_VERB", - "долго_ADV_простоять_VERB", - "долго_ADV_разглядывать_VERB", - "долго_ADV_раздумывать_VERB", - "долго_ADV_рассматривать_VERB", - "долго_ADV_рыться_VERB", - "долго_ADV_совещаться_VERB", - "долго_ADV_трясти_VERB", - "долго_ADV_уговаривать_VERB", - "долго_ADV_упрашивать_VERB", - "долго_ADV_шарить_VERB", - "долго_ADV_шептаться_VERB", - "долговязый_ADJ_мальчик_NOUN", - "долговязый_ADJ_парень_NOUN", - "долговязый_ADJ_фигура_NOUN", - "долетать_VERB_до_ADP", - "долететь_VERB_до_ADP", - "должностной_ADJ_лицо_NOUN", - "должный_ADJ_сознаться_VERB", - "долина_NOUN_дор_PROPN", - "долина_NOUN_река_NOUN", - "доложить_VERB_обо_ADP", - "доложу_VERB_вам_PRON", - "доля_NOUN_выпасть_VERB", - "доля_NOUN_истина_NOUN", - "доля_NOUN_правда_NOUN", - "доля_NOUN_секунда_NOUN", - "дом_NOUN_no_PROPN", - "дом_NOUN_напротив_ADV", - "дом_NOUN_отдых_NOUN", - "дом_NOUN_престарелый_ADJ", - "дом_NOUN_умалишенных_NOUN", - "дом_PROPN_культура_NOUN", - "дом_PROPN_пионер_NOUN", - "домашний_ADJ_адрес_NOUN", - "домашний_ADJ_арест_NOUN", - "домашний_ADJ_животное_NOUN", - "домашний_ADJ_задание_NOUN", - "домашний_ADJ_обиход_NOUN", - "домашний_ADJ_обстановка_NOUN", - "домашний_ADJ_очаг_NOUN", - "домашний_ADJ_скарб_NOUN", - "домашний_ADJ_скот_NOUN", - "домашний_ADJ_телефон_NOUN", - "домашний_ADJ_туфля_NOUN", - "домашний_ADJ_условие_NOUN", - "домашний_ADJ_утварь_NOUN", - "домашний_ADJ_уют_NOUN", - "домашний_ADJ_хозяйка_NOUN", - "домашний_ADJ_хозяйство_NOUN", - "доменный_ADJ_печь_NOUN", - "домчаться_VERB_до_ADP", - "дон_NOUN_мигель_PROPN", - "дон_NOUN_пабло_PROPN", - "дон_NOUN_педро_PROPN", - "дон_NOUN_торрибио_PROPN", - "дон_NOUN_фернандо_PROPN", - "дон_NOUN_хуан_PROPN", - "дон_PROPN_андрес_PROPN", - "дон_PROPN_аннибал_PROPN", - "дон_PROPN_антонио_PROPN", - "дон_PROPN_валентин_PROPN", - "дон_PROPN_грегорио_PROPN", - "дон_PROPN_гузман_PROPN", - "дон_PROPN_гусман_PROPN", - "дон_PROPN_гутьерре_PROPN", - "дон_PROPN_диего_PROPN", - "дон_PROPN_жуан_PROPN", - "дон_PROPN_игнасио_PROPN", - "дон_PROPN_игнацио_PROPN", - "дон_PROPN_кандидо_PROPN", - "дон_PROPN_карлос_PROPN", - "дон_PROPN_кихот_PROPN", - "дон_PROPN_корнелио_PROPN", - "дон_PROPN_косме_PROPN", - "дон_PROPN_кристобаль_PROPN", - "дон_PROPN_куркурузо_PROPN", - "дон_PROPN_лоп_PROPN", - "дон_PROPN_лопес_PROPN", - "дон_PROPN_луи_PROPN", - "дон_PROPN_луис_PROPN", - "дон_PROPN_мануэль_PROPN", - "дон_PROPN_мариано_PROPN", - "дон_PROPN_маркос_PROPN", - "дон_PROPN_марсиаль_PROPN", - "дон_PROPN_марсьяль_PROPN", - "дон_PROPN_мельхиор_PROPN", - "дон_PROPN_мигель_PROPN", - "дон_PROPN_мигеля_PROPN", - "дон_PROPN_мигуэль_PROPN", - "дон_PROPN_олимпио_PROPN", - "дон_PROPN_олоцага_PROPN", - "дон_PROPN_орелио_PROPN", - "дон_PROPN_пабло_PROPN", - "дон_PROPN_педро_PROPN", - "дон_PROPN_порфирио_PROPN", - "дон_PROPN_рамон_PROPN", - "дон_PROPN_рафаэль_PROPN", - "дон_PROPN_ремиго_PROPN", - "дон_PROPN_руис_PROPN", - "дон_PROPN_рутилио_PROPN", - "дон_PROPN_санчо_PROPN", - "дон_PROPN_себастьян_PROPN", - "дон_PROPN_сильва_PROPN", - "дон_PROPN_стефано_PROPN", - "дон_PROPN_тадео_PROPN", - "дон_PROPN_торибио_PROPN", - "дон_PROPN_торрибио_PROPN", - "дон_PROPN_фелипе_PROPN", - "дон_PROPN_фернандо_PROPN", - "дон_PROPN_хаиме_PROPN", - "дон_PROPN_хесус_PROPN", - "дон_PROPN_хозе_PROPN", - "дон_PROPN_хосе_PROPN", - "дон_PROPN_хуан_PROPN", - "дон_PROPN_эстебан_PROPN", - "дон_PROPN_эстебана_PROPN", - "дон_PROPN_эстеван_PROPN", - "донесся_ADJ_до_ADP", - "донесся_NOUN_до_ADP", - "донесся_PROPN_голос_NOUN", - "донесся_PROPN_до_ADP", - "донесся_VERB_до_ADP", - "донести_VERB_до_ADP", - "донестись_VERB_громкий_ADJ", - "донестись_VERB_до_ADP", - "донестись_VERB_звук_NOUN", - "донестись_VERB_крик_NOUN", - "донна_PROPN_гермоса_PROPN", - "донна_PROPN_клара_PROPN", - "донна_PROPN_розарио_PROPN", - "донна_PROPN_эмилия_PROPN", - "доноситься_VERB_глухой_ADJ", - "доноситься_VERB_голос_NOUN", - "доноситься_VERB_громкий_ADJ", - "доноситься_VERB_запах_NOUN", - "доноситься_VERB_звук_NOUN", - "доноситься_VERB_издалёка_ADV", - "доноситься_VERB_крик_NOUN", - "доноситься_VERB_музыка_NOUN", - "доноситься_VERB_оттуда_ADV", - "доноситься_VERB_снизу_ADV", - "доноситься_VERB_шум_NOUN", - "донья_PROPN_аврора_PROPN", - "донья_PROPN_анжела_PROPN", - "донья_PROPN_анита_PROPN", - "донья_PROPN_долорес_PROPN", - "донья_PROPN_клара_PROPN", - "донья_PROPN_линда_PROPN", - "донья_PROPN_мария_PROPN", - "донья_PROPN_марселина_PROPN", - "донья_PROPN_розарио_PROPN", - "донья_PROPN_флора_PROPN", - "донья_PROPN_эльмина_PROPN", - "донья_PROPN_эрмоса_PROPN", - "допить_VERB_чай_NOUN", - "доплестись_VERB_до_ADP", - "доплыть_VERB_до_ADP", - "доподлинно_ADV_известный_ADJ", - "доползти_VERB_до_ADP", - "дополнение_NOUN_к_ADP", - "дополнительный_ADJ_занятие_NOUN", - "дополнять_VERB_друг_PRON", - "допускать_VERB_возможность_NOUN", - "допускать_VERB_возражение_NOUN", - "допускать_VERB_мысль_NOUN", - "допустить_VERB_ошибка_NOUN", - "дорасти_VERB_до_ADP", - "дорваться_VERB_до_ADP", - "дорога_NOUN_пролегать_VERB", - "дорога_NOUN_проложить_VERB", - "дорого_ADV_заплатить_VERB", - "дорого_ADV_обойтись_VERB", - "дорого_ADV_поплатиться_VERB", - "дорого_ADV_продать_VERB", - "дорого_ADV_стоить_VERB", - "дорогой_ADJ_ватсон_PROPN", - "дорогой_ADJ_гость_NOUN", - "дорогой_ADJ_гостья_NOUN", - "дорогой_ADJ_дитя_NOUN", - "дорогой_ADJ_коллега_NOUN", - "дорогой_ADJ_мамочка_NOUN", - "дорогой_ADJ_подарок_NOUN", - "дорогой_ADJ_товарищ_NOUN", - "дорогой_ADJ_цена_NOUN", - "дорогой_ADJ_читатель_NOUN", - "дорогой_ADV_всего_PRON", - "дорогой_ADV_продать_VERB", - "дорогой_ADV_чем_SCONJ", - "дорожить_VERB_жизнь_NOUN", - "дорожка_NOUN_вести_VERB", - "дорожка_NOUN_сад_NOUN", - "дорожный_ADJ_знак_NOUN", - "дорожный_ADJ_костюм_NOUN", - "дорожный_ADJ_мастер_NOUN", - "дорожный_ADJ_мешок_NOUN", - "дорожный_ADJ_пыль_NOUN", - "дорожный_ADJ_сумка_NOUN", - "доротея_PROPN_василиевич_PROPN", - "досада_NOUN_воскликнуть_VERB", - "досада_NOUN_махнуть_VERB", - "досада_NOUN_подумать_VERB", - "досада_NOUN_произнести_VERB", - "досадливо_ADV_поморщиться_VERB", - "доска_NOUN_объявление_NOUN", - "доска_NOUN_почёт_NOUN", - "доскакать_VERB_до_ADP", - "дослужиться_VERB_до_ADP", - "доставить_VERB_удовольствие_NOUN", - "доставлять_VERB_удовольствие_NOUN", - "достал_VERB_из_ADP", - "достаточно_ADV_близко_ADV", - "достаточно_ADV_взрослый_ADJ", - "достаточно_ADV_далеко_ADV", - "достаточно_ADV_наказать_VERB", - "достаточно_ADV_светло_ADV", - "достаточно_ADV_сильный_ADJ", - "достаточно_ADV_хорошо_ADV", - "достаточно_ADV_широкий_ADJ", - "достаточно_ADV_ясно_ADV", - "достаточный_ADJ_запас_NOUN", - "достаточный_ADJ_количество_NOUN", - "достаточный_ADJ_основание_NOUN", - "достаточный_ADJ_степень_NOUN", - "достаточный_ADJ_чтобы_SCONJ", - "достать_VERB_блокнот_NOUN", - "достать_VERB_из_ADP", - "достать_VERB_мобильник_NOUN", - "достать_VERB_оттуда_ADV", - "достать_VERB_пачка_NOUN", - "достать_VERB_сигарета_NOUN", - "достигать_VERB_высота_NOUN", - "достигать_VERB_метр_NOUN", - "достигать_VERB_цель_NOUN", - "достигнуть_VERB_вершина_NOUN", - "достигнуть_VERB_высокий_ADJ", - "достигнуть_VERB_подножие_NOUN", - "достигнуть_VERB_предел_NOUN", - "достигнуть_VERB_противоположный_ADJ", - "достигнуть_VERB_цель_NOUN", - "достижение_NOUN_наука_NOUN", - "достижение_NOUN_цель_NOUN", - "достоверно_ADV_известный_ADJ", - "достоинство_NOUN_оценить_VERB", - "достойный_ADJ_противник_NOUN", - "достойный_ADJ_сожаление_NOUN", - "достойный_ADJ_уважение_NOUN", - "доступ_NOUN_воздух_NOUN", - "доступ_NOUN_к_ADP", - "доступный_ADJ_для_ADP", - "досчитать_VERB_до_ADP", - "дотащить_VERB_до_ADP", - "дотащиться_VERB_до_ADP", - "дотрагиваться_VERB_до_ADP", - "дотронуться_VERB_до_ADP", - "дотянуть_VERB_до_ADP", - "дотянуться_VERB_до_ADP", - "дохлый_ADJ_кошка_NOUN", - "дохлый_ADJ_крыса_NOUN", - "доходить_VERB_до_ADP", - "доходить_VERB_слух_NOUN", - "дочитать_VERB_до_ADP", - "дочь_NOUN_купецкий_ADJ", - "дощатый_ADJ_забор_NOUN", - "дощатый_ADJ_настил_NOUN", - "дощатый_ADJ_перегородка_NOUN", - "дощатый_ADJ_пол_NOUN", - "дощатый_ADJ_стена_NOUN", - "дощатый_ADJ_стол_NOUN", - "драгоценный_ADJ_вещь_NOUN", - "драгоценный_ADJ_груз_NOUN", - "драгоценный_ADJ_дар_NOUN", - "драгоценный_ADJ_камень_NOUN", - "драгоценный_ADJ_каменьями_NOUN", - "драгоценный_ADJ_металл_NOUN", - "драгоценный_ADJ_ноша_NOUN", - "драгоценный_ADJ_подарок_NOUN", - "драгоценный_ADJ_украшение_NOUN", - "дребезжать_VERB_голос_NOUN", - "дребезжащим_ADJ_голос_NOUN", - "древесный_ADJ_ветвь_NOUN", - "древесный_ADJ_кора_NOUN", - "древесный_ADJ_ствол_NOUN", - "древесный_ADJ_уголь_NOUN", - "древний_ADJ_грек_NOUN", - "древний_ADJ_греция_PROPN", - "древний_ADJ_египет_PROPN", - "древний_ADJ_египтянин_NOUN", - "древний_ADJ_легенда_NOUN", - "древний_ADJ_обычай_NOUN", - "древний_ADJ_рим_PROPN", - "древний_ADJ_римлянин_NOUN", - "древний_ADJ_род_NOUN", - "древний_ADJ_русь_PROPN", - "древний_ADJ_славянин_NOUN", - "древний_ADJ_храм_NOUN", - "древний_ADJ_цивилизация_NOUN", - "дремучий_ADJ_лес_NOUN", - "дрилль_PROPN_пит_PROPN", - "дробный_ADJ_стук_NOUN", - "дровяной_ADJ_сарай_NOUN", - "дрогнуть_VERB_голос_NOUN", - "дрожа_PROPN_от_ADP", - "дрожать_VERB_голос_NOUN", - "дрожать_VERB_губа_NOUN", - "дрожащей_ADJ_рука_NOUN", - "дрожащими_DET_рука_NOUN", - "дрожь_NOUN_пробегать_VERB", - "дрожь_NOUN_пробежать_VERB", - "друг_NOUN_фриц_PROPN", - "друг_PRON_друга_PRON", - "друг_PRON_другом_PRON", - "друг_PRON_другу_PRON", - "друг_PRON_дружке_NOUN", - "друг_PRON_дружке_PRON", - "друг_PRON_дружку_PRON", - "друг_PRON_напротив_ADP", - "друг_PRON_против_ADP", - "друга_PRON_локтями_NOUN", - "другая_ADJ_история_NOUN", - "другая_ADJ_половина_NOUN", - "другая_ADJ_причина_NOUN", - "другая_ADJ_третий_ADJ", - "другим_ADJ_предмет_NOUN", - "другим_ADJ_ребятам_NOUN", - "другим_ADJ_способ_NOUN", - "другим_ADJ_тон_NOUN", - "другими_ADJ_ребятами_NOUN", - "другими_ADJ_слово_NOUN", - "других_ADJ_животное_NOUN", - "других_ADJ_зверей_NOUN", - "других_ADJ_обстоятельство_NOUN", - "других_ADJ_планета_NOUN", - "других_ADJ_страна_NOUN", - "другого_ADJ_бок_NOUN", - "другого_ADJ_выбор_NOUN", - "другого_ADJ_выход_NOUN", - "другого_ADJ_исход_NOUN", - "другого_ADJ_мир_NOUN", - "другого_ADJ_мнение_NOUN", - "другого_ADJ_род_NOUN", - "другого_ADJ_способ_NOUN", - "другое_ADJ_дело_NOUN", - "другое_ADJ_утро_NOUN", - "другой_ADJ_бок_NOUN", - "другой_ADJ_вариант_NOUN", - "другой_ADJ_галс_NOUN", - "другой_ADJ_день_NOUN", - "другой_ADJ_оборот_NOUN", - "другой_ADJ_планета_NOUN", - "другой_ADJ_сторона_NOUN", - "другом_ADJ_берег_NOUN", - "другом_ADJ_конец_NOUN", - "другом_ADJ_место_NOUN", - "другом_ADJ_направление_NOUN", - "другом_ADJ_район_NOUN", - "другом_ADJ_угол_NOUN", - "другому_ADJ_повод_NOUN", - "другую_ADJ_комната_NOUN", - "другую_ADJ_планета_NOUN", - "другую_ADJ_сторона_NOUN", - "другую_ADJ_тема_NOUN", - "дружба_NOUN_дружба_NOUN", - "дружески_ADV_пожать_VERB", - "дружески_ADV_похлопать_VERB", - "дружески_ADV_улыбнуться_VERB", - "дружески_ADV_хлопнуть_VERB", - "дружеский_ADJ_беседа_NOUN", - "дружеский_ADJ_отношение_NOUN", - "дружеский_ADJ_расположение_NOUN", - "дружеский_ADJ_совет_NOUN", - "дружеский_ADJ_тон_NOUN", - "дружеский_ADJ_чувство_NOUN", - "дружно_ADV_подхватить_VERB", - "дружно_ADV_приняться_VERB", - "дружно_ADV_рассмеяться_VERB", - "дружный_ADJ_компания_NOUN", - "дружный_ADJ_семья_NOUN", - "дружный_ADJ_смех_NOUN", - "дружный_ADJ_усилие_NOUN", - "дружный_ADJ_хор_NOUN", - "дружный_ADJ_хохот_NOUN", - "дрыгать_VERB_нога_NOUN", - "дрянный_ADJ_девчонка_NOUN", - "дряхлый_ADJ_старик_NOUN", - "дубль_PROPN_эпе_NOUN", - "дубль_PROPN_эпе_PROPN", - "дубовый_ADJ_дверь_NOUN", - "дубовый_ADJ_доска_NOUN", - "дубовый_ADJ_лист_NOUN", - "дубовый_ADJ_роща_NOUN", - "дубовый_ADJ_стол_NOUN", - "дуло_NOUN_револьвер_NOUN", - "дуло_VERB_пистолет_NOUN", - "дуло_VERB_револьвер_NOUN", - "дуло_VERB_ружьё_NOUN", - "дунди_PROPN_пэк_PROPN", - "дуновение_NOUN_ветер_NOUN", - "дуновение_NOUN_ветерок_NOUN", - "дупло_NOUN_дерево_NOUN", - "дура_NOUN_дура_NOUN", - "дурак_NOUN_валять_VERB", - "дурак_NOUN_дурак_NOUN", - "дурак_PROPN_ты_PRON", - "дурацкий_ADJ_вопрос_NOUN", - "дурацкий_ADJ_игра_NOUN", - "дурацкий_ADJ_история_NOUN", - "дурацкий_ADJ_положение_NOUN", - "дурацкий_ADJ_шутка_NOUN", - "дургаль_PROPN_саиб_PROPN", - "дурно_ADV_обращаться_VERB", - "дурно_ADV_пахнуть_VERB", - "дурной_ADJ_весть_NOUN", - "дурной_ADJ_влияние_NOUN", - "дурной_ADJ_компания_NOUN", - "дурной_ADJ_намерение_NOUN", - "дурной_ADJ_настроение_NOUN", - "дурной_ADJ_обращение_NOUN", - "дурной_ADJ_общество_NOUN", - "дурной_ADJ_поведение_NOUN", - "дурной_ADJ_погода_NOUN", - "дурной_ADJ_последствие_NOUN", - "дурной_ADJ_поступок_NOUN", - "дурной_ADJ_предзнаменование_NOUN", - "дурной_ADJ_предчувствие_NOUN", - "дурной_ADJ_привычка_NOUN", - "дурной_ADJ_пример_NOUN", - "дурной_ADJ_примета_NOUN", - "дурной_ADJ_расположение_NOUN", - "дурной_ADJ_слава_NOUN", - "дурной_ADJ_сон_NOUN", - "дурной_ADJ_характер_NOUN", - "дуть_VERB_ветер_NOUN", - "дуть_VERB_свежий_ADJ", - "дуть_VERB_сильный_ADJ", - "дух_NOUN_захватить_VERB", - "дух_NOUN_захватывать_VERB", - "духовный_ADJ_завещание_NOUN", - "духовный_ADJ_звание_NOUN", - "духовный_ADJ_лицо_NOUN", - "духовой_ADJ_оркестр_NOUN", - "душа_NOUN_умерших_NOUN", - "душевный_ADJ_боль_NOUN", - "душевный_ADJ_волнение_NOUN", - "душевный_ADJ_качество_NOUN", - "душевный_ADJ_мука_NOUN", - "душевный_ADJ_покой_NOUN", - "душевный_ADJ_равновесие_NOUN", - "душевный_ADJ_сила_NOUN", - "душевный_ADJ_состояние_NOUN", - "душевный_ADJ_спокойствие_NOUN", - "душевный_ADJ_страдание_NOUN", - "душераздирающий_VERB_крик_NOUN", - "душистый_ADJ_сено_NOUN", - "душистый_ADJ_трава_NOUN", - "душистый_ADJ_цвет_NOUN", - "душный_ADJ_воздух_NOUN", - "дым_NOUN_валить_VERB", - "дым_NOUN_подниматься_VERB", - "дым_NOUN_рассеяться_VERB", - "дым_PROPN_богов_PROPN", - "дымовой_ADJ_завеса_NOUN", - "дымовой_ADJ_труба_NOUN", - "дымовой_ADJ_шашка_NOUN", - "дыхание_NOUN_перехватить_VERB", - "дышать_VERB_нечем_VERB", - "дышать_VERB_ровно_ADV", - "дышать_VERB_свежий_ADJ", - "дышать_VERB_тяжело_ADV", - "дышаться_VERB_легко_ADV", - "дьявол_PROPN_петрович_PROPN", - "дэвид_PROPN_рок_PROPN", - "дэйв_PROPN_татт_PROPN", - "дю_PROPN_лю_PROPN", - "дю_PROPN_люк_PROPN", - "дю_PROPN_со_PROPN", - "дюпон_PROPN_иванович_PROPN", - "дядюшка_NOUN_лафуркас_PROPN", - "дядюшка_NOUN_лафуркаса_PROPN", - "дядюшка_NOUN_римус_PROPN", - "дядюшка_PROPN_лафуркас_PROPN", - "дядюшка_PROPN_лир_PROPN", - "дядя_NOUN_авес_PROPN", - "дядя_NOUN_алек_PROPN", - "дядя_NOUN_боря_PROPN", - "дядя_NOUN_валер_PROPN", - "дядя_NOUN_ваня_PROPN", - "дядя_NOUN_василий_PROPN", - "дядя_NOUN_василь_PROPN", - "дядя_NOUN_вася_PROPN", - "дядя_NOUN_веня_PROPN", - "дядя_NOUN_витя_PROPN", - "дядя_NOUN_вова_PROPN", - "дядя_NOUN_володя_PROPN", - "дядя_NOUN_гена_PROPN", - "дядя_NOUN_гиляй_PROPN", - "дядя_NOUN_гордей_PROPN", - "дядя_NOUN_гоча_PROPN", - "дядя_NOUN_гоша_PROPN", - "дядя_NOUN_гриценко_PROPN", - "дядя_NOUN_гриша_PROPN", - "дядя_NOUN_джузеппе_PROPN", - "дядя_NOUN_егор_PROPN", - "дядя_NOUN_ефим_PROPN", - "дядя_NOUN_жора_PROPN", - "дядя_NOUN_иванка_PROPN", - "дядя_NOUN_игнат_PROPN", - "дядя_NOUN_исаак_PROPN", - "дядя_NOUN_капа_PROPN", - "дядя_NOUN_кит_PROPN", - "дядя_NOUN_коля_PROPN", - "дядя_NOUN_костя_PROPN", - "дядя_NOUN_кузьма_PROPN", - "дядя_NOUN_кузя_PROPN", - "дядя_NOUN_лека_PROPN", - "дядя_NOUN_лёва_PROPN", - "дядя_NOUN_лёня_PROPN", - "дядя_NOUN_лёша_PROPN", - "дядя_NOUN_магнус_PROPN", - "дядя_NOUN_марат_PROPN", - "дядя_NOUN_мирон_PROPN", - "дядя_NOUN_митя_PROPN", - "дядя_NOUN_мифа_PROPN", - "дядя_NOUN_миша_PROPN", - "дядя_NOUN_мэк_PROPN", - "дядя_NOUN_опанас_PROPN", - "дядя_NOUN_ося_PROPN", - "дядя_NOUN_павел_PROPN", - "дядя_NOUN_паша_PROPN", - "дядя_NOUN_петя_PROPN", - "дядя_NOUN_пихто_PROPN", - "дядя_NOUN_поль_PROPN", - "дядя_NOUN_пост_PROPN", - "дядя_NOUN_проня_PROPN", - "дядя_NOUN_родя_PROPN", - "дядя_NOUN_саша_PROPN", - "дядя_NOUN_сева_PROPN", - "дядя_NOUN_семён_PROPN", - "дядя_NOUN_сеня_PROPN", - "дядя_NOUN_серафим_PROPN", - "дядя_NOUN_серж_PROPN", - "дядя_NOUN_серёжа_PROPN", - "дядя_NOUN_софа_PROPN", - "дядя_NOUN_степ_PROPN", - "дядя_NOUN_степан_PROPN", - "дядя_NOUN_стёпа_PROPN", - "дядя_NOUN_тедди_PROPN", - "дядя_NOUN_толя_PROPN", - "дядя_NOUN_троша_PROPN", - "дядя_NOUN_тумба_PROPN", - "дядя_NOUN_фаддей_PROPN", - "дядя_NOUN_феди_PROPN", - "дядя_NOUN_федя_PROPN", - "дядя_NOUN_фриц_PROPN", - "дядя_NOUN_фёдор_PROPN", - "дядя_NOUN_шакир_PROPN", - "дядя_NOUN_шура_PROPN", - "дядя_NOUN_эд_PROPN", - "дядя_NOUN_юзя_PROPN", - "дядя_NOUN_юра_PROPN", - "дядя_NOUN_яша_PROPN", - "дёрнуть_VERB_плечо_NOUN", - "е_ADJ_год_NOUN", - "е_ADP_р_PROPN", - "е_NOUN_е_PROPN", - "е_NOUN_ет_ADV", - "е_PROPN_е_PROPN", - "ева_PROPN_петрович_PROPN", - "евгений_PROPN_алексеевич_PROPN", - "евгений_PROPN_данилович_PROPN", - "евгений_PROPN_зеленко_PROPN", - "евгений_PROPN_иванович_PROPN", - "евгений_PROPN_константинович_PROPN", - "евгений_PROPN_михаилович_PROPN", - "евгений_PROPN_николаевич_PROPN", - "евгений_PROPN_онегин_PROPN", - "евгений_PROPN_осипович_PROPN", - "евгений_PROPN_степанович_PROPN", - "евгения_PROPN_василиевич_PROPN", - "евгения_PROPN_константинович_PROPN", - "евгения_PROPN_лаврентиевич_PROPN", - "евгения_PROPN_францевич_PROPN", - "евгения_PROPN_эдуардович_PROPN", - "евдокия_PROPN_павлович_PROPN", - "евдокия_PROPN_савелиевич_PROPN", - "евдокия_PROPN_тимофеевич_PROPN", - "евлампий_PROPN_харлампиевич_PROPN", - "европа_PROPN_азия_PROPN", - "европейский_ADJ_государство_NOUN", - "европейский_ADJ_костюм_NOUN", - "европейский_ADJ_страна_NOUN", - "европейский_ADJ_часть_NOUN", - "европейский_ADJ_язык_NOUN", - "египетский_ADJ_пирамида_NOUN", - "его_PRON_светлость_ADV", - "егор_PROPN_андреевич_PROPN", - "егор_PROPN_весёлых_PROPN", - "егор_PROPN_викторович_PROPN", - "егор_PROPN_егорыч_PROPN", - "егор_PROPN_петрович_PROPN", - "егор_PROPN_савельич_PROPN", - "егор_PROPN_семёнович_PROPN", - "егор_PROPN_спиридонович_PROPN", - "едва_ADV_держаться_VERB", - "едва_ADV_дождаться_VERB", - "едва_ADV_достигать_VERB", - "едва_ADV_едва_ADV", - "едва_ADV_едва_PART", - "едва_ADV_заметно_ADV", - "едва_ADV_заметный_ADJ", - "едва_ADV_касаться_VERB", - "едва_ADV_коснуться_VERB", - "едва_ADV_ли_PART", - "едва_ADV_переводить_VERB", - "едва_ADV_передвигать_VERB", - "едва_ADV_поспевать_VERB", - "едва_ADV_приметный_ADJ", - "едва_ADV_пробиваться_VERB", - "едва_ADV_различать_VERB", - "едва_ADV_сдерживать_VERB", - "едва_ADV_сдерживаться_VERB", - "едва_ADV_слышно_ADV", - "едва_ADV_слышный_ADJ", - "едва_ADV_удерживать_VERB", - "едва_ADV_удерживаться_VERB", - "едва_ADV_уловимый_ADJ", - "едва_ADV_успевать_VERB", - "едва_PART_взглянуть_VERB", - "едва_PART_выговорить_VERB", - "едва_PART_держаться_VERB", - "едва_PART_дождаться_VERB", - "едва_PART_заметный_ADJ", - "едва_PART_передвигать_VERB", - "едва_PART_переступить_VERB", - "едва_PART_поспевать_VERB", - "едва_PART_приметный_ADJ", - "едва_PART_сдерживать_VERB", - "едва_PART_сдерживаться_VERB", - "едва_PART_слышно_ADV", - "едва_PART_слышный_ADJ", - "едва_PART_удержаться_VERB", - "едва_PART_удерживаться_VERB", - "едва_PART_уловимый_ADJ", - "едва_PART_успевать_VERB", - "едва_PART_успеть_VERB", - "едва_PART_устоять_VERB", - "единица_NOUN_измерение_NOUN", - "единогласно_ADV_решить_VERB", - "единственный_ADJ_внук_NOUN", - "единственный_ADJ_возможность_NOUN", - "единственный_ADJ_выход_NOUN", - "единственный_ADJ_дочь_NOUN", - "единственный_ADJ_источник_NOUN", - "единственный_ADJ_надежда_NOUN", - "единственный_ADJ_наследник_NOUN", - "единственный_ADJ_наследница_NOUN", - "единственный_ADJ_представитель_NOUN", - "единственный_ADJ_свидетель_NOUN", - "единственный_ADJ_спасение_NOUN", - "единственный_ADJ_способ_NOUN", - "единственный_ADJ_средство_NOUN", - "единственный_ADJ_сын_NOUN", - "единственный_ADJ_утешение_NOUN", - "единственный_ADJ_уцелеть_VERB", - "единственный_ADJ_цель_NOUN", - "единственный_ADJ_шанс_NOUN", - "единственный_ADJ_экземпляр_NOUN", - "единый_ADJ_дух_NOUN", - "единый_ADJ_слово_NOUN", - "единый_ADJ_целое_NOUN", - "едкий_ADJ_дым_NOUN", - "едкий_ADJ_запах_NOUN", - "ежеминутно_ADV_ожидать_VERB", - "ежовый_ADJ_рукавицах_NOUN", - "ежу_PART_понятный_ADJ", - "ездить_VERB_верхом_ADV", - "ездовой_ADJ_собака_NOUN", - "ей_PRON_богу_VERB", - "ей_PRON_вслед_ADV", - "екатерина_PROPN_ii_ADJ", - "екатерина_PROPN_александрович_PROPN", - "екатерина_PROPN_алексеевич_PROPN", - "екатерина_PROPN_василиевич_PROPN", - "екатерина_PROPN_дмитриевич_PROPN", - "екатерина_PROPN_егорович_PROPN", - "екатерина_PROPN_иванович_PROPN", - "екатерина_PROPN_матвеевич_PROPN", - "екатерина_PROPN_медичи_PROPN", - "екатерина_PROPN_павлович_PROPN", - "екатерина_PROPN_петрович_PROPN", - "екатерина_PROPN_семёнович_PROPN", - "екатерина_PROPN_сергеевич_PROPN", - "екатерина_PROPN_тимофеевич_PROPN", - "еле_ADV_еле_PART", - "еле_NOUN_еле_PART", - "еле_PART_видный_ADJ", - "еле_PART_волочить_VERB", - "еле_PART_ворочать_VERB", - "еле_PART_выговорить_VERB", - "еле_PART_двигаться_VERB", - "еле_PART_держаться_VERB", - "еле_PART_дождаться_VERB", - "еле_PART_дышать_VERB", - "еле_PART_еле_PART", - "еле_PART_живой_ADJ", - "еле_PART_заметно_ADV", - "еле_PART_заметный_ADJ", - "еле_PART_переводить_VERB", - "еле_PART_передвигать_VERB", - "еле_PART_плестись_VERB", - "еле_PART_поспевать_VERB", - "еле_PART_сдерживать_VERB", - "еле_PART_сдерживаться_VERB", - "еле_PART_слышно_ADV", - "еле_PART_слышный_ADJ", - "еле_PART_удержаться_VERB", - "еле_PART_удерживаться_VERB", - "еле_PART_уловимый_ADJ", - "еле_PART_успевать_VERB", - "еле_PART_успеть_VERB", - "елена_PROPN_александрович_PROPN", - "елена_PROPN_анатолиевич_PROPN", - "елена_PROPN_антонович_PROPN", - "елена_PROPN_василиевич_PROPN", - "елена_PROPN_викторович_PROPN", - "елена_PROPN_владимирович_PROPN", - "елена_PROPN_гаврилович_PROPN", - "елена_PROPN_григориевич_PROPN", - "елена_PROPN_дмитриевич_PROPN", - "елена_PROPN_иванович_PROPN", - "елена_PROPN_константинович_PROPN", - "елена_PROPN_максимович_PROPN", - "елена_PROPN_михаилович_PROPN", - "елена_PROPN_никитишна_PROPN", - "елена_PROPN_николаевич_PROPN", - "елена_PROPN_павлович_PROPN", - "елена_PROPN_петрович_PROPN", - "елена_PROPN_прекрасная_PROPN", - "елена_PROPN_семёнович_PROPN", - "елена_PROPN_серафимович_PROPN", - "елена_PROPN_сергеевич_PROPN", - "елена_PROPN_станиславович_PROPN", - "елена_PROPN_степанович_PROPN", - "елена_PROPN_тихонович_PROPN", - "елена_PROPN_фёдорович_PROPN", - "елена_PROPN_юриевич_PROPN", - "елизавета_PROPN_александрович_PROPN", - "елизавета_PROPN_алексеевич_PROPN", - "елизавета_PROPN_борисович_PROPN", - "елизавета_PROPN_григориевич_PROPN", - "елизавета_PROPN_дмитриевич_PROPN", - "елизавета_PROPN_иванович_PROPN", - "елизавета_PROPN_максимович_PROPN", - "елизавета_PROPN_маркович_PROPN", - "елизавета_PROPN_николаевич_PROPN", - "елизавета_PROPN_петрович_PROPN", - "елизавета_PROPN_платонович_PROPN", - "елизавета_PROPN_решлей_PROPN", - "елизавета_PROPN_сергеевич_PROPN", - "елизавета_PROPN_фёдорович_PROPN", - "елисейский_ADJ_поле_NOUN", - "еловый_ADJ_ветвь_NOUN", - "еловый_ADJ_ветка_NOUN", - "еловый_ADJ_лапа_NOUN", - "еловый_ADJ_лес_NOUN", - "еловый_ADJ_шишка_NOUN", - "еловый_ADJ_шишка_PROPN", - "ему_PRON_вдогонку_NOUN", - "ему_PRON_вздуматься_VERB", - "ему_PRON_вслед_ADV", - "ему_PRON_почудиться_VERB", - "ему_PRON_снилось_VERB", - "ему_PRON_чудиться_VERB", - "ерошить_VERB_волос_NOUN", - "еруслан_PROPN_лазаревич_PROPN", - "если_SCONJ_б_ADP", - "если_SCONJ_б_AUX", - "если_SCONJ_б_PART", - "если_SCONJ_бы_AUX", - "если_SCONJ_вдуматься_VERB", - "если_SCONJ_позволите_VERB", - "если_SCONJ_учесть_VERB", - "если_SCONJ_честно_ADV", - "естественный_ADJ_история_NOUN", - "естественный_ADJ_наука_NOUN", - "естественный_ADJ_отбор_NOUN", - "есть_VERB_каша_NOUN", - "есть_VERB_мороженое_NOUN", - "есть_VERB_мясо_NOUN", - "есть_VERB_суп_NOUN", - "есть_VERB_сырой_ADJ", - "ефим_PROPN_борисович_PROPN", - "ефим_PROPN_кондратиевич_PROPN", - "ефим_PROPN_петрович_PROPN", - "ехать_VERB_верхом_ADV", - "ехать_VERB_впереди_ADP", - "ехидно_ADV_заметить_VERB", - "ехидно_ADV_поинтересоваться_VERB", - "ехидно_ADV_спросить_VERB", - "ехидно_ADV_улыбаться_VERB", - "ешь_PROPN_есть_VERB", - "ещё_ADV_громкий_ADV", - "ещё_ADV_задолго_ADV", - "ещё_ADV_засветло_VERB", - "ещё_ADV_злой_ADV", - "ещё_ADV_издали_VERB", - "ещё_ADV_крепкий_ADV", - "ещё_ADV_ласковый_ADV", - "ещё_ADV_полбеды_NOUN", - "ещё_ADV_пуще_NOUN", - "ещё_ADV_пуще_VERB", - "ещё_ADV_разок_VERB", - "ещё_ADV_рано_ADJ", - "ещё_ADV_резкий_ADV", - "ещё_ADV_сильный_ADV", - "ещё_ADV_строгий_ADV", - "ещё_ADV_тесный_ADV", - "ещё_ADV_тише_ADV", - "ещё_ADV_усердный_ADV", - "ещё_ADV_шире_ADV", - "ещё_ADV_энергичный_ADV", - "ещё_ADV_яркий_ADV", - "ещё_ADV_яростный_ADV", - "ещё_NOUN_раз_NOUN", - "ещё_PROPN_немного_ADV", - "ею_PRON_воспользоваться_VERB", - "ею_PRON_овладеть_VERB", - "ею_PRON_пользоваться_VERB", - "её_DET_дочь_NOUN", - "её_DET_муж_NOUN", - "её_PROPN_звать_VERB", - "жадно_ADV_вглядываться_VERB", - "жадно_ADV_вдыхать_VERB", - "жадно_ADV_всматриваться_VERB", - "жадно_ADV_глотать_VERB", - "жадно_ADV_есть_VERB", - "жадно_ADV_ловить_VERB", - "жадно_ADV_пить_VERB", - "жадно_ADV_прислушиваться_VERB", - "жадно_ADV_следить_VERB", - "жадно_ADV_слушать_VERB", - "жадно_ADV_схватить_VERB", - "жадно_ADV_хватать_VERB", - "жадность_NOUN_наброситься_VERB", - "жадный_ADJ_взгляд_NOUN", - "жадный_ADJ_взор_NOUN", - "жадный_ADJ_любопытство_NOUN", - "жажда_NOUN_деятельность_NOUN", - "жажда_NOUN_месть_NOUN", - "жажда_NOUN_мучить_VERB", - "жажда_NOUN_мщение_NOUN", - "жаждать_VERB_кровь_NOUN", - "жаждать_VERB_месть_NOUN", - "жак_PROPN_бернье_PROPN", - "жак_PROPN_де_PART", - "жак_PROPN_ландри_PROPN", - "жак_PROPN_хелло_PROPN", - "жалкий_ADJ_остаток_NOUN", - "жалкий_ADJ_состояние_NOUN", - "жалкий_ADJ_существование_NOUN", - "жалкий_ADJ_трус_NOUN", - "жалкий_ADJ_хижина_NOUN", - "жалко_ADV_расставаться_VERB", - "жалобно_ADV_выть_VERB", - "жалобно_ADV_заскулить_VERB", - "жалобно_ADV_пищать_VERB", - "жалобно_ADV_попросить_VERB", - "жалобно_ADV_проговорить_VERB", - "жалобно_ADV_протянуть_VERB", - "жалобно_ADV_скулить_VERB", - "жалобно_ADV_стонать_VERB", - "жалобный_ADJ_визг_NOUN", - "жалобный_ADJ_вой_NOUN", - "жалобный_ADJ_вопль_NOUN", - "жалобный_ADJ_голос_NOUN", - "жалобный_ADJ_крик_NOUN", - "жалобный_ADJ_писк_NOUN", - "жалобный_ADJ_стон_NOUN", - "жаль_ADV_расставаться_VERB", - "жаль_PROPN_только_PART", - "жан_PROPN_де_PART", - "жан_PROPN_жак_PROPN", - "жан_PROPN_жеди_PROPN", - "жан_PROPN_каррэ_PROPN", - "жан_PROPN_корбиак_PROPN", - "жан_PROPN_корбиака_PROPN", - "жан_PROPN_поль_PROPN", - "жан_PROPN_рибо_PROPN", - "жандармский_ADJ_офицер_NOUN", - "жанна_PROPN_дъарк_PROPN", - "жанна_PROPN_эджертон_PROPN", - "жар_NOUN_воскликнуть_VERB", - "жар_NOUN_гореть_VERB", - "жар_NOUN_птица_NOUN", - "жар_PROPN_птица_NOUN", - "жареный_ADJ_картошка_NOUN", - "жареный_ADJ_курица_NOUN", - "жареный_ADJ_мясо_NOUN", - "жареный_ADJ_рыба_NOUN", - "жаркий_ADJ_климат_NOUN", - "жаркий_ADJ_летний_ADJ", - "жаркий_ADJ_лето_NOUN", - "жаркий_ADJ_пламя_NOUN", - "жаркий_ADJ_погода_NOUN", - "жаркий_ADJ_полдень_NOUN", - "жаркий_ADJ_солнце_NOUN", - "жаркий_ADJ_спор_NOUN", - "жаркий_ADJ_страна_NOUN", - "жарко_ADV_натопить_VERB", - "жать_VERB_рука_NOUN", - "жаться_VERB_друг_PRON", - "жаться_VERB_к_ADP", - "жгучий_ADJ_боль_NOUN", - "жгучий_ADJ_луч_NOUN", - "жгучий_ADJ_любопытство_NOUN", - "жгучий_ADJ_слеза_NOUN", - "жгучий_ADJ_солнце_NOUN", - "ждать_VERB_возвращение_NOUN", - "ждать_VERB_пока_SCONJ", - "ждать_VERB_пощада_NOUN", - "ждать_VERB_продолжение_NOUN", - "ждать_VERB_сюрприз_NOUN", - "жди_VERB_меня_PRON", - "ждите_VERB_меня_PRON", - "жевательный_ADJ_резинка_NOUN", - "жевать_VERB_жвачка_NOUN", - "желал_VERB_бы_AUX", - "желание_NOUN_исполниться_VERB", - "желание_NOUN_отомстить_VERB", - "желание_NOUN_скорый_ADV", - "желанный_ADJ_гость_NOUN", - "желанный_ADJ_цель_NOUN", - "желательный_ADJ_чтобы_SCONJ", - "желать_VERB_избежать_VERB", - "желать_VERB_убедиться_VERB", - "желать_VERB_удача_NOUN", - "желать_VERB_удостовериться_VERB", - "желать_VERB_успех_NOUN", - "железнодорожный_ADJ_билет_NOUN", - "железнодорожный_ADJ_ветка_NOUN", - "железнодорожный_ADJ_вокзал_NOUN", - "железнодорожный_ADJ_линия_NOUN", - "железнодорожный_ADJ_мост_NOUN", - "железнодорожный_ADJ_насыпь_NOUN", - "железнодорожный_ADJ_полотно_NOUN", - "железнодорожный_ADJ_путь_NOUN", - "железнодорожный_ADJ_станция_NOUN", - "железный_ADJ_балка_NOUN", - "железный_ADJ_бочка_NOUN", - "железный_ADJ_великан_NOUN", - "железный_ADJ_ворота_NOUN", - "железный_ADJ_гвоздь_NOUN", - "железный_ADJ_дисциплина_NOUN", - "железный_ADJ_дорога_NOUN", - "железный_ADJ_дровосек_PROPN", - "железный_ADJ_засов_NOUN", - "железный_ADJ_кнопка_PROPN", - "железный_ADJ_кольцо_NOUN", - "железный_ADJ_кровать_NOUN", - "железный_ADJ_крыша_NOUN", - "железный_ADJ_крюк_NOUN", - "железный_ADJ_лесенка_NOUN", - "железный_ADJ_логика_NOUN", - "железный_ADJ_лом_NOUN", - "железный_ADJ_наконечник_NOUN", - "железный_ADJ_обруч_NOUN", - "железный_ADJ_ограда_NOUN", - "железный_ADJ_печка_NOUN", - "железный_ADJ_полоса_NOUN", - "железный_ADJ_прут_NOUN", - "железный_ADJ_прутья_NOUN", - "железный_ADJ_решётка_NOUN", - "железный_ADJ_руда_NOUN", - "железный_ADJ_рука_PROPN", - "железный_ADJ_сетка_NOUN", - "железный_ADJ_скоба_NOUN", - "железный_ADJ_сундук_NOUN", - "железный_ADJ_труба_NOUN", - "железный_ADJ_хватка_NOUN", - "железный_ADJ_цепь_NOUN", - "железный_ADJ_человек_PROPN", - "железный_ADJ_человечек_NOUN", - "железный_ADJ_челюсть_NOUN", - "железный_ADJ_ящик_NOUN", - "желто_ADJ_зелёный_ADJ", - "желто_ADJ_красный_ADJ", - "желтоватый_ADJ_свет_NOUN", - "желтоватый_ADJ_цвет_NOUN", - "жемчужный_ADJ_ожерелье_NOUN", - "жена_NOUN_викинг_NOUN", - "женский_ADJ_гимназия_NOUN", - "женский_ADJ_голос_NOUN", - "женский_ADJ_красота_NOUN", - "женский_ADJ_крик_NOUN", - "женский_ADJ_монастырь_NOUN", - "женский_ADJ_платье_NOUN", - "женский_ADJ_пол_NOUN", - "женский_ADJ_половина_NOUN", - "женский_ADJ_род_NOUN", - "женский_ADJ_туалет_NOUN", - "женский_ADJ_фигура_NOUN", - "женя_PROPN_сан_PROPN", - "женя_PROPN_соловьёв_PROPN", - "жеребёнок_NOUN_миша_PROPN", - "жертвовать_VERB_жизнь_NOUN", - "жест_NOUN_остановить_VERB", - "жест_NOUN_показать_VERB", - "жест_NOUN_пригласить_VERB", - "жест_NOUN_указать_VERB", - "жестокий_ADJ_битва_NOUN", - "жестокий_ADJ_бой_NOUN", - "жестокий_ADJ_борьба_NOUN", - "жестокий_ADJ_мороз_NOUN", - "жестокий_ADJ_наказание_NOUN", - "жестокий_ADJ_обращение_NOUN", - "жестокий_ADJ_расправа_NOUN", - "жестокий_ADJ_схватка_NOUN", - "жестокий_ADJ_удар_NOUN", - "жестоко_ADV_наказать_VERB", - "жестоко_ADV_отомстить_VERB", - "жестоко_ADV_ошибаться_VERB", - "жестоко_ADV_ошибиться_VERB", - "жестоко_ADV_поплатиться_VERB", - "жестоко_ADV_страдать_VERB", - "жестяной_ADJ_банка_NOUN", - "жестяной_ADJ_коробка_NOUN", - "жестяной_ADJ_кружка_NOUN", - "жестяной_ADJ_чайник_NOUN", - "жечь_VERB_костёр_NOUN", - "живительный_ADJ_влага_NOUN", - "живо_ADV_возразить_VERB", - "живо_ADV_заинтересоваться_VERB", - "живо_ADV_напоминать_VERB", - "живо_ADV_напомнить_VERB", - "живо_ADV_обернуться_VERB", - "живо_ADV_откликнуться_VERB", - "живо_ADV_отозваться_VERB", - "живо_ADV_представить_VERB", - "живо_ADV_представиться_VERB", - "живо_ADV_представлять_VERB", - "живой_ADJ_душа_NOUN", - "живой_ADJ_душе_NOUN", - "живой_ADJ_здоровый_ADJ", - "живой_ADJ_изгородь_NOUN", - "живой_ADJ_мертвец_NOUN", - "живой_ADJ_организм_NOUN", - "живой_ADJ_существо_NOUN", - "живой_ADJ_уголок_NOUN", - "живописный_ADJ_группа_NOUN", - "живописный_ADJ_костюм_NOUN", - "живость_NOUN_перебить_VERB", - "живот_NOUN_болеть_VERB", - "живот_NOUN_заболеть_VERB", - "животный_ADJ_мир_NOUN", - "животный_ADJ_царство_NOUN", - "жидкий_ADJ_воздух_NOUN", - "жидкий_ADJ_грязь_NOUN", - "жидкий_ADJ_кислород_NOUN", - "жидкий_ADJ_состояние_NOUN", - "жизненно_ADV_важный_ADJ", - "жизненно_ADV_необходимый_ADJ", - "жизненный_ADJ_опыт_NOUN", - "жизненный_ADJ_путь_NOUN", - "жизненный_ADJ_сила_NOUN", - "жизненный_ADJ_энергия_NOUN", - "жизнь_NOUN_прожить_VERB", - "жизнь_NOUN_самоубийство_NOUN", - "жил_NOUN_быть_AUX", - "жила_NOUN_течь_VERB", - "жилетный_ADJ_карман_NOUN", - "жили_PROPN_были_AUX", - "жили_VERB_мы_PRON", - "жилистый_ADJ_рука_NOUN", - "жилой_ADJ_дом_NOUN", - "жилой_ADJ_комната_NOUN", - "жилой_ADJ_помещение_NOUN", - "жирный_ADJ_волос_NOUN", - "жирный_ADJ_кожа_NOUN", - "жирный_ADJ_пятно_NOUN", - "житель_NOUN_волшебный_ADJ", - "житель_NOUN_город_NOUN", - "житель_NOUN_городок_NOUN", - "житель_NOUN_деревня_NOUN", - "житель_NOUN_джунглей_NOUN", - "житель_NOUN_земля_PROPN", - "житель_NOUN_остров_NOUN", - "житель_NOUN_посёлок_NOUN", - "житие_NOUN_бытье_NOUN", - "жить_VERB_впроголодь_ADV", - "жить_VERB_отдельно_ADV", - "жить_VERB_поживать_VERB", - "жить_VERB_счастливо_ADV", - "житье_ADJ_бытье_NOUN", - "житься_VERB_хорошо_ADV", - "жмуриться_VERB_от_ADP", - "жозе_PROPN_фу_PROPN", - "жорж_PROPN_прадель_PROPN", - "жорж_PROPN_свинкин_PROPN", - "жрать_VERB_нечего_VERB", - "жужжание_NOUN_пчела_NOUN", - "журнал_NOUN_пионер_NOUN", - "журнальный_ADJ_столик_NOUN", - "журчание_NOUN_вода_NOUN", - "журчать_VERB_вода_NOUN", - "журчать_VERB_ручей_NOUN", - "жуткий_ADJ_зрелище_NOUN", - "жуткий_ADJ_история_NOUN", - "жуткий_ADJ_картина_NOUN", - "жуткий_ADJ_тишина_NOUN", - "жуткий_ADJ_чувство_NOUN", - "жутко_PROPN_было_AUX", - "жюль_PROPN_верн_PROPN", - "жюля_PROPN_верна_PROPN", - "жёлтый_ADJ_акация_NOUN", - "жёлтый_ADJ_бабочка_NOUN", - "жёлтый_ADJ_ботинок_PROPN", - "жёлтый_ADJ_голова_PROPN", - "жёлтый_ADJ_кирпич_NOUN", - "жёлтый_ADJ_клык_NOUN", - "жёлтый_ADJ_краска_NOUN", - "жёлтый_ADJ_лист_NOUN", - "жёлтый_ADJ_лихорадка_NOUN", - "жёлтый_ADJ_металл_NOUN", - "жёлтый_ADJ_огонёк_NOUN", - "жёлтый_ADJ_оранжевый_ADJ", - "жёлтый_ADJ_песок_NOUN", - "жёлтый_ADJ_полоса_NOUN", - "жёлтый_ADJ_полоска_NOUN", - "жёлтый_ADJ_пятно_NOUN", - "жёлтый_ADJ_страна_NOUN", - "жёлтый_ADJ_туман_PROPN", - "жёлтый_ADJ_цвет_NOUN", - "жёлтый_ADJ_цветок_NOUN", - "жёсткий_ADJ_волос_NOUN", - "жёсткий_ADJ_постель_NOUN", - "жёсткий_ADJ_трава_NOUN", - "з_NOUN_г_PROPN", - "з_NOUN_з_NOUN", - "за_ADP_бесценок_NOUN", - "за_ADP_воротами_NOUN", - "за_ADP_голенище_NOUN", - "за_ADP_граница_NOUN", - "за_ADP_грудка_NOUN", - "за_ADP_дровами_NOUN", - "за_ADP_другим_ADJ", - "за_ADP_другою_NOUN", - "за_ADP_дружкой_NOUN", - "за_ADP_исключение_NOUN", - "за_ADP_кулиса_NOUN", - "за_ADP_неимение_NOUN", - "за_ADP_ненадобность_NOUN", - "за_ADP_нею_PRON", - "за_ADP_околица_NOUN", - "за_ADP_окошком_NOUN", - "за_ADP_пазуха_NOUN", - "за_ADP_пазухой_NOUN", - "за_ADP_партами_NOUN", - "за_ADP_перегородка_NOUN", - "за_ADP_полцены_NOUN", - "за_ADP_портьера_NOUN", - "за_ADP_поручень_NOUN", - "за_ADP_предел_NOUN", - "за_ADP_рукав_NOUN", - "за_ADP_руль_NOUN", - "за_ADP_рулём_NOUN", - "за_ADP_самовольный_ADJ", - "за_ADP_скальп_PROPN", - "за_ADP_скальпами_PROPN", - "за_ADP_спиною_NOUN", - "за_ADP_тридевять_NUM", - "за_ADP_упокой_NOUN", - "за_ADP_черт_NOUN", - "за_ADP_шиворот_NOUN", - "за_ADP_ширма_NOUN", - "за_ADP_шкирка_NOUN", - "за_ADV_рубеж_NOUN", - "забавляться_VERB_тем_PRON", - "забавный_ADJ_история_NOUN", - "забарабанить_VERB_палец_NOUN", - "забегать_VERB_вперёд_ADV", - "забежать_VERB_вперёд_ADV", - "забежать_VERB_домой_ADV", - "забинтовать_VERB_голова_NOUN", - "забинтовать_VERB_нога_NOUN", - "забинтовать_VERB_рука_NOUN", - "забить_VERB_гол_NOUN", - "забить_VERB_тревога_NOUN", - "забиться_VERB_сердце_NOUN", - "забиться_VERB_сильный_ADV", - "заблестеть_VERB_глаз_NOUN", - "заболеть_VERB_живот_NOUN", - "забота_NOUN_о_ADP", - "забота_NOUN_обо_ADP", - "заботиться_VERB_о_ADP", - "заботиться_VERB_об_ADP", - "заботиться_VERB_обо_ADP", - "заботливо_ADV_ухаживать_VERB", - "заботливый_ADJ_мать_NOUN", - "заботливый_ADJ_уход_NOUN", - "заботливый_ADJ_хозяйка_NOUN", - "забрать_VERB_решётка_NOUN", - "забраться_VERB_внутрь_ADV", - "забраться_VERB_наверх_ADV", - "забрезжить_VERB_рассвет_NOUN", - "забрести_VERB_сюда_ADV", - "забросить_VERB_удочка_NOUN", - "забрызгать_VERB_грязь_NOUN", - "забрызгать_VERB_кровь_NOUN", - "забывать_VERB_о_ADP", - "забывать_VERB_об_ADP", - "забывать_VERB_обо_ADP", - "забыть_VERB_обо_ADP", - "забыть_VERB_про_ADP", - "забыть_VERB_упомянуть_VERB", - "завалить_VERB_бумага_NOUN", - "завалить_VERB_камень_NOUN", - "завалить_VERB_книга_NOUN", - "завалить_VERB_снег_NOUN", - "завалиться_VERB_спать_VERB", - "заваривать_VERB_чай_NOUN", - "заварить_VERB_каша_NOUN", - "заварить_VERB_чай_NOUN", - "завертеть_VERB_голова_NOUN", - "завертеться_VERB_волчок_NOUN", - "завести_VERB_мотор_NOUN", - "завести_VERB_разговор_NOUN", - "завести_VERB_речь_NOUN", - "заветный_ADJ_желание_NOUN", - "заветный_ADJ_мечта_NOUN", - "заветный_ADJ_цель_NOUN", - "завилять_VERB_хвост_NOUN", - "зависеть_VERB_от_ADP", - "зависеть_VERB_судьба_NOUN", - "зависеть_VERB_успех_NOUN", - "зависимость_NOUN_от_ADP", - "зависимый_ADJ_от_ADP", - "зависнуть_VERB_над_ADP", - "завистливый_ADJ_взгляд_NOUN", - "зависть_NOUN_поглядывать_VERB", - "зависть_NOUN_смотреть_VERB", - "завладеть_VERB_ею_PRON", - "завод_NOUN_фабрика_NOUN", - "заводить_VERB_разговор_NOUN", - "заводский_ADJ_труба_NOUN", - "заворожённо_ADV_смотреть_VERB", - "завтра_ADV_воскресение_NOUN", - "завтра_ADV_послезавтра_ADV", - "завтра_ADV_поутру_NOUN", - "завтра_ADV_рано_ADV", - "завтра_ADV_уезжать_VERB", - "завтра_ADV_утро_NOUN", - "завтрак_NOUN_обед_NOUN", - "завтрашний_ADJ_день_NOUN", - "завтрашний_ADJ_дно_NOUN", - "завтрашний_ADJ_утро_NOUN", - "завывание_NOUN_ветер_NOUN", - "завывать_VERB_ветер_NOUN", - "завыть_VERB_сирена_NOUN", - "завязать_VERB_разговор_NOUN", - "завязать_VERB_узел_NOUN", - "завязаться_VERB_борьба_NOUN", - "завязаться_VERB_отчаянный_ADJ", - "завязаться_VERB_разговор_NOUN", - "завязывать_VERB_шнурок_NOUN", - "загадать_VERB_желание_NOUN", - "загадочно_ADV_ответить_VERB", - "загадочно_ADV_произнести_VERB", - "загадочно_ADV_улыбаться_VERB", - "загадочно_ADV_улыбнуться_VERB", - "загадочный_ADJ_история_NOUN", - "загадочный_ADJ_существо_NOUN", - "загадочный_ADJ_улыбка_NOUN", - "загадочный_ADJ_фраза_NOUN", - "загадочный_ADJ_явление_NOUN", - "загибать_VERB_палец_NOUN", - "заглавный_ADJ_буква_NOUN", - "загладить_VERB_свой_DET", - "заглушать_VERB_шум_NOUN", - "заглушить_VERB_мотор_NOUN", - "заглушить_VERB_шум_NOUN", - "заглянуть_VERB_внутрь_ADP", - "заглянуть_VERB_внутрь_ADV", - "загнать_VERB_лошадь_NOUN", - "заговор_NOUN_против_ADP", - "заговорщицки_PROPN_подмигнуть_VERB", - "загораживать_VERB_дорога_NOUN", - "загорелый_ADJ_лицо_NOUN", - "загородить_VERB_дорога_NOUN", - "загородный_ADJ_дом_NOUN", - "загреметь_VERB_выстрел_NOUN", - "загробный_ADJ_голос_NOUN", - "загробный_ADJ_жизнь_NOUN", - "загробный_ADJ_мир_NOUN", - "зад_NOUN_наперёд_ADV", - "задавать_VERB_вопрос_NOUN", - "задавать_VERB_глупый_ADJ", - "задавать_VERB_лишний_ADJ", - "задаваться_VERB_вопрос_NOUN", - "задание_NOUN_выполнить_VERB", - "задать_VERB_вопрос_NOUN", - "задать_VERB_новый_ADJ", - "задать_VERB_стрекача_NOUN", - "задаться_VERB_цель_NOUN", - "задача_NOUN_решать_VERB", - "задача_NOUN_состоять_VERB", - "задачка_NOUN_решать_VERB", - "задвинуть_VERB_засов_NOUN", - "задержать_VERB_дыхание_NOUN", - "задерживать_VERB_дыхание_NOUN", - "задирать_VERB_голова_NOUN", - "задирать_VERB_нос_NOUN", - "задний_ADJ_борт_NOUN", - "задний_ADJ_дверца_NOUN", - "задний_ADJ_двор_NOUN", - "задний_ADJ_калитка_NOUN", - "задний_ADJ_карман_NOUN", - "задний_ADJ_колесо_NOUN", - "задний_ADJ_крыльцо_NOUN", - "задний_ADJ_лапа_NOUN", - "задний_ADJ_лапка_NOUN", - "задний_ADJ_нога_NOUN", - "задний_ADJ_ножка_NOUN", - "задний_ADJ_парта_NOUN", - "задний_ADJ_план_NOUN", - "задний_ADJ_площадка_NOUN", - "задний_ADJ_ряд_NOUN", - "задний_ADJ_сидение_NOUN", - "задний_ADJ_стекло_NOUN", - "задний_ADJ_стенка_NOUN", - "задний_ADJ_фасад_NOUN", - "задний_ADJ_ход_NOUN", - "задний_ADJ_часть_NOUN", - "задний_ADJ_число_NOUN", - "задолго_ADV_до_ADP", - "задом_ADV_наперёд_ADV", - "задохнуться_VERB_от_ADP", - "задрать_VERB_вверх_ADV", - "задрать_VERB_голова_NOUN", - "задрать_VERB_кверху_ADV", - "задрать_VERB_нос_NOUN", - "задрать_VERB_хвост_NOUN", - "задрожать_VERB_губа_NOUN", - "задрыгать_VERB_нога_NOUN", - "задумать_VERB_план_NOUN", - "задумчиво_ADV_глядеть_VERB", - "задумчиво_ADV_повторить_VERB", - "задумчиво_ADV_поглядеть_VERB", - "задумчиво_ADV_покачать_VERB", - "задумчиво_ADV_почесать_VERB", - "задумчиво_ADV_пробормотать_VERB", - "задумчиво_ADV_проговорить_VERB", - "задумчиво_ADV_произнести_VERB", - "задумчиво_ADV_протянуть_VERB", - "задумчивый_ADJ_взгляд_NOUN", - "задумчивый_ADJ_вид_NOUN", - "задумываться_VERB_над_ADP", - "задумываться_VERB_ответить_VERB", - "задуть_VERB_свеча_NOUN", - "задушевный_ADJ_беседа_NOUN", - "задушевный_ADJ_голос_NOUN", - "задыхаться_VERB_от_ADP", - "задыхаться_VERB_проговорить_VERB", - "задёрнуть_VERB_занавеска_NOUN", - "задёрнуть_VERB_штора_NOUN", - "зажать_VERB_ладонь_NOUN", - "зажать_VERB_между_ADP", - "зажать_VERB_нос_NOUN", - "зажать_VERB_рот_NOUN", - "зажать_VERB_ухо_NOUN", - "зажечь_VERB_костёр_NOUN", - "зажечь_VERB_лампа_NOUN", - "зажечь_VERB_огонь_NOUN", - "зажечь_VERB_свет_NOUN", - "зажечь_VERB_свеча_NOUN", - "зажечь_VERB_свечка_NOUN", - "зажечь_VERB_спичка_NOUN", - "зажечь_VERB_факел_NOUN", - "зажечь_VERB_фитиль_NOUN", - "зажечь_VERB_фонарик_NOUN", - "зажечь_VERB_фонарь_NOUN", - "зажечь_VERB_электричество_NOUN", - "зажечься_VERB_огонь_NOUN", - "зажечься_VERB_свет_NOUN", - "зажечься_VERB_фонарь_NOUN", - "заживо_ADV_погрести_VERB", - "зажигать_VERB_костёр_NOUN", - "зажигать_VERB_лампа_NOUN", - "зажигать_VERB_огонь_NOUN", - "зажигать_VERB_свет_NOUN", - "зажигать_VERB_свеча_NOUN", - "зажигать_VERB_спичка_NOUN", - "зажигать_VERB_фонарь_NOUN", - "зажимать_VERB_рот_NOUN", - "зажимать_VERB_ухо_NOUN", - "зажмурив_VERB_глаз_NOUN", - "зажмуривать_VERB_глаз_NOUN", - "зажмурить_VERB_глаз_NOUN", - "зазвенеть_VERB_звонок_NOUN", - "зазвенеть_VERB_колокольчик_NOUN", - "зазвонить_VERB_звонок_NOUN", - "зазвонить_VERB_колокол_NOUN", - "зазвонить_VERB_телефон_NOUN", - "заиграть_VERB_музыка_NOUN", - "заикнуться_VERB_о_ADP", - "заинтересованно_ADV_спросить_VERB", - "заискивать_VERB_перед_ADP", - "зайти_VERB_внутрь_ADV", - "зайтись_VERB_от_ADP", - "закадычный_ADJ_друг_NOUN", - "закадычный_ADJ_подруга_NOUN", - "закат_NOUN_солнце_NOUN", - "закатать_VERB_рукав_NOUN", - "закатить_VERB_глаз_NOUN", - "закатиться_VERB_под_ADP", - "закатный_ADJ_солнце_NOUN", - "закатывать_VERB_глаз_NOUN", - "закачать_VERB_голова_NOUN", - "закивал_VERB_голова_NOUN", - "закивать_VERB_голова_NOUN", - "закинуть_VERB_голова_NOUN", - "закинуть_VERB_назад_ADV", - "закинуть_VERB_нога_NOUN", - "закинуть_VERB_удочка_NOUN", - "закипеть_VERB_работа_NOUN", - "заклинатель_NOUN_змея_NOUN", - "заклинать_VERB_вас_PRON", - "заклинать_VERB_тебя_PRON", - "заключительный_ADJ_слово_NOUN", - "заключить_VERB_договор_NOUN", - "заключить_VERB_мир_NOUN", - "заключить_VERB_союз_NOUN", - "заклятый_ADJ_враг_NOUN", - "заковылять_VERB_к_ADP", - "заколдованный_ADJ_замок_NOUN", - "заколдованный_ADJ_круг_NOUN", - "заколотиться_VERB_сердце_NOUN", - "закон_NOUN_божий_ADJ", - "закон_NOUN_всемирный_ADJ", - "закон_NOUN_запрещать_VERB", - "закон_NOUN_подлость_NOUN", - "закон_NOUN_природа_NOUN", - "закон_NOUN_физика_NOUN", - "законный_ADJ_владелец_NOUN", - "законный_ADJ_власть_NOUN", - "законный_ADJ_жена_NOUN", - "законный_ADJ_место_NOUN", - "законный_ADJ_наследник_NOUN", - "законный_ADJ_основание_NOUN", - "законный_ADJ_право_NOUN", - "закончить_VERB_осмотр_NOUN", - "закончить_VERB_рассказ_NOUN", - "закончить_VERB_фраза_NOUN", - "закончить_VERB_чтение_NOUN", - "закончиться_VERB_благополучно_ADV", - "закоренелый_ADJ_преступник_NOUN", - "закричать_VERB_мотька_PROPN", - "закричать_VERB_ура_INTJ", - "закричать_VERB_ура_NOUN", - "закройте_VERB_глаз_NOUN", - "закройте_VERB_дверь_NOUN", - "закружиться_VERB_вокруг_ADP", - "закружиться_VERB_голова_NOUN", - "закрутить_VERB_голова_NOUN", - "закрывать_VERB_вход_NOUN", - "закрывать_VERB_глаз_NOUN", - "закрывать_VERB_рот_NOUN", - "закрыть_VERB_веко_NOUN", - "закрыть_VERB_ворота_NOUN", - "закрыть_VERB_глаз_NOUN", - "закрыть_VERB_дверца_NOUN", - "закрыть_VERB_дверь_NOUN", - "закрыть_VERB_крышка_NOUN", - "закрыть_VERB_лицо_NOUN", - "закрыть_VERB_люк_NOUN", - "закрыть_VERB_наглухо_ADV", - "закрыть_VERB_рот_NOUN", - "закрыть_VERB_ставень_NOUN", - "закрыть_VERB_форточка_NOUN", - "закрыться_VERB_дверь_NOUN", - "закуривать_VERB_папироса_NOUN", - "закуривать_VERB_трубка_NOUN", - "закурить_VERB_папироса_NOUN", - "закурить_VERB_сигара_NOUN", - "закурить_VERB_сигарета_NOUN", - "закурить_VERB_трубка_NOUN", - "закусить_VERB_губа_NOUN", - "закусить_VERB_нижний_ADJ", - "закусить_VERB_удила_NOUN", - "закусывать_VERB_губа_NOUN", - "зал_NOUN_заседание_NOUN", - "зал_NOUN_ожидание_NOUN", - "зал_NOUN_суд_NOUN", - "заламывать_VERB_рука_NOUN", - "залаять_VERB_собака_NOUN", - "залепить_VERB_снег_NOUN", - "заливаться_VERB_краска_NOUN", - "заливаться_VERB_слеза_NOUN", - "заливаться_VERB_смех_NOUN", - "заливный_ADJ_луг_NOUN", - "залить_VERB_вода_NOUN", - "залить_VERB_кровь_NOUN", - "залить_VERB_лунный_ADJ", - "залить_VERB_луч_NOUN", - "залить_VERB_свет_NOUN", - "залить_VERB_слеза_NOUN", - "залить_VERB_солнечный_ADJ", - "залить_VERB_солнце_NOUN", - "залить_VERB_яркий_ADJ", - "залиться_VERB_горький_ADJ", - "залиться_VERB_краска_NOUN", - "залиться_VERB_слеза_NOUN", - "залиться_VERB_смех_NOUN", - "заложить_VERB_рука_NOUN", - "заложить_VERB_ухо_NOUN", - "заломить_VERB_рука_NOUN", - "залп_NOUN_выпить_VERB", - "залп_NOUN_осушить_VERB", - "заляпать_VERB_грязь_NOUN", - "замаскировать_VERB_под_ADP", - "замахать_VERB_крыло_NOUN", - "замахать_VERB_рука_NOUN", - "замахать_VERB_хвост_NOUN", - "замедлить_VERB_бег_NOUN", - "замедлить_VERB_ход_NOUN", - "замедлить_VERB_шаг_NOUN", - "замедлить_VERB_явиться_VERB", - "замедлять_VERB_ход_NOUN", - "замедлять_VERB_шаг_NOUN", - "замереть_VERB_вдали_ADV", - "замереть_VERB_неподвижно_ADV", - "замереть_VERB_прислушиваться_VERB", - "замертво_NOUN_упасть_VERB", - "замести_VERB_след_NOUN", - "замести_VERB_снег_NOUN", - "заместитель_NOUN_директор_NOUN", - "заместитель_NOUN_министр_NOUN", - "заместитель_NOUN_начальник_NOUN", - "заметать_VERB_след_NOUN", - "заметаться_VERB_по_ADP", - "заметить_VERB_пропажа_NOUN", - "заметно_ADV_волноваться_VERB", - "заметно_ADV_дрожать_VERB", - "заметно_ADV_измениться_VERB", - "заметно_ADV_побледнеть_VERB", - "заметно_ADV_повеселеть_VERB", - "заметный_ADJ_след_NOUN", - "замечательно_ADV_красивый_ADJ", - "замечательный_ADJ_идея_NOUN", - "замечательный_ADJ_открытие_NOUN", - "замирать_VERB_сердце_NOUN", - "замкнутый_ADJ_круг_NOUN", - "замогильный_ADJ_голос_NOUN", - "замок_NOUN_иф_PROPN", - "замок_NOUN_щёлкнуть_VERB", - "заморгать_VERB_глаз_NOUN", - "заморский_ADJ_страна_NOUN", - "замотать_VERB_голова_NOUN", - "замочной_VERB_скважина_NOUN", - "замочную_VERB_скважина_NOUN", - "замочный_ADJ_скважина_NOUN", - "замуж_ADV_выйти_VERB", - "замуж_ADV_выходить_VERB", - "замужний_ADJ_женщина_NOUN", - "замыкать_VERB_шествие_NOUN", - "занавесить_VERB_окно_NOUN", - "занести_VERB_над_ADP", - "занести_VERB_снег_NOUN", - "занимать_VERB_должность_NOUN", - "занимать_VERB_позиция_NOUN", - "заниматься_VERB_воспитание_NOUN", - "заниматься_VERB_гимнастика_NOUN", - "заниматься_VERB_заря_NOUN", - "заниматься_VERB_изучение_NOUN", - "заниматься_VERB_приготовление_NOUN", - "заниматься_VERB_спорт_NOUN", - "заниматься_VERB_торговля_NOUN", - "заниматься_VERB_хозяйство_NOUN", - "заныть_VERB_сердце_NOUN", - "занятие_NOUN_кружка_NOUN", - "занятие_NOUN_спорт_NOUN", - "занять_VERB_много_NUM", - "занять_VERB_позиция_NOUN", - "занять_VERB_почётный_ADJ", - "занять_VERB_приготовление_NOUN", - "заняться_VERB_заря_NOUN", - "заняться_VERB_изучение_NOUN", - "заняться_VERB_поиск_NOUN", - "заняться_VERB_приготовление_NOUN", - "заорать_VERB_благой_ADJ", - "заорать_VERB_женька_PROPN", - "западный_ADJ_берег_NOUN", - "западный_ADJ_ветер_NOUN", - "западный_ADJ_граница_NOUN", - "западный_ADJ_долгота_NOUN", - "западный_ADJ_европа_PROPN", - "западный_ADJ_направление_NOUN", - "западный_ADJ_побережье_NOUN", - "западный_ADJ_склон_NOUN", - "западный_ADJ_украина_PROPN", - "западный_ADJ_фронт_NOUN", - "западный_ADJ_часть_NOUN", - "запас_NOUN_еда_NOUN", - "запас_NOUN_кислород_NOUN", - "запас_NOUN_пища_NOUN", - "запас_NOUN_порох_NOUN", - "запас_NOUN_провизия_NOUN", - "запас_NOUN_продовольствие_NOUN", - "запас_NOUN_продукт_NOUN", - "запас_NOUN_топливо_NOUN", - "запас_NOUN_энергия_NOUN", - "запасной_ADJ_выход_NOUN", - "запасный_ADJ_выход_NOUN", - "запасный_ADJ_путь_NOUN", - "запасный_ADJ_часть_NOUN", - "запастись_VERB_терпение_NOUN", - "запах_NOUN_бензин_NOUN", - "запах_NOUN_гарь_NOUN", - "запах_NOUN_горелый_ADJ", - "запах_NOUN_дух_NOUN", - "запах_NOUN_дым_NOUN", - "запах_NOUN_жареный_ADJ", - "запах_NOUN_свежий_ADJ", - "запах_NOUN_табак_NOUN", - "запачкать_VERB_кровь_NOUN", - "запереть_VERB_ворота_NOUN", - "запереть_VERB_дверца_NOUN", - "запереть_VERB_дверь_NOUN", - "запереть_VERB_изнутри_ADV", - "запереть_VERB_калитка_NOUN", - "запереть_VERB_снаружи_ADV", - "запеть_VERB_песня_NOUN", - "запечатать_VERB_конверт_NOUN", - "запечатать_VERB_письмо_NOUN", - "запечься_VERB_губа_NOUN", - "запечься_VERB_кровь_NOUN", - "запивать_VERB_их_PRON", - "запирать_VERB_дверь_NOUN", - "записать_VERB_адрес_NOUN", - "записать_VERB_номер_NOUN", - "записка_NOUN_которую_PRON", - "записка_NOUN_написать_VERB", - "записной_ADJ_книжечка_NOUN", - "записной_ADJ_книжка_NOUN", - "заплаканный_ADJ_глаз_NOUN", - "заплаканный_ADJ_лицо_NOUN", - "заплакать_VERB_навзрыд_PROPN", - "заплетающимся_VERB_язык_NOUN", - "заплечный_ADJ_мешок_NOUN", - "заплыть_VERB_жир_NOUN", - "заподозрить_VERB_неладный_ADJ", - "запомнить_VERB_номер_NOUN", - "запомнить_VERB_хорошенько_ADV", - "запорошить_VERB_снег_NOUN", - "запретный_ADJ_зона_NOUN", - "запрокидывать_VERB_голова_NOUN", - "запрокинуть_VERB_голова_NOUN", - "запрокинуть_VERB_назад_ADV", - "запросто_ADV_мочь_VERB", - "запрыгать_VERB_вокруг_ADP", - "запрягать_VERB_лошадь_NOUN", - "запрячь_VERB_лошадь_NOUN", - "запрячь_VERB_пара_NOUN", - "запустить_VERB_мотор_NOUN", - "запустить_VERB_палец_NOUN", - "запустить_VERB_сад_NOUN", - "запутанный_ADJ_история_NOUN", - "запутать_VERB_след_NOUN", - "запылать_VERB_костёр_NOUN", - "зарабатывать_VERB_деньга_NOUN", - "заработать_VERB_деньга_NOUN", - "заработный_ADJ_плата_NOUN", - "заражение_NOUN_кровь_NOUN", - "заразительный_ADJ_смех_NOUN", - "заразный_ADJ_болезнь_NOUN", - "заранее_ADV_заготовить_VERB", - "заранее_ADV_наметить_VERB", - "заранее_ADV_обдумать_VERB", - "заранее_ADV_подготовить_VERB", - "заранее_ADV_предвкушать_VERB", - "заранее_ADV_предупредить_VERB", - "заранее_ADV_приготовить_VERB", - "заранее_ADV_радоваться_VERB", - "зарасти_VERB_густой_ADJ", - "зарасти_VERB_кустарник_NOUN", - "зарасти_VERB_трава_NOUN", - "зардеться_VERB_от_ADP", - "зарево_NOUN_пожар_NOUN", - "зарекомендовать_VERB_себя_PRON", - "заросль_NOUN_кустарник_NOUN", - "зарыть_VERB_клад_NOUN", - "зарыться_VERB_лицо_NOUN", - "зарыться_VERB_нос_NOUN", - "зарядить_VERB_пистолет_NOUN", - "зарядить_VERB_револьвер_NOUN", - "зарядить_VERB_ружьё_NOUN", - "зарядный_ADJ_ящик_NOUN", - "заряжать_VERB_ружьё_NOUN", - "заседание_NOUN_совет_NOUN", - "заседание_NOUN_суд_NOUN", - "заседание_NOUN_штаб_NOUN", - "засидеть_VERB_муха_NOUN", - "заскользить_VERB_по_ADP", - "заскрежетать_VERB_зуб_NOUN", - "заскрипеть_VERB_зуб_NOUN", - "заслуживать_VERB_внимание_NOUN", - "заслуживать_VERB_доверие_NOUN", - "заслуживать_VERB_смерть_NOUN", - "заслуживать_VERB_уважение_NOUN", - "заслышать_VERB_шаг_NOUN", - "засмеяться_VERB_гошка_PROPN", - "засмеяться_VERB_даша_PROPN", - "заснуть_VERB_крепкий_ADJ", - "засосать_VERB_под_ADP", - "заспанный_ADJ_глаз_NOUN", - "заспанный_ADJ_лицо_NOUN", - "заставлять_VERB_предполагать_VERB", - "застать_VERB_врасплох_ADV", - "застать_VERB_дома_ADV", - "застенчиво_ADV_улыбнуться_VERB", - "застенчивый_ADJ_улыбка_NOUN", - "застигнуть_VERB_врасплох_ADV", - "застилать_VERB_глаз_NOUN", - "застраховать_VERB_от_ADP", - "застрять_VERB_между_ADP", - "заступаться_VERB_за_ADP", - "заступиться_VERB_за_ADP", - "застучать_VERB_зуб_NOUN", - "застынуть_VERB_выражение_NOUN", - "застынуть_VERB_лава_NOUN", - "засунуть_VERB_рука_NOUN", - "засучивать_VERB_рукав_NOUN", - "засучить_VERB_рукав_NOUN", - "засыпать_VERB_песок_NOUN", - "засыпать_VERB_снег_NOUN", - "зат_PROPN_аррас_PROPN", - "затаить_VERB_дыхание_NOUN", - "затворить_VERB_дверь_NOUN", - "затерянный_ADJ_остров_NOUN", - "затерять_VERB_среди_ADP", - "затеряться_VERB_среди_ADP", - "затечь_VERB_нога_NOUN", - "затеять_VERB_драка_NOUN", - "затеять_VERB_игра_NOUN", - "заткнуть_VERB_рот_NOUN", - "заткнуть_VERB_ухо_NOUN", - "затонуть_VERB_корабль_NOUN", - "затонуть_VERB_судно_NOUN", - "затопать_VERB_нога_NOUN", - "затопить_VERB_печка_NOUN", - "затопить_VERB_печь_NOUN", - "заторопиться_VERB_домой_ADV", - "затруднительный_ADJ_обстоятельство_NOUN", - "затруднительный_ADJ_положение_NOUN", - "затруднительный_ADJ_случай_NOUN", - "затряс_ADJ_голова_NOUN", - "затрясти_VERB_голова_NOUN", - "затрястись_VERB_от_ADP", - "затуманить_VERB_глаз_NOUN", - "затыкать_VERB_ухо_NOUN", - "затянуть_VERB_песня_NOUN", - "заунывный_ADJ_песня_NOUN", - "захар_PROPN_василиевич_PROPN", - "захар_PROPN_иванович_PROPN", - "захар_PROPN_петрович_PROPN", - "захватить_VERB_власть_NOUN", - "захватить_VERB_врасплох_ADV", - "захватить_VERB_дух_NOUN", - "захватить_VERB_дыхание_NOUN", - "захватывать_VERB_дух_NOUN", - "захватывать_VERB_дыхание_NOUN", - "захлопать_VERB_глаз_NOUN", - "захлопать_VERB_крыло_NOUN", - "захлопать_VERB_ресница_NOUN", - "захлопнуть_VERB_дверца_NOUN", - "захлопнуть_VERB_дверь_NOUN", - "захлопнуть_VERB_книга_NOUN", - "захлопнуть_VERB_крышка_NOUN", - "захлопнуться_VERB_дверь_NOUN", - "захлопывать_VERB_дверь_NOUN", - "захлёбываться_VERB_от_ADP", - "захлёбываться_VERB_слеза_NOUN", - "заход_NOUN_солнце_NOUN", - "заходить_VERB_заходить_VERB", - "заходить_VERB_солнце_NOUN", - "заходить_VERB_ходун_NOUN", - "заходящее_ADJ_солнце_NOUN", - "захотеться_VERB_есть_VERB", - "захотеться_VERB_пить_VERB", - "захотеться_VERB_плакать_VERB", - "зацепиться_VERB_за_ADP", - "зачем_ADV_пожаловать_VERB", - "зачем_ADV_спрашиваться_VERB", - "зачерпнуть_VERB_вода_NOUN", - "зачесать_VERB_назад_ADV", - "зашагать_VERB_быстрый_ADV", - "зашагать_VERB_вдоль_ADP", - "зашагать_VERB_вперёд_ADV", - "зашагать_VERB_далёкий_ADV", - "зашагать_VERB_прочь_ADV", - "зашевелить_VERB_губа_NOUN", - "зашлёпать_VERB_по_ADP", - "зашмыгать_VERB_нос_NOUN", - "защемить_VERB_сердце_NOUN", - "защититься_VERB_от_ADP", - "защитный_ADJ_слой_NOUN", - "защитный_ADJ_цвет_NOUN", - "защищаться_VERB_против_ADP", - "заявить_VERB_мотька_PROPN", - "заяц_NOUN_коська_PROPN", - "заячий_ADJ_капуста_NOUN", - "заячий_ADJ_след_NOUN", - "заячий_ADJ_след_PROPN", - "заячий_ADJ_шапка_NOUN", - "заячья_PROPN_губа_PROPN", - "званый_ADJ_обед_NOUN", - "звезда_NOUN_сиять_VERB", - "звезда_PROPN_кэц_PROPN", - "звенеть_VERB_колокольчик_NOUN", - "звенеть_VERB_тишина_NOUN", - "звенеть_VERB_шпор_NOUN", - "звериный_ADJ_тропа_NOUN", - "звериный_ADJ_шкура_NOUN", - "зверский_ADJ_лицо_NOUN", - "зверь_NOUN_лесной_ADJ", - "звон_NOUN_колокол_NOUN", - "звон_NOUN_колокольчик_NOUN", - "звон_NOUN_посуда_NOUN", - "звон_NOUN_разбить_VERB", - "звонить_VERB_звонить_VERB", - "звонить_VERB_колокол_NOUN", - "звонить_VERB_телефон_NOUN", - "звонкий_ADJ_голос_NOUN", - "звонкий_ADJ_голосок_NOUN", - "звонкий_ADJ_детский_ADJ", - "звонкий_ADJ_монета_NOUN", - "звонкий_ADJ_песня_NOUN", - "звонкий_ADJ_пощёчина_NOUN", - "звонкий_ADJ_смех_NOUN", - "звонкий_ADJ_шёпот_NOUN", - "звонко_PROPN_крикнуть_VERB", - "звонко_PROPN_рассмеяться_VERB", - "звонко_PROPN_расхохотаться_VERB", - "звук_NOUN_барабан_NOUN", - "звук_NOUN_выстрел_NOUN", - "звук_NOUN_горн_NOUN", - "звук_NOUN_доноситься_VERB", - "звук_NOUN_издавать_VERB", - "звук_NOUN_колокол_NOUN", - "звук_NOUN_мотор_NOUN", - "звук_NOUN_музыка_NOUN", - "звук_NOUN_орган_NOUN", - "звук_NOUN_оркестр_NOUN", - "звук_NOUN_рог_NOUN", - "звук_NOUN_рожок_NOUN", - "звук_NOUN_рояль_NOUN", - "звук_NOUN_скрипка_NOUN", - "звук_NOUN_труба_NOUN", - "звук_NOUN_флейта_NOUN", - "звуковой_ADJ_волна_NOUN", - "звуковой_ADJ_сигнал_NOUN", - "звучать_VERB_глухо_ADV", - "звучать_VERB_музыка_NOUN", - "звучный_ADJ_голос_NOUN", - "звёздный_ADJ_корабль_NOUN", - "звёздный_ADJ_мир_NOUN", - "звёздный_ADJ_мир_PROPN", - "звёздный_ADJ_небо_NOUN", - "звёздный_ADJ_система_NOUN", - "здание_NOUN_вокзал_NOUN", - "здание_NOUN_суд_NOUN", - "здесь_ADV_крыться_VERB", - "здешний_ADJ_житель_NOUN", - "здешний_ADJ_край_NOUN", - "здешний_ADJ_место_NOUN", - "здоровенный_ADJ_детина_NOUN", - "здоровенный_ADJ_мужик_NOUN", - "здоровенный_ADJ_парень_NOUN", - "здорово_ADV_достаться_VERB", - "здорово_ADV_повезти_VERB", - "здорово_ADV_получаться_VERB", - "здорово_ADV_получиться_VERB", - "здорово_ADV_придумать_VERB", - "здорово_ADV_смахивать_VERB", - "здравие_NOUN_желать_VERB", - "здравия_PROPN_желать_VERB", - "здравствовать_VERB_дорогой_ADJ", - "здравствовать_VERB_здравствовать_VERB", - "здравствовать_VERB_товарищ_NOUN", - "здравствуй_PROPN_здравствуй_VERB", - "здравый_ADJ_мысль_NOUN", - "здравый_ADJ_рассудок_NOUN", - "здравый_ADJ_смысл_NOUN", - "здравый_ADJ_ум_NOUN", - "зеленоватый_ADJ_оттенок_NOUN", - "зеленоватый_ADJ_свет_NOUN", - "зеленоватый_ADJ_серый_ADJ", - "зеленоватый_ADJ_цвет_NOUN", - "зелень_NOUN_сад_NOUN", - "зелёный_ADJ_абажур_NOUN", - "зелёный_ADJ_бархатный_ADJ", - "зелёный_ADJ_ветвь_NOUN", - "зелёный_ADJ_водоросль_NOUN", - "зелёный_ADJ_горошек_NOUN", - "зелёный_ADJ_ковёр_NOUN", - "зелёный_ADJ_краска_NOUN", - "зелёный_ADJ_листва_NOUN", - "зелёный_ADJ_листик_NOUN", - "зелёный_ADJ_листочек_NOUN", - "зелёный_ADJ_луг_NOUN", - "зелёный_ADJ_лужайка_NOUN", - "зелёный_ADJ_лук_NOUN", - "зелёный_ADJ_мох_NOUN", - "зелёный_ADJ_мундир_NOUN", - "зелёный_ADJ_огонёк_NOUN", - "зелёный_ADJ_полянка_NOUN", - "зелёный_ADJ_пятно_NOUN", - "зелёный_ADJ_свод_NOUN", - "зелёный_ADJ_ставнями_NOUN", - "зелёный_ADJ_стрелок_PROPN", - "зелёный_ADJ_сукно_NOUN", - "зелёный_ADJ_сукном_NOUN", - "зелёный_ADJ_трава_NOUN", - "зелёный_ADJ_травка_NOUN", - "зелёный_ADJ_фон_NOUN", - "зелёный_ADJ_цвет_NOUN", - "зелёный_ADJ_чалма_NOUN", - "земельный_ADJ_участок_NOUN", - "землистый_ADJ_цвет_NOUN", - "земля_NOUN_пахать_VERB", - "земля_NOUN_провалиться_VERB", - "земля_PROPN_франц_PROPN", - "земляной_ADJ_вал_NOUN", - "земляной_ADJ_насыпь_NOUN", - "земляной_ADJ_орех_NOUN", - "земляной_ADJ_пол_NOUN", - "земляной_ADJ_работа_NOUN", - "земляной_ADJ_стена_NOUN", - "земляной_ADJ_червь_NOUN", - "земной_ADJ_атмосфера_NOUN", - "земной_ADJ_кора_NOUN", - "земной_ADJ_ось_NOUN", - "земной_ADJ_поверхность_NOUN", - "земной_ADJ_поклон_NOUN", - "земной_ADJ_притяжение_NOUN", - "земной_ADJ_рай_NOUN", - "земной_ADJ_суток_NOUN", - "земной_ADJ_шар_NOUN", - "зеркало_NOUN_отражать_VERB", - "зеркало_NOUN_отражаться_VERB", - "зеркальный_ADJ_гладь_NOUN", - "зеркальный_ADJ_окно_NOUN", - "зеркальный_ADJ_отражение_NOUN", - "зеркальный_ADJ_поверхность_NOUN", - "зеркальный_ADJ_стекло_NOUN", - "зимний_ADJ_вечер_NOUN", - "зимний_ADJ_дворец_NOUN", - "зимний_ADJ_каникул_NOUN", - "зимний_ADJ_каникулы_NOUN", - "зимний_ADJ_месяц_NOUN", - "зимний_ADJ_ночь_NOUN", - "зимний_ADJ_одежда_NOUN", - "зимний_ADJ_пальто_NOUN", - "зимний_ADJ_сад_NOUN", - "зимний_ADJ_солнце_NOUN", - "зимний_ADJ_спячка_NOUN", - "зимний_ADJ_стужа_NOUN", - "зимний_ADJ_холод_NOUN", - "зимний_ADJ_шапка_NOUN", - "зин_PROPN_пална_NOUN", - "зинаида_PROPN_аркадиевич_PROPN", - "зинаида_PROPN_борисович_PROPN", - "зинаида_PROPN_василиевич_PROPN", - "зинаида_PROPN_иванович_PROPN", - "зинаида_PROPN_львович_PROPN", - "зинаида_PROPN_михаилович_PROPN", - "зинаида_PROPN_николаевич_PROPN", - "зинаида_PROPN_павлович_PROPN", - "зинаида_PROPN_петрович_PROPN", - "зиять_VERB_дыра_NOUN", - "зиять_VERB_огромный_ADJ", - "зиять_VERB_отверстие_NOUN", - "зиять_VERB_рана_NOUN", - "зиять_VERB_чёрный_ADJ", - "злейшего_VERB_враг_NOUN", - "зло_NOUN_которое_PRON", - "злоба_NOUN_против_ADP", - "злобно_ADV_взглянуть_VERB", - "злобно_ADV_рычать_VERB", - "злобно_ADV_шипеть_VERB", - "злобный_ADJ_взгляд_NOUN", - "злобный_ADJ_радость_NOUN", - "зловещий_ADJ_тишина_NOUN", - "зловещий_ADJ_улыбка_NOUN", - "зловещий_VERB_вид_NOUN", - "злой_ADJ_ведьма_NOUN", - "злой_ADJ_волшебник_NOUN", - "злой_ADJ_волшебница_NOUN", - "злой_ADJ_враг_NOUN", - "злой_ADJ_гений_NOUN", - "злой_ADJ_дух_NOUN", - "злой_ADJ_колдун_NOUN", - "злой_ADJ_колдунья_NOUN", - "злой_ADJ_мачеха_NOUN", - "злой_ADJ_насмешка_NOUN", - "злой_ADJ_огонёк_NOUN", - "злой_ADJ_рок_NOUN", - "злой_ADJ_умысел_NOUN", - "злой_ADJ_усмешка_NOUN", - "злой_ADJ_фея_NOUN", - "злой_ADJ_чар_NOUN", - "злой_ADJ_шутка_NOUN", - "злорадно_ADV_подумать_VERB", - "злостный_ADJ_хулиган_NOUN", - "злоупотреблять_VERB_ваш_DET", - "змеиный_ADJ_зуб_PROPN", - "змеиный_ADJ_кожа_NOUN", - "змеиный_ADJ_яд_NOUN", - "змей_PROPN_горыныч_PROPN", - "змей_PROPN_горыныча_PROPN", - "змея_NOUN_извиваться_VERB", - "знак_NOUN_благодарность_NOUN", - "знак_NOUN_одобрение_NOUN", - "знак_NOUN_отличие_NOUN", - "знак_NOUN_препинание_NOUN", - "знак_NOUN_приветствие_NOUN", - "знак_NOUN_протест_NOUN", - "знак_NOUN_согласие_NOUN", - "знак_NOUN_уважение_NOUN", - "знакомый_ADJ_голос_NOUN", - "знакомый_ADJ_запах_NOUN", - "знакомый_ADJ_мелодия_NOUN", - "знакомый_ADJ_подозвать_VERB", - "знакомый_ADJ_фигура_NOUN", - "знаменательный_ADJ_день_NOUN", - "знаменитый_ADJ_артист_NOUN", - "знаменитый_ADJ_воин_NOUN", - "знаменитый_ADJ_певец_NOUN", - "знаменитый_ADJ_певица_NOUN", - "знаменитый_ADJ_писатель_NOUN", - "знаменитый_ADJ_путешественник_NOUN", - "знаменитый_ADJ_сыщик_NOUN", - "знаменитый_ADJ_учёный_NOUN", - "знаменитый_ADJ_французский_ADJ", - "знаменитый_ADJ_художник_NOUN", - "знатный_ADJ_вельможа_NOUN", - "знатный_ADJ_господин_NOUN", - "знатный_ADJ_гость_NOUN", - "знатный_ADJ_дама_NOUN", - "знатный_ADJ_особа_NOUN", - "знатный_ADJ_происхождение_NOUN", - "знатный_ADJ_род_NOUN", - "знать_VERB_наизусть_ADV", - "значение_NOUN_иметь_VERB", - "значительно_ADV_больше_NUM", - "значительно_ADV_высоко_ADJ", - "значительно_ADV_меньше_NUM", - "значительно_ADV_низкий_ADJ", - "значительно_ADV_облегчить_VERB", - "значительно_ADV_отличаться_VERB", - "значительно_ADV_поздний_ADV", - "значительно_ADV_превосходить_VERB", - "значительно_ADV_увеличиться_VERB", - "значительно_ADV_уменьшиться_VERB", - "значительный_ADJ_высота_NOUN", - "значительный_ADJ_количество_NOUN", - "значительный_ADJ_мера_NOUN", - "значительный_ADJ_расстояние_NOUN", - "значительный_ADJ_степень_NOUN", - "значительный_ADJ_сумма_NOUN", - "значительный_ADJ_часть_NOUN", - "значительный_ADJ_число_NOUN", - "знойный_ADJ_солнце_NOUN", - "зовите_VERB_меня_PRON", - "золотистый_ADJ_волос_NOUN", - "золотистый_ADJ_жёлтый_ADJ", - "золотистый_ADJ_коса_NOUN", - "золотистый_ADJ_луч_NOUN", - "золотистый_ADJ_оттенок_NOUN", - "золотистый_ADJ_цвет_NOUN", - "золото_NOUN_серебро_NOUN", - "золотой_ADJ_браслет_NOUN", - "золотой_ADJ_буква_NOUN", - "золотой_ADJ_ветвь_PROPN", - "золотой_ADJ_галун_NOUN", - "золотой_ADJ_жила_NOUN", - "золотой_ADJ_зуб_NOUN", - "золотой_ADJ_искра_NOUN", - "золотой_ADJ_ключик_NOUN", - "золотой_ADJ_колечко_NOUN", - "золотой_ADJ_кольцо_NOUN", - "золотой_ADJ_корона_NOUN", - "золотой_ADJ_крест_NOUN", - "золотой_ADJ_кубок_NOUN", - "золотой_ADJ_купол_NOUN", - "золотой_ADJ_курочка_NOUN", - "золотой_ADJ_лихорадка_NOUN", - "золотой_ADJ_маска_PROPN", - "золотой_ADJ_медаль_NOUN", - "золотой_ADJ_монета_NOUN", - "золотой_ADJ_набалдашник_NOUN", - "золотой_ADJ_нашивка_NOUN", - "золотой_ADJ_нить_NOUN", - "золотой_ADJ_обрез_NOUN", - "золотой_ADJ_обруч_NOUN", - "золотой_ADJ_оправа_NOUN", - "золотой_ADJ_очко_NOUN", - "золотой_ADJ_парча_NOUN", - "золотой_ADJ_перстень_NOUN", - "золотой_ADJ_песок_NOUN", - "золотой_ADJ_пластинка_NOUN", - "золотой_ADJ_прииск_NOUN", - "золотой_ADJ_пуговицами_NOUN", - "золотой_ADJ_пчёлка_PROPN", - "золотой_ADJ_рог_PROPN", - "золотой_ADJ_россыпь_NOUN", - "золотой_ADJ_руда_NOUN", - "золотой_ADJ_руно_NOUN", - "золотой_ADJ_рыбка_NOUN", - "золотой_ADJ_рыбка_PROPN", - "золотой_ADJ_самородок_NOUN", - "золотой_ADJ_слиток_NOUN", - "золотой_ADJ_табакерка_NOUN", - "золотой_ADJ_трон_NOUN", - "золотой_ADJ_украшение_NOUN", - "золотой_ADJ_цепочка_NOUN", - "золотой_ADJ_цепь_NOUN", - "золотой_ADJ_чаша_NOUN", - "золотой_ADJ_шар_NOUN", - "золотой_ADJ_шитьё_NOUN", - "золотой_ADJ_яблоко_NOUN", - "золочёный_ADJ_рама_NOUN", - "зоологический_ADJ_сад_NOUN", - "зоркий_ADJ_взгляд_NOUN", - "зоркий_ADJ_глаз_NOUN", - "зоркими_VERB_глаз_NOUN", - "зорко_ADV_вглядываться_VERB", - "зорко_ADV_всматриваться_VERB", - "зорко_ADV_наблюдать_VERB", - "зорко_ADV_следить_VERB", - "зорко_ADV_смотреть_VERB", - "зорко_PROPN_следить_VERB", - "зоя_PROPN_загородько_PROPN", - "зоя_PROPN_ипполитович_PROPN", - "зоя_PROPN_львович_PROPN", - "зоя_PROPN_николаевич_PROPN", - "зоя_PROPN_павлович_PROPN", - "зоя_PROPN_петрович_PROPN", - "зоя_PROPN_редькин_PROPN", - "зоя_PROPN_степанович_PROPN", - "зоя_PROPN_филиппович_PROPN", - "зоя_PROPN_фёдорович_PROPN", - "зрелище_NOUN_которое_PRON", - "зрелый_ADJ_возраст_NOUN", - "зрелый_ADJ_год_NOUN", - "зрелый_ADJ_размышление_NOUN", - "зрительный_ADJ_зал_NOUN", - "зрительный_ADJ_память_NOUN", - "зрительный_ADJ_труба_NOUN", - "зря_ADV_болтать_VERB", - "зря_ADV_потратить_VERB", - "зря_ADV_терять_VERB", - "зря_ADV_тратить_VERB", - "зуб_NOUN_акула_NOUN", - "зуб_NOUN_болеть_VERB", - "зуб_NOUN_заговаривать_VERB", - "зуб_NOUN_скалить_VERB", - "зуб_NOUN_стучать_VERB", - "зуб_NOUN_щёлкать_VERB", - "зубастый_ADJ_пасть_NOUN", - "зубной_ADJ_боль_NOUN", - "зубной_ADJ_врач_NOUN", - "зубной_ADJ_паста_NOUN", - "зубной_ADJ_порошок_NOUN", - "зубной_ADJ_щётка_NOUN", - "зубчатый_ADJ_колесо_NOUN", - "зубчатый_ADJ_стена_NOUN", - "зыбучий_ADJ_песок_NOUN", - "зычный_ADJ_голос_NOUN", - "зюйд_NOUN_вест_NOUN", - "зябко_PROPN_поёжиться_VERB", - "и_PART_вправду_ADV", - "и_PART_впрямь_ADV", - "и_PART_гляди_VERB", - "и_PART_есть_AUX", - "и_PART_подавно_ADV", - "и_PART_подмывать_VERB", - "и_PART_подобать_VERB", - "и_PART_поныне_ADV", - "и_PART_порешить_VERB", - "и_PART_сяк_NOUN", - "и_PART_эдак_ADV", - "и_PART_этак_ADV", - "иван_PROPN_iii_ADJ", - "иван_PROPN_александрович_PROPN", - "иван_PROPN_алексеевич_PROPN", - "иван_PROPN_андреевич_PROPN", - "иван_PROPN_антонович_PROPN", - "иван_PROPN_архипович_PROPN", - "иван_PROPN_афанасиевич_PROPN", - "иван_PROPN_быкович_PROPN", - "иван_PROPN_варфоломеевич_PROPN", - "иван_PROPN_василиевич_PROPN", - "иван_PROPN_васильич_PROPN", - "иван_PROPN_викентиевич_PROPN", - "иван_PROPN_гаврилович_PROPN", - "иван_PROPN_гермогенович_PROPN", - "иван_PROPN_григориевич_PROPN", - "иван_PROPN_грозный_PROPN", - "иван_PROPN_данилович_PROPN", - "иван_PROPN_дмитриевич_PROPN", - "иван_PROPN_дурак_PROPN", - "иван_PROPN_евдокимович_PROPN", - "иван_PROPN_егорович_PROPN", - "иван_PROPN_захарович_PROPN", - "иван_PROPN_иванович_PROPN", - "иван_PROPN_игнатиевич_PROPN", - "иван_PROPN_ильич_PROPN", - "иван_PROPN_капитонович_PROPN", - "иван_PROPN_кириллович_PROPN", - "иван_PROPN_константинович_PROPN", - "иван_PROPN_кочетков_PROPN", - "иван_PROPN_крестьянский_ADJ", - "иван_PROPN_кузьмич_PROPN", - "иван_PROPN_купала_PROPN", - "иван_PROPN_лукич_PROPN", - "иван_PROPN_макарович_PROPN", - "иван_PROPN_максимович_PROPN", - "иван_PROPN_матвеевич_PROPN", - "иван_PROPN_мелентиевич_PROPN", - "иван_PROPN_михаилович_PROPN", - "иван_PROPN_никанорович_PROPN", - "иван_PROPN_никитович_PROPN", - "иван_PROPN_николаевич_PROPN", - "иван_PROPN_опанасович_PROPN", - "иван_PROPN_павлович_PROPN", - "иван_PROPN_павлыч_PROPN", - "иван_PROPN_петров_PROPN", - "иван_PROPN_петрович_PROPN", - "иван_PROPN_платонович_PROPN", - "иван_PROPN_потапович_PROPN", - "иван_PROPN_прохорович_PROPN", - "иван_PROPN_савелиевич_PROPN", - "иван_PROPN_семёнович_PROPN", - "иван_PROPN_сергеевич_PROPN", - "иван_PROPN_сирота_PROPN", - "иван_PROPN_степанович_PROPN", - "иван_PROPN_сусанин_PROPN", - "иван_PROPN_тарасович_PROPN", - "иван_PROPN_трофимович_PROPN", - "иван_PROPN_филиппович_PROPN", - "иван_PROPN_фомич_PROPN", - "иван_PROPN_фёдорович_PROPN", - "иван_PROPN_царевич_PROPN", - "иван_PROPN_чай_PROPN", - "иван_PROPN_чая_PROPN", - "иван_PROPN_яковлевич_PROPN", - "иванов_PROPN_оглы_PROPN", - "ивовый_ADJ_куст_NOUN", - "ивовый_ADJ_прут_NOUN", - "игорный_ADJ_дом_NOUN", - "игорный_ADJ_зал_NOUN", - "игорный_ADJ_стол_NOUN", - "игорь_PROPN_александрович_PROPN", - "игорь_PROPN_василиевич_PROPN", - "игорь_PROPN_владимирович_PROPN", - "игорь_PROPN_вячеславович_PROPN", - "игорь_PROPN_дмитриевич_PROPN", - "игорь_PROPN_зиновиевич_PROPN", - "игорь_PROPN_игоревич_PROPN", - "игорь_PROPN_маркович_PROPN", - "игорь_PROPN_петрович_PROPN", - "игорь_PROPN_степанович_PROPN", - "игорь_PROPN_шемякин_PROPN", - "игра_NOUN_воображение_NOUN", - "игра_NOUN_продолжаться_VERB", - "игральный_ADJ_карта_NOUN", - "игральный_ADJ_кость_NOUN", - "играть_VERB_музыка_NOUN", - "играть_VERB_оркестр_NOUN", - "играть_VERB_роль_NOUN", - "игровой_ADJ_автомат_NOUN", - "игрушечный_ADJ_магазин_NOUN", - "идеальный_ADJ_порядок_NOUN", - "идем_PROPN_идти_VERB", - "иди_NOUN_ка_PROPN", - "иди_PROPN_идти_VERB", - "идти_NOUN_было_AUX", - "идти_VERB_впереди_ADP", - "идти_VERB_вразрез_ADV", - "идти_VERB_гусёк_NOUN", - "идти_VERB_напролом_NOUN", - "идти_VERB_параллельно_ADV", - "идти_VERB_пешком_ADV", - "идти_VERB_речь_NOUN", - "иду_PROPN_идти_VERB", - "из_ADP_вежливость_NOUN", - "из_ADP_виду_NOUN", - "из_ADP_вредность_NOUN", - "из_ADP_горлышка_NOUN", - "из_ADP_динамик_NOUN", - "из_ADP_дому_NOUN", - "из_ADP_карман_NOUN", - "из_ADP_лакбэна_PROPN", - "из_ADP_лесу_NOUN", - "из_ADP_недр_NOUN", - "из_ADP_немногих_NUM", - "из_ADP_неё_PROPN", - "из_ADP_ножен_ADJ", - "из_ADP_ножен_NOUN", - "из_ADP_ножен_VERB", - "из_ADP_носу_NOUN", - "из_ADP_окошка_NOUN", - "из_ADP_папье_NOUN", - "из_ADP_пластилин_NOUN", - "из_ADP_преисподней_NOUN", - "из_ADP_рогатка_NOUN", - "из_ADP_сеней_NOUN", - "из_ADP_слоновый_ADJ", - "из_ADP_уст_NOUN", - "из_ADP_щелей_NOUN", - "из_ADV_виду_NOUN", - "изба_NOUN_читальня_NOUN", - "избавить_VERB_от_ADP", - "избавиться_VERB_от_ADP", - "избавление_NOUN_от_ADP", - "избавлять_VERB_от_ADP", - "избавляться_VERB_от_ADP", - "избегать_VERB_встреча_NOUN", - "избежать_VERB_встреча_NOUN", - "избежать_VERB_опасность_NOUN", - "избежать_VERB_смерть_NOUN", - "избрать_VERB_произведение_NOUN", - "изваять_VERB_из_ADP", - "извержение_NOUN_вулкан_NOUN", - "известие_NOUN_о_ADP", - "известие_NOUN_об_ADP", - "известить_VERB_об_ADP", - "известковый_ADJ_пыль_NOUN", - "известный_ADJ_писатель_NOUN", - "известный_ADJ_степень_NOUN", - "известный_ADJ_читатель_NOUN", - "извещать_VERB_о_ADP", - "извещение_NOUN_о_ADP", - "извиваться_VERB_змея_NOUN", - "извилистый_ADJ_линия_NOUN", - "извилистый_ADJ_тропинка_NOUN", - "извинить_VERB_пожалуйста_ADV", - "извиниться_VERB_перед_ADP", - "извиняться_VERB_перед_ADP", - "извиняться_VERB_тон_NOUN", - "извлекать_VERB_из_ADP", - "извлечь_VERB_из_ADP", - "извлечь_VERB_оттуда_ADV", - "извлечь_VERB_польза_NOUN", - "изволите_VERB_видеть_VERB", - "изволите_VERB_ли_PART", - "изволить_VERB_беспокоиться_VERB", - "изгиб_NOUN_река_NOUN", - "изгладиться_VERB_из_ADP", - "изгнать_VERB_из_ADP", - "изголовье_NOUN_кровать_NOUN", - "издавать_VERB_звук_NOUN", - "издали_VERB_доноситься_VERB", - "издали_VERB_наблюдать_VERB", - "издали_VERB_следить_VERB", - "издали_VERB_увидеть_VERB", - "издалёка_ADV_донестись_VERB", - "издалёка_ADV_доноситься_VERB", - "издание_NOUN_сказка_NOUN", - "издательство_NOUN_детский_ADJ", - "издательство_NOUN_эос_NOUN", - "издать_VERB_звук_NOUN", - "издать_VERB_пронзительный_ADJ", - "издать_VERB_радостный_ADJ", - "издать_VERB_указ_NOUN", - "издевательство_NOUN_над_ADP", - "издеваться_VERB_над_ADP", - "излагать_VERB_свой_DET", - "излечиться_VERB_от_ADP", - "излучина_NOUN_река_NOUN", - "излюбленный_ADJ_место_NOUN", - "изменить_VERB_курс_NOUN", - "изменить_VERB_направление_NOUN", - "изменить_VERB_тактика_NOUN", - "изменить_VERB_тон_NOUN", - "измерительный_ADJ_прибор_NOUN", - "измождённый_ADJ_лицо_NOUN", - "измываться_VERB_над_ADP", - "измятый_ADJ_майор_NOUN", - "изнемогать_VERB_от_ADP", - "изнемогать_VERB_под_ADP", - "изнеможение_NOUN_опуститься_VERB", - "изнывать_VERB_от_ADP", - "изольда_PROPN_павлович_PROPN", - "изольда_PROPN_тихонович_PROPN", - "изредка_ADV_поглядывать_VERB", - "изредка_ADV_попадаться_VERB", - "изрыгать_VERB_проклятие_NOUN", - "изрядно_ADV_потрепать_VERB", - "изрядный_ADJ_количество_NOUN", - "изумительный_ADJ_быстрота_NOUN", - "изумительный_ADJ_ловкость_NOUN", - "изумление_NOUN_уставиться_VERB", - "изумленно_ADV_взглянуть_VERB", - "изумленно_ADV_посмотреть_VERB", - "изумленно_ADV_уставиться_VERB", - "изумлённый_ADJ_взгляд_NOUN", - "изумрудно_ADJ_зелёный_ADJ", - "изумрудный_ADJ_город_NOUN", - "изумрудный_ADJ_зелень_NOUN", - "изуродовать_VERB_труп_NOUN", - "изъявить_VERB_готовность_NOUN", - "изъявить_VERB_желание_NOUN", - "изъявить_VERB_согласие_NOUN", - "изысканный_ADJ_блюдо_NOUN", - "изысканный_ADJ_вежливость_NOUN", - "изящно_ADV_одеть_VERB", - "изящный_ADJ_манера_NOUN", - "иисус_PROPN_христос_PROPN", - "или_CCONJ_вернее_ADV", - "или_CCONJ_иначе_ADV", - "или_CCONJ_иного_ADJ", - "или_CCONJ_иное_ADJ", - "или_CCONJ_иной_ADJ", - "или_CCONJ_ином_ADJ", - "или_CCONJ_иному_ADJ", - "или_CCONJ_иную_ADJ", - "или_CCONJ_иным_ADJ", - "или_CCONJ_иных_ADJ", - "или_CCONJ_менее_ADV", - "или_CCONJ_правильный_ADV", - "или_CCONJ_хотя_PART", - "илиас_PROPN_финкель_PROPN", - "илистый_ADJ_дно_NOUN", - "илларион_PROPN_венедиктович_PROPN", - "илья_PROPN_андреевич_PROPN", - "илья_PROPN_василиевич_PROPN", - "илья_PROPN_григориевич_PROPN", - "илья_PROPN_ильич_PROPN", - "илья_PROPN_максимович_PROPN", - "илья_PROPN_михаилович_PROPN", - "илья_PROPN_муромец_PROPN", - "илья_PROPN_николаевич_PROPN", - "илья_PROPN_семёнович_PROPN", - "илья_PROPN_фаддеевич_PROPN", - "илья_PROPN_фёдорович_PROPN", - "илья_PROPN_юриевич_PROPN", - "им_PRON_вздуматься_VERB", - "им_PRON_вслед_ADV", - "им_PRON_навстречу_ADV", - "им_PRON_овладевать_VERB", - "им_PRON_овладеть_VERB", - "им_PRON_предстоять_VERB", - "им_PRON_самим_ADJ", - "имей_NOUN_в_ADV", - "имей_PROPN_в_ADV", - "имей_VERB_в_ADV", - "именно_PART_благодаря_ADP", - "именно_PART_поэтому_ADV", - "иметь_VERB_в_ADV", - "иметь_VERB_возможность_NOUN", - "иметь_VERB_доступ_NOUN", - "иметь_VERB_значение_NOUN", - "иметь_VERB_намерение_NOUN", - "иметь_VERB_неосторожность_NOUN", - "иметь_VERB_никакой_DET", - "иметь_VERB_обыкновение_NOUN", - "иметь_VERB_определённый_ADJ", - "иметь_VERB_основание_NOUN", - "иметь_VERB_отношение_NOUN", - "иметь_VERB_понятие_NOUN", - "иметь_VERB_право_NOUN", - "иметь_VERB_представление_NOUN", - "иметь_VERB_привычка_NOUN", - "иметь_VERB_против_ADV", - "иметь_VERB_решающий_ADJ", - "иметь_VERB_смысл_NOUN", - "иметь_VERB_честь_NOUN", - "иметься_VERB_в_ADV", - "ими_PRON_командовать_VERB", - "ими_PRON_пользоваться_VERB", - "ими_PRON_управлять_VERB", - "иммунный_ADJ_система_NOUN", - "император_NOUN_александр_PROPN", - "император_NOUN_наполеон_PROPN", - "император_NOUN_николай_PROPN", - "император_NOUN_павел_PROPN", - "императорский_ADJ_величество_NOUN", - "императорский_ADJ_дворец_NOUN", - "императорский_ADJ_корона_NOUN", - "императрица_NOUN_екатерина_PROPN", - "императрица_NOUN_мария_PROPN", - "имя_NOUN_горький_PROPN", - "имя_NOUN_ленин_PROPN", - "имя_NOUN_отец_PROPN", - "имя_NOUN_отчество_NOUN", - "инвалидный_ADJ_коляска_NOUN", - "инга_PROPN_сергеевич_PROPN", - "индеец_NOUN_джо_PROPN", - "индеец_NOUN_племя_NOUN", - "индейский_ADJ_агент_NOUN", - "индейский_ADJ_вождь_NOUN", - "индейский_ADJ_воин_NOUN", - "индейский_ADJ_деревня_NOUN", - "индейский_ADJ_обычай_NOUN", - "индейский_ADJ_петух_NOUN", - "индейский_ADJ_племя_NOUN", - "индейский_ADJ_территория_NOUN", - "индивидуальный_ADJ_особенность_NOUN", - "индийский_ADJ_джентльмен_NOUN", - "индийский_ADJ_океан_NOUN", - "инес_PROPN_наварро_PROPN", - "инженер_NOUN_механик_NOUN", - "инна_PROPN_андреевич_PROPN", - "инна_PROPN_василиевич_PROPN", - "инна_PROPN_яковлевич_PROPN", - "иногда_ADV_случаться_VERB", - "иного_ADJ_выход_NOUN", - "иного_ADJ_мир_NOUN", - "иного_ADJ_мнение_NOUN", - "иного_ADJ_род_NOUN", - "иное_ADJ_как_SCONJ", - "иной_ADJ_мир_NOUN", - "иной_ADJ_причина_NOUN", - "иной_ADJ_раз_NOUN", - "иностранный_ADJ_акцент_NOUN", - "иностранный_ADJ_разведка_NOUN", - "иностранный_ADJ_язык_NOUN", - "инспектор_NOUN_мак_PROPN", - "инстинкт_NOUN_подсказывать_VERB", - "инстинкт_NOUN_самосохранение_NOUN", - "инстинктивно_ADV_чувствовать_VERB", - "институтский_ADJ_двор_NOUN", - "институтский_ADJ_жизнь_NOUN", - "институтский_ADJ_стена_NOUN", - "интеллигентный_ADJ_человек_NOUN", - "интерес_NOUN_наблюдать_VERB", - "интерес_NOUN_прислушиваться_VERB", - "интерес_NOUN_разглядывать_VERB", - "интерес_NOUN_рассматривать_VERB", - "интерес_NOUN_следить_VERB", - "интересно_ADV_рассказывать_VERB", - "интересный_ADJ_зрелище_NOUN", - "интуиция_NOUN_подсказывать_VERB", - "инфракрасный_ADJ_луч_NOUN", - "инчу_PROPN_чуна_PROPN", - "иным_ADJ_путь_NOUN", - "иным_ADJ_способ_NOUN", - "иными_ADJ_слово_NOUN", - "иосиф_PROPN_виссарионович_PROPN", - "ипполит_PROPN_германович_PROPN", - "ираклий_PROPN_ираклиевич_PROPN", - "ирина_PROPN_александрович_PROPN", - "ирина_PROPN_андреевич_PROPN", - "ирина_PROPN_борисович_PROPN", - "ирина_PROPN_вадимович_PROPN", - "ирина_PROPN_василиевич_PROPN", - "ирина_PROPN_вениаминович_PROPN", - "ирина_PROPN_викторович_PROPN", - "ирина_PROPN_дементиевич_PROPN", - "ирина_PROPN_иосифович_PROPN", - "ирина_PROPN_леонидович_PROPN", - "ирина_PROPN_матвеевич_PROPN", - "ирина_PROPN_михаилович_PROPN", - "ирина_PROPN_николаевич_PROPN", - "ирина_PROPN_олегович_PROPN", - "ирина_PROPN_павлович_PROPN", - "ирина_PROPN_петрович_PROPN", - "ирина_PROPN_сергеевич_PROPN", - "ирина_PROPN_федотович_PROPN", - "ирина_PROPN_фёдорович_PROPN", - "иронически_ADV_заметить_VERB", - "иронически_ADV_улыбаться_VERB", - "иронически_ADV_улыбнуться_VERB", - "иронический_ADJ_тон_NOUN", - "иронический_ADJ_улыбка_NOUN", - "иронично_ADV_сощуриться_VERB", - "ирония_NOUN_судьба_NOUN", - "исказить_VERB_лицо_NOUN", - "исказиться_VERB_от_ADP", - "искатель_NOUN_приключение_NOUN", - "искатель_PROPN_след_NOUN", - "искать_VERB_клад_NOUN", - "искать_VERB_спасение_NOUN", - "искать_VERB_убежище_NOUN", - "исключать_VERB_всякий_DET", - "исключение_NOUN_составлять_VERB", - "исключительно_ADV_ради_ADP", - "исключительный_ADJ_случай_NOUN", - "исключить_VERB_возможность_NOUN", - "искоса_PROPN_взглянуть_VERB", - "искоса_PROPN_глянуть_VERB", - "искоса_PROPN_поглядеть_VERB", - "искоса_PROPN_поглядывать_VERB", - "искоса_PROPN_посматривать_VERB", - "искоса_PROPN_посмотреть_VERB", - "искренне_ADV_верить_VERB", - "искренне_ADV_желать_VERB", - "искренне_ADV_изумиться_VERB", - "искренне_ADV_обрадоваться_VERB", - "искренне_ADV_рад_ADJ", - "искренне_ADV_радоваться_VERB", - "искренне_ADV_сожалеть_VERB", - "искренне_ADV_удивиться_VERB", - "искренний_ADJ_благодарность_NOUN", - "искренний_ADJ_восхищение_NOUN", - "искренний_ADJ_дружба_NOUN", - "искренний_ADJ_желание_NOUN", - "искренний_ADJ_любовь_NOUN", - "искренний_ADJ_радость_NOUN", - "искренний_ADJ_раскаяние_NOUN", - "искренний_ADJ_сожаление_NOUN", - "искренний_ADJ_сочувствие_NOUN", - "искренний_ADJ_удивление_NOUN", - "искренний_ADJ_участие_NOUN", - "искренний_ADJ_чувство_NOUN", - "искренно_ADV_любить_VERB", - "искупить_VERB_свой_DET", - "искусный_ADJ_мастер_NOUN", - "искусственный_ADJ_дыхание_NOUN", - "искусственный_ADJ_спутник_NOUN", - "испанский_ADJ_войско_NOUN", - "испанский_ADJ_колония_NOUN", - "испанский_ADJ_корабль_NOUN", - "испанский_ADJ_король_NOUN", - "испанский_ADJ_лагерь_NOUN", - "испанский_ADJ_правительство_NOUN", - "испанский_ADJ_рыцарь_NOUN", - "испанский_ADJ_судно_NOUN", - "испанский_ADJ_язык_NOUN", - "испепелять_VERB_взгляд_NOUN", - "испечь_VERB_пирог_NOUN", - "исписать_VERB_лист_NOUN", - "исписать_VERB_листок_NOUN", - "исподлобья_PROPN_взглянуть_VERB", - "исподлобья_PROPN_глядеть_VERB", - "исподлобья_PROPN_посмотреть_VERB", - "испокон_ADV_век_NOUN", - "исполнение_NOUN_желание_NOUN", - "исполнение_NOUN_задумать_VERB", - "исполнение_NOUN_обязанность_NOUN", - "исполнение_NOUN_план_NOUN", - "исполнение_NOUN_приговор_NOUN", - "исполнение_NOUN_служебный_ADJ", - "исполнить_VERB_возложить_VERB", - "исполнить_VERB_воля_NOUN", - "исполнить_VERB_данное_ADJ", - "исполнить_VERB_долг_NOUN", - "исполнить_VERB_желание_NOUN", - "исполнить_VERB_обещание_NOUN", - "исполнить_VERB_поручение_NOUN", - "исполнить_VERB_приказ_NOUN", - "исполнить_VERB_приказание_NOUN", - "исполнить_VERB_просьба_NOUN", - "исполниться_VERB_восемнадцать_NUM", - "исполниться_VERB_двадцать_NUM", - "исполниться_VERB_пятнадцать_NUM", - "исполниться_VERB_четырнадцать_NUM", - "исполниться_VERB_шестнадцать_NUM", - "исполнять_VERB_должность_NOUN", - "исполнять_VERB_желание_NOUN", - "исполнять_VERB_обязанность_NOUN", - "исполнять_VERB_поручение_NOUN", - "исполнять_VERB_приказание_NOUN", - "исполнять_VERB_роль_NOUN", - "использоваться_VERB_для_ADP", - "испортить_VERB_настроение_NOUN", - "испортиться_VERB_настроение_NOUN", - "исправить_VERB_ошибка_NOUN", - "исправить_VERB_положение_NOUN", - "исправлять_VERB_ошибка_NOUN", - "испуганно_ADV_взглянуть_VERB", - "испуганно_ADV_вздрогнуть_VERB", - "испуганно_ADV_воскликнуть_VERB", - "испуганно_ADV_вскрикнуть_VERB", - "испуганно_ADV_замахать_VERB", - "испуганно_ADV_обернуться_VERB", - "испуганно_ADV_оглядываться_VERB", - "испуганно_ADV_оглянуться_VERB", - "испуганно_ADV_озираться_VERB", - "испуганно_ADV_отшатнуться_VERB", - "испуганно_ADV_переглянуться_VERB", - "испуганно_ADV_попятиться_VERB", - "испуганно_ADV_прошептать_VERB", - "испуганно_ADV_уставиться_VERB", - "испуганно_ADV_шарахнуться_VERB", - "испуганный_ADJ_взгляд_NOUN", - "испуганный_ADJ_выражение_NOUN", - "испуганный_ADJ_глаз_NOUN", - "испуганный_ADJ_крик_NOUN", - "испуганный_ADJ_лицо_NOUN", - "испустить_VERB_дух_NOUN", - "испустить_VERB_крик_NOUN", - "испустить_VERB_последний_ADJ", - "испустить_VERB_пронзительный_ADJ", - "испытательный_ADJ_срок_NOUN", - "испытующе_PROPN_глядеть_VERB", - "испытующе_PROPN_посмотреть_VERB", - "испытующий_VERB_взгляд_NOUN", - "испытующим_VERB_взгляд_NOUN", - "испытывать_VERB_страх_NOUN", - "испытывать_VERB_чувство_NOUN", - "иссиня_ADJ_чёрный_ADJ", - "иссиня_NOUN_чёрный_ADJ", - "исследовательский_ADJ_работа_NOUN", - "истекать_VERB_кровь_NOUN", - "истинный_ADJ_вера_NOUN", - "истинный_ADJ_любовь_NOUN", - "истинный_ADJ_наслаждение_NOUN", - "истинный_ADJ_положение_NOUN", - "истинный_ADJ_правда_NOUN", - "истинный_ADJ_причина_NOUN", - "истинный_ADJ_смысл_NOUN", - "истинный_ADJ_удовольствие_NOUN", - "истинный_ADJ_цель_NOUN", - "исток_NOUN_река_NOUN", - "исторический_ADJ_музей_NOUN", - "исторический_ADJ_памятник_NOUN", - "исторический_ADJ_роман_NOUN", - "исторический_ADJ_событие_NOUN", - "исторический_ADJ_факт_NOUN", - "исторический_ADJ_ценность_NOUN", - "история_NOUN_болезнь_NOUN", - "история_NOUN_человечество_NOUN", - "источник_NOUN_информация_NOUN", - "источник_NOUN_свет_NOUN", - "источник_NOUN_текст_NOUN", - "источник_NOUN_энергия_NOUN", - "истошный_ADJ_вопль_NOUN", - "истошный_ADJ_голос_NOUN", - "истошный_ADJ_крик_NOUN", - "исход_NOUN_битва_NOUN", - "исходить_VERB_от_ADP", - "исходный_ADJ_позиция_NOUN", - "исходный_ADJ_положение_NOUN", - "исходный_ADJ_точка_NOUN", - "исхудалый_ADJ_лицо_NOUN", - "исчадие_NOUN_ад_NOUN", - "исчезать_VERB_бесследно_ADV", - "исчезнуть_VERB_бесследно_ADV", - "исчезнуть_VERB_раствориться_VERB", - "итальянский_ADJ_язык_NOUN", - "ишь_INTJ_ты_PRON", - "ишь_PART_ты_PRON", - "ишь_PROPN_ты_PRON", - "ишь_VERB_ты_PRON", - "июль_NOUN_год_NOUN", - "июльский_ADJ_ночь_NOUN", - "июнь_NOUN_год_NOUN", - "ия_PROPN_аркадиевич_PROPN", - "й_ADJ_день_NOUN", - "й_ADJ_школа_NOUN", - "к_ADP_болоту_NOUN", - "к_ADP_больному_NOUN", - "к_ADP_васа_PROPN", - "к_ADP_ведру_NOUN", - "к_ADP_верховьям_NOUN", - "к_ADP_вечерня_NOUN", - "к_ADP_вискам_NOUN", - "к_ADP_володе_PROPN", - "к_ADP_воротам_NOUN", - "к_ADP_вящий_ADJ", - "к_ADP_гнезду_NOUN", - "к_ADP_другому_ADJ", - "к_ADP_другу_PRON", - "к_ADP_дружке_NOUN", - "к_ADP_завтрему_VERB", - "к_ADP_завучу_NOUN", - "к_ADP_замочный_ADJ", - "к_ADP_золоту_NOUN", - "к_ADP_козырьку_NOUN", - "к_ADP_крыльцу_NOUN", - "к_ADP_лошадям_NOUN", - "к_ADP_мешку_NOUN", - "к_ADP_мясу_NOUN", - "к_ADP_назначенному_ADJ", - "к_ADP_небесам_NOUN", - "к_ADP_нему_PRON", - "к_ADP_о_VERB", - "к_ADP_окнам_NOUN", - "к_ADP_окошку_NOUN", - "к_ADP_палаткам_NOUN", - "к_ADP_перилам_NOUN", - "к_ADP_пете_NOUN", - "к_ADP_прерванному_ADJ", - "к_ADP_ручью_NOUN", - "к_ADP_седлу_NOUN", - "к_ADP_сожаление_NOUN", - "к_ADP_спех_NOUN", - "к_ADP_стаду_NOUN", - "к_ADP_столбам_NOUN", - "к_ADP_сумеркам_NOUN", - "к_ADP_тому_PRON", - "к_ADP_чорту_NOUN", - "к_ADV_к_ADV", - "ка_NOUN_а_NOUN", - "ка_NOUN_ак_NOUN", - "ка_NOUN_ак_PROPN", - "ка_PROPN_сюда_ADV", - "ка_VERB_мне_PRON", - "ка_VERB_сюда_ADV", - "каббалистический_ADJ_знак_NOUN", - "кабина_NOUN_лифт_NOUN", - "кабинет_NOUN_биология_NOUN", - "кабинет_NOUN_директор_NOUN", - "кабинет_NOUN_литература_NOUN", - "кабинет_NOUN_математика_NOUN", - "кабинет_NOUN_министр_NOUN", - "кабинет_NOUN_начальник_NOUN", - "кабинет_NOUN_физика_NOUN", - "кабинет_NOUN_химия_NOUN", - "кавалер_NOUN_де_PART", - "кавалер_NOUN_лакруа_PROPN", - "кавалер_NOUN_орден_NOUN", - "каверзный_ADJ_вопрос_NOUN", - "кавказский_ADJ_гора_NOUN", - "кавказский_ADJ_овчарка_NOUN", - "кагги_PROPN_карр_PROPN", - "кадетский_ADJ_корпус_NOUN", - "каждый_DET_былинка_NOUN", - "каждый_DET_взмах_NOUN", - "каждый_DET_встречный_ADJ", - "каждый_DET_день_NOUN", - "каждый_DET_жилка_NOUN", - "каждый_DET_клеточка_NOUN", - "каждый_DET_кустик_NOUN", - "каждый_DET_мелочь_NOUN", - "каждый_DET_пядь_NOUN", - "каждый_DET_секунда_NOUN", - "каждый_DET_травинка_NOUN", - "каждый_DET_чёрточка_NOUN", - "каждый_DET_шаг_NOUN", - "каждый_DET_шорох_NOUN", - "казак_NOUN_разбойник_NOUN", - "казанский_ADJ_собор_NOUN", - "казаться_VERB_вот_ADV", - "казимир_PROPN_гансович_PROPN", - "казимир_PROPN_иванович_PROPN", - "казённый_ADJ_счёт_NOUN", - "казённый_ADJ_часть_NOUN", - "кай_PROPN_су_PROPN", - "как_ADV_будто_ADV", - "как_ADV_будто_PART", - "как_ADV_бы_PART", - "как_ADV_минимум_NOUN", - "как_ADV_нибудь_ADV", - "как_ADV_раз_ADV", - "как_ADV_то_ADV", - "как_ADV_я_ADV", - "как_SCONJ_будто_PART", - "как_SCONJ_вкопанная_NOUN", - "как_SCONJ_вкопать_VERB", - "как_SCONJ_воронов_ADJ", - "как_SCONJ_говориться_VERB", - "как_SCONJ_должное_NOUN", - "как_SCONJ_заворожить_VERB", - "как_SCONJ_заправский_ADJ", - "как_SCONJ_зачаровать_VERB", - "как_SCONJ_зеница_NOUN", - "как_SCONJ_истукан_NOUN", - "как_SCONJ_истый_ADJ", - "как_SCONJ_кумач_NOUN", - "как_SCONJ_лунь_NOUN", - "как_SCONJ_маков_PROPN", - "как_SCONJ_мел_PROPN", - "как_SCONJ_мы_PROPN", - "как_SCONJ_назло_ADV", - "как_SCONJ_ошпарить_VERB", - "как_SCONJ_подкошенный_ADJ", - "как_SCONJ_подобать_VERB", - "как_SCONJ_поживать_VERB", - "как_SCONJ_пушинка_NOUN", - "как_SCONJ_пёрышко_NOUN", - "как_SCONJ_резаный_ADJ", - "как_SCONJ_следовать_VERB", - "как_SCONJ_смоль_NOUN", - "как_SCONJ_сумасшедшие_NOUN", - "как_SCONJ_сумасшедший_NOUN", - "как_SCONJ_угорелая_NOUN", - "как_SCONJ_угорелые_NOUN", - "как_SCONJ_угорелый_NOUN", - "как_SCONJ_ужалить_VERB", - "какова_PROPN_же_PART", - "каково_ADJ_же_PART", - "каковы_ADJ_бы_AUX", - "каковы_ADJ_были_AUX", - "какой_DET_выискаться_VERB", - "какой_DET_коврижка_NOUN", - "какой_DET_либо_DET", - "какой_DET_нибудь_DET", - "какой_DET_прелесть_NOUN", - "какой_DET_разница_NOUN", - "какой_DET_стать_NOUN", - "какой_DET_судьбами_NOUN", - "какой_DET_то_DET", - "какою_NOUN_то_DET", - "кала_PROPN_наг_PROPN", - "калерия_PROPN_иванович_PROPN", - "каменистый_ADJ_берег_NOUN", - "каменистый_ADJ_дно_NOUN", - "каменистый_ADJ_дорога_NOUN", - "каменистый_ADJ_почва_NOUN", - "каменноугольный_ADJ_период_NOUN", - "каменный_ADJ_блок_NOUN", - "каменный_ADJ_век_NOUN", - "каменный_ADJ_выступ_NOUN", - "каменный_ADJ_глыба_NOUN", - "каменный_ADJ_громада_NOUN", - "каменный_ADJ_гряда_NOUN", - "каменный_ADJ_забор_NOUN", - "каменный_ADJ_здание_NOUN", - "каменный_ADJ_изваяние_NOUN", - "каменный_ADJ_кладка_NOUN", - "каменный_ADJ_лев_NOUN", - "каменный_ADJ_лестница_NOUN", - "каменный_ADJ_мешок_NOUN", - "каменный_ADJ_муму_PROPN", - "каменный_ADJ_ограда_NOUN", - "каменный_ADJ_остров_NOUN", - "каменный_ADJ_плита_NOUN", - "каменный_ADJ_плитам_NOUN", - "каменный_ADJ_пол_NOUN", - "каменный_ADJ_свод_NOUN", - "каменный_ADJ_скамья_NOUN", - "каменный_ADJ_статуя_NOUN", - "каменный_ADJ_стена_NOUN", - "каменный_ADJ_столб_NOUN", - "каменный_ADJ_ступень_NOUN", - "каменный_ADJ_ступенька_NOUN", - "каменный_ADJ_топор_NOUN", - "каменный_ADJ_уголь_NOUN", - "каменный_ADJ_чаша_NOUN", - "камень_NOUN_мостовый_ADJ", - "камень_NOUN_преткновение_NOUN", - "камень_NOUN_самоцветный_ADJ", - "камера_NOUN_хранение_NOUN", - "камуфляжный_ADJ_форма_NOUN", - "камышовый_ADJ_муха_NOUN", - "канадский_ADJ_охотник_NOUN", - "канализационный_ADJ_люк_NOUN", - "канарский_ADJ_остров_NOUN", - "кандидат_NOUN_наука_NOUN", - "канзас_PROPN_сити_PROPN", - "канонерский_ADJ_лодка_NOUN", - "кантос_PROPN_кан_PROPN", - "кап_NOUN_кап_NOUN", - "капать_VERB_вода_NOUN", - "капать_VERB_кровь_NOUN", - "капелька_NOUN_кровь_NOUN", - "капелька_NOUN_пот_NOUN", - "капелька_NOUN_роса_NOUN", - "капиталистический_ADJ_страна_NOUN", - "капитальный_ADJ_ремонт_NOUN", - "капитан_NOUN_баррас_PROPN", - "капитан_NOUN_бигналь_PROPN", - "капитан_NOUN_буль_PROPN", - "капитан_NOUN_ван_PROPN", - "капитан_NOUN_ватан_PROPN", - "капитан_NOUN_вилугби_PROPN", - "капитан_NOUN_врунгель_PROPN", - "капитан_NOUN_гарднер_PROPN", - "капитан_NOUN_год_PROPN", - "капитан_NOUN_грант_PROPN", - "капитан_NOUN_гуль_PROPN", - "капитан_NOUN_дагге_PROPN", - "капитан_NOUN_дальний_ADJ", - "капитан_NOUN_джонсон_PROPN", - "капитан_NOUN_енакиев_PROPN", - "капитан_NOUN_икар_PROPN", - "капитан_NOUN_кильд_PROPN", - "капитан_NOUN_кильда_PROPN", - "капитан_NOUN_командор_NOUN", - "капитан_NOUN_крашенинников_PROPN", - "капитан_NOUN_кру_PROPN", - "капитан_NOUN_кук_PROPN", - "капитан_NOUN_лейтенант_NOUN", - "капитан_NOUN_лудлов_PROPN", - "капитан_NOUN_мокарю_PROPN", - "капитан_NOUN_морозов_PROPN", - "капитан_NOUN_немо_PROPN", - "капитан_NOUN_нил_PROPN", - "капитан_NOUN_плюм_PROPN", - "капитан_NOUN_плюма_PROPN", - "капитан_NOUN_поль_PROPN", - "капитан_NOUN_румб_PROPN", - "капитан_NOUN_скотт_PROPN", - "капитан_NOUN_смоллет_PROPN", - "капитан_NOUN_степанов_PROPN", - "капитан_NOUN_татаринова_PROPN", - "капитан_NOUN_темпеста_PROPN", - "капитан_NOUN_тин_PROPN", - "капитан_NOUN_шеннон_PROPN", - "капитан_NOUN_шмельков_PROPN", - "капитанский_ADJ_дочка_NOUN", - "капитанский_ADJ_каюта_NOUN", - "капитанский_ADJ_мостик_NOUN", - "капитанский_ADJ_рубка_NOUN", - "капля_NOUN_вода_NOUN", - "капля_NOUN_дождь_NOUN", - "капля_NOUN_кровь_NOUN", - "капля_NOUN_падать_VERB", - "капля_NOUN_пот_NOUN", - "капля_NOUN_роса_NOUN", - "капустный_ADJ_лист_NOUN", - "кар_PROPN_кар_PROPN", - "кар_PROPN_кара_PROPN", - "кара_PROPN_бугаз_PROPN", - "карабас_PROPN_барабас_PROPN", - "карабаса_PROPN_барабаса_PROPN", - "карабкаться_VERB_вверх_ADV", - "карабкаться_VERB_наверх_ADV", - "карабкаться_VERB_по_ADP", - "каравай_NOUN_хлеб_NOUN", - "караван_NOUN_сарай_NOUN", - "карательный_ADJ_отряд_NOUN", - "карательный_ADJ_экспедиция_NOUN", - "караульный_ADJ_помещение_NOUN", - "кардинал_NOUN_ришелье_PROPN", - "карета_NOUN_запрячь_VERB", - "карета_NOUN_остановиться_VERB", - "карета_NOUN_скорый_ADJ", - "карибский_ADJ_море_NOUN", - "карий_ADJ_глаз_NOUN", - "карих_NOUN_глаз_NOUN", - "карл_PROPN_ix_ADJ", - "карл_PROPN_v_ADJ", - "карл_PROPN_великий_ADJ", - "карл_PROPN_иванович_PROPN", - "карл_PROPN_карлович_PROPN", - "карл_PROPN_крамер_PROPN", - "карл_PROPN_маркс_PROPN", - "карман_NOUN_блокнот_NOUN", - "карман_NOUN_брюк_NOUN", - "карман_NOUN_бумажник_NOUN", - "карман_NOUN_гимнастёрка_NOUN", - "карман_NOUN_горсть_NOUN", - "карман_NOUN_джинсов_NOUN", - "карман_NOUN_записной_ADJ", - "карман_NOUN_кошелёк_NOUN", - "карман_NOUN_куртка_NOUN", - "карман_NOUN_носовой_ADJ", - "карман_NOUN_пальто_NOUN", - "карман_NOUN_пачка_NOUN", - "карман_NOUN_перочинный_ADJ", - "карман_NOUN_пиджак_NOUN", - "карман_NOUN_револьвер_NOUN", - "карман_NOUN_штанов_NOUN", - "карманный_ADJ_деньга_NOUN", - "карманный_ADJ_расход_NOUN", - "карманный_ADJ_фонарик_NOUN", - "карманный_ADJ_фонарь_NOUN", - "карманный_ADJ_час_NOUN", - "каролина_PROPN_дезорм_PROPN", - "каролина_PROPN_львович_PROPN", - "карский_ADJ_море_NOUN", - "карта_NOUN_таро_PROPN", - "картина_NOUN_изображать_VERB", - "картина_NOUN_разрушение_NOUN", - "картинный_ADJ_галерея_NOUN", - "картонный_ADJ_коробка_NOUN", - "картонный_ADJ_папка_NOUN", - "картонный_ADJ_ящик_NOUN", - "картофельный_ADJ_ботва_NOUN", - "картофельный_ADJ_поле_NOUN", - "картофельный_ADJ_пюре_NOUN", - "карточный_ADJ_домик_NOUN", - "карточный_ADJ_игра_NOUN", - "карточный_ADJ_стол_NOUN", - "картошка_NOUN_чистить_VERB", - "касаться_VERB_лично_ADV", - "каспийский_ADJ_море_NOUN", - "касторовый_ADJ_масло_NOUN", - "кататься_VERB_верхом_ADV", - "категорически_ADV_запретить_VERB", - "категорически_ADV_заявить_VERB", - "категорически_ADV_отказаться_VERB", - "категорически_ADV_отказываться_VERB", - "катерина_PROPN_александрович_PROPN", - "катерина_PROPN_ильич_PROPN", - "катерина_PROPN_константинович_PROPN", - "катина_PROPN_мама_NOUN", - "катись_VERB_отсюда_ADV", - "катиться_VERB_вниз_ADV", - "катиться_VERB_слеза_NOUN", - "католический_ADJ_священник_NOUN", - "католический_ADJ_церковь_NOUN", - "каторжный_ADJ_работа_NOUN", - "катын_PROPN_су_PROPN", - "катькиной_ADJ_дача_NOUN", - "катя_PROPN_звездочётова_PROPN", - "катя_PROPN_звездочётовой_PROPN", - "катя_PROPN_михайлов_PROPN", - "кафедральный_ADJ_собор_NOUN", - "кафельный_ADJ_пол_NOUN", - "кахобер_PROPN_иванович_PROPN", - "качать_VERB_голова_NOUN", - "качество_NOUN_проводник_NOUN", - "качество_NOUN_свидетель_NOUN", - "качнуть_VERB_голова_NOUN", - "качнуться_VERB_вперёд_ADV", - "каша_NOUN_варить_VERB", - "каштановый_ADJ_волос_NOUN", - "каштановый_ADJ_дерево_NOUN", - "кают_NOUN_компания_NOUN", - "квадратный_ADJ_километр_NOUN", - "квадратный_ADJ_метр_NOUN", - "квадратный_ADJ_миля_NOUN", - "квадратный_ADJ_отверстие_NOUN", - "квадратный_ADJ_подбородок_NOUN", - "квадратный_ADJ_сантиметр_NOUN", - "квадратный_ADJ_уравнение_NOUN", - "квадратный_ADJ_фут_NOUN", - "кваканье_NOUN_лягушка_NOUN", - "квартирный_ADJ_кража_NOUN", - "квартирный_ADJ_хозяйка_NOUN", - "квашеный_ADJ_капуста_NOUN", - "кедровый_ADJ_орех_NOUN", - "кедровый_ADJ_шишка_NOUN", - "керосиновый_ADJ_лампа_NOUN", - "кивать_VERB_голова_NOUN", - "кивнуть_VERB_голова_NOUN", - "кивнуть_VERB_головою_PROPN", - "кивок_NOUN_голова_NOUN", - "километр_NOUN_отсюда_ADV", - "ким_PROPN_сон_PROPN", - "кими_PROPN_тян_PROPN", - "кин_PROPN_хай_PROPN", - "кингстон_PROPN_литтль_PROPN", - "кино_NOUN_снимать_VERB", - "кино_NOUN_сходить_VERB", - "кинуть_VERB_взгляд_NOUN", - "кинуться_VERB_вслед_ADV", - "кинуться_VERB_навстречу_ADV", - "кинуться_VERB_прочь_ADV", - "кинуться_VERB_следом_ADV", - "кипеть_VERB_вода_NOUN", - "кипеть_VERB_котёл_NOUN", - "кипеть_VERB_работа_NOUN", - "кипеть_VERB_самовар_NOUN", - "кипяченой_VERB_вода_NOUN", - "кипячёный_ADJ_вода_NOUN", - "кира_PROPN_викторович_PROPN", - "кира_PROPN_сергеевич_PROPN", - "кирзовый_ADJ_сапог_NOUN", - "кирилл_PROPN_кириллович_PROPN", - "кирилл_PROPN_леонидович_PROPN", - "кирилл_PROPN_юриевич_PROPN", - "кирпичный_ADJ_дом_NOUN", - "кирпичный_ADJ_завод_NOUN", - "кирпичный_ADJ_здание_NOUN", - "кирпичный_ADJ_кладка_NOUN", - "кирпичный_ADJ_стена_NOUN", - "кирпичный_ADJ_труба_NOUN", - "кирпичный_ADJ_цвет_NOUN", - "кис_NOUN_кис_PROPN", - "кис_PROPN_кис_PROPN", - "кислородный_ADJ_баллон_NOUN", - "кислородный_ADJ_маска_NOUN", - "кислый_ADJ_капуста_NOUN", - "кислый_ADJ_молоко_NOUN", - "кисть_NOUN_рука_NOUN", - "кит_PROPN_китыч_PROPN", - "китайский_ADJ_ваза_NOUN", - "китайский_ADJ_император_NOUN", - "китайский_ADJ_язык_NOUN", - "китобойный_ADJ_судно_NOUN", - "китовый_ADJ_жир_NOUN", - "китовый_ADJ_ус_NOUN", - "китоловный_ADJ_судно_NOUN", - "кичиться_VERB_свой_DET", - "кишмя_NOUN_кишеть_VERB", - "клавдий_PROPN_петрович_PROPN", - "клавдия_PROPN_василиевич_PROPN", - "клавдия_PROPN_иванович_PROPN", - "клавдия_PROPN_львович_PROPN", - "клавдия_PROPN_михаилович_PROPN", - "клавдия_PROPN_петрович_PROPN", - "клавдия_PROPN_сергеевич_PROPN", - "клад_NOUN_искать_VERB", - "клад_NOUN_найти_VERB", - "кладбищенский_ADJ_ограда_NOUN", - "клара_PROPN_сергеевич_PROPN", - "класс_NOUN_б_NOUN", - "классический_ADJ_музыка_NOUN", - "классический_ADJ_стиль_NOUN", - "классный_ADJ_дама_NOUN", - "классный_ADJ_доска_NOUN", - "классный_ADJ_журнал_NOUN", - "классный_ADJ_наставник_NOUN", - "классный_ADJ_руководитель_NOUN", - "классный_ADJ_руководительница_NOUN", - "классный_ADJ_собрание_NOUN", - "классный_ADJ_старшина_NOUN", - "классный_ADJ_час_NOUN", - "классовый_ADJ_борьба_NOUN", - "класть_VERB_трубка_NOUN", - "класть_VERB_яйцо_NOUN", - "клевать_VERB_нос_NOUN", - "кленовый_ADJ_лист_NOUN", - "клеопатра_PROPN_михаилович_PROPN", - "клер_NOUN_де_PROPN", - "клер_PROPN_де_PROPN", - "клетчатый_ADJ_кепка_NOUN", - "клетчатый_ADJ_пиджак_NOUN", - "клетчатый_ADJ_платок_NOUN", - "клетчатый_ADJ_рубаха_NOUN", - "клетчатый_ADJ_рубашка_NOUN", - "клеёнчатый_ADJ_диван_NOUN", - "клик_NOUN_кляк_NOUN", - "клодия_PROPN_варни_PROPN", - "клок_NOUN_волос_NOUN", - "клок_NOUN_шерсть_NOUN", - "клониться_VERB_к_ADP", - "клочок_NOUN_бумага_NOUN", - "клочок_NOUN_бумажка_NOUN", - "клочок_NOUN_земля_NOUN", - "клуб_NOUN_дым_NOUN", - "клуб_NOUN_пара_NOUN", - "клуб_NOUN_пыль_NOUN", - "клубиться_VERB_над_ADP", - "клубиться_VERB_облако_NOUN", - "клубничный_ADJ_варение_NOUN", - "клубок_NOUN_нитка_NOUN", - "клюнуть_VERB_нос_NOUN", - "ключ_NOUN_отпереть_VERB", - "ключевой_ADJ_вода_NOUN", - "клянусь_PROPN_бог_PROPN", - "клянусь_PROPN_святой_ADJ", - "клясться_VERB_бог_PROPN", - "клясться_VERB_вам_PRON", - "клясться_VERB_святой_ADJ", - "клясться_VERB_честь_NOUN", - "клятва_NOUN_которую_PRON", - "клятой_ADJ_шахта_NOUN", - "км_NOUN_ч_NOUN", - "книга_NOUN_житков_PROPN", - "книга_NOUN_сибиряк_NOUN", - "книга_NOUN_торн_PROPN", - "книжка_NOUN_почитать_VERB", - "книжка_NOUN_читать_VERB", - "книжный_ADJ_лавка_NOUN", - "книжный_ADJ_магазин_NOUN", - "книжный_ADJ_полка_NOUN", - "книжный_ADJ_полок_NOUN", - "книжный_ADJ_шкаф_NOUN", - "кнопка_NOUN_звонок_NOUN", - "княжий_ADJ_двор_NOUN", - "княжий_ADJ_отрок_NOUN", - "княжна_NOUN_нина_PROPN", - "князь_NOUN_адам_PROPN", - "князь_NOUN_александр_PROPN", - "князь_NOUN_андрей_PROPN", - "князь_NOUN_андро_PROPN", - "князь_NOUN_василий_PROPN", - "князь_NOUN_владимир_PROPN", - "князь_NOUN_гарин_PROPN", - "князь_NOUN_георгий_PROPN", - "князь_NOUN_голенищев_PROPN", - "князь_NOUN_голицын_PROPN", - "князь_NOUN_дмитрий_PROPN", - "князь_NOUN_игорь_PROPN", - "князь_NOUN_кашидзе_PROPN", - "князь_NOUN_константин_PROPN", - "князь_NOUN_михайло_PROPN", - "князь_NOUN_монте_PROPN", - "князь_NOUN_павле_PROPN", - "князь_NOUN_семён_PROPN", - "князь_NOUN_юрий_PROPN", - "князь_NOUN_ярослав_PROPN", - "кобура_NOUN_пистолет_NOUN", - "кобура_NOUN_револьвер_NOUN", - "коварный_ADJ_враг_NOUN", - "коварный_ADJ_замысел_NOUN", - "коварный_ADJ_план_NOUN", - "ковать_VERB_железо_NOUN", - "коверкать_VERB_слово_NOUN", - "ковров_PROPN_водкина_PROPN", - "коврова_PROPN_водкина_PROPN", - "ковровой_PROPN_водкиной_PROPN", - "ковровый_ADJ_водкиной_PROPN", - "ковровый_ADJ_дорожка_NOUN", - "ковёр_NOUN_самолёт_NOUN", - "когда_ADV_либо_ADV", - "когда_ADV_нибудь_ADV", - "когда_ADV_то_ADV", - "когда_SCONJ_рассвести_VERB", - "когда_SCONJ_стемнеть_VERB", - "когтистый_ADJ_лапа_NOUN", - "кодовый_ADJ_замок_NOUN", - "кое_ADJ_какой_DET", - "кое_DET_где_ADV", - "кое_DET_какой_DET", - "кое_NOUN_где_ADV", - "кое_NOUN_как_NOUN", - "кое_NOUN_что_ADV", - "кое_NOUN_что_NOUN", - "кое_NOUN_что_PRON", - "кое_PRON_где_ADV", - "кое_PRON_как_ADV", - "кое_PRON_кому_ADV", - "кое_PRON_кто_PRON", - "кое_PRON_что_ADV", - "кое_PRON_что_NOUN", - "кожа_NOUN_вон_ADV", - "кожа_NOUN_лезть_VERB", - "кожаный_ADJ_диван_NOUN", - "кожаный_ADJ_кошелёк_NOUN", - "кожаный_ADJ_кресло_NOUN", - "кожаный_ADJ_куртка_NOUN", - "кожаный_ADJ_мешок_NOUN", - "кожаный_ADJ_мешочек_NOUN", - "кожаный_ADJ_пальто_NOUN", - "кожаный_ADJ_папка_NOUN", - "кожаный_ADJ_переплёт_NOUN", - "кожаный_ADJ_перчатка_NOUN", - "кожаный_ADJ_пояс_NOUN", - "кожаный_ADJ_ремень_NOUN", - "кожаный_ADJ_ремешок_NOUN", - "кожаный_ADJ_сапог_NOUN", - "кожаный_ADJ_сумка_NOUN", - "кожаный_ADJ_фартук_NOUN", - "кожаный_ADJ_футляр_NOUN", - "кожаный_ADJ_чемодан_NOUN", - "кожаный_ADJ_чехол_NOUN", - "кожаный_ADJ_чулок_PROPN", - "кожаный_ADJ_шлем_NOUN", - "кожевенный_ADJ_завод_NOUN", - "козий_ADJ_молоко_NOUN", - "козий_ADJ_ножка_NOUN", - "козий_ADJ_шкура_NOUN", - "козлах_NOUN_сидеть_VERB", - "козлиный_ADJ_бородка_NOUN", - "козёл_NOUN_отпущение_NOUN", - "кой_ADJ_какой_DET", - "кой_ADJ_чёрт_NOUN", - "кой_ADV_как_ADV", - "кой_DET_случай_NOUN", - "кой_DET_то_DET", - "кока_NOUN_кола_NOUN", - "кокосовый_ADJ_орех_NOUN", - "кокосовый_ADJ_пальма_NOUN", - "колбасный_ADJ_палочка_NOUN", - "колдовать_VERB_над_ADP", - "колдовской_ADJ_сила_NOUN", - "колебаться_VERB_свет_NOUN", - "колено_NOUN_подле_NOUN", - "колесить_VERB_по_ADP", - "колесо_NOUN_обозрение_NOUN", - "колода_NOUN_карта_NOUN", - "колодезный_ADJ_вода_NOUN", - "колокол_NOUN_звонить_VERB", - "колокольный_ADJ_звон_NOUN", - "колонна_NOUN_давление_NOUN", - "колоссальный_ADJ_размер_NOUN", - "колотить_VERB_кулак_NOUN", - "колотиться_VERB_сердце_NOUN", - "колоть_VERB_дрова_NOUN", - "колхозный_ADJ_поле_NOUN", - "колчан_NOUN_со_ADP", - "колыбельный_ADJ_песня_NOUN", - "коль_ADV_скоро_ADV", - "кольцо_NOUN_сатурн_PROPN", - "колючий_ADJ_ветка_NOUN", - "колючий_ADJ_куст_NOUN", - "колючий_ADJ_кустарник_NOUN", - "колючий_ADJ_проволока_NOUN", - "колючий_ADJ_снег_NOUN", - "коля_PROPN_бэс_PROPN", - "коля_PROPN_дуб_PROPN", - "коля_PROPN_ежов_PROPN", - "коля_PROPN_одинцов_PROPN", - "коля_PROPN_смирнов_PROPN", - "команда_NOUN_отчаянный_ADJ", - "команда_NOUN_смирно_ADV", - "команда_PROPN_отчаянный_ADJ", - "командир_NOUN_батальон_NOUN", - "командир_NOUN_батарея_NOUN", - "командир_NOUN_бригада_NOUN", - "командир_NOUN_взвод_NOUN", - "командир_NOUN_дивизия_NOUN", - "командир_NOUN_звездолёт_NOUN", - "командир_NOUN_корабль_NOUN", - "командир_NOUN_отделение_NOUN", - "командир_NOUN_отряд_NOUN", - "командир_NOUN_полок_NOUN", - "командир_NOUN_рота_NOUN", - "командир_NOUN_эскадрилья_NOUN", - "командирский_ADJ_голос_NOUN", - "командный_ADJ_пункт_NOUN", - "командный_ADJ_состав_NOUN", - "командовать_VERB_ими_PRON", - "комендант_NOUN_крепость_NOUN", - "комендантский_ADJ_час_NOUN", - "комиссионный_ADJ_магазин_NOUN", - "комитет_NOUN_комсомол_NOUN", - "коммерция_NOUN_советник_NOUN", - "коммерческий_ADJ_судно_NOUN", - "коммунальный_ADJ_квартира_NOUN", - "коммунистический_ADJ_воспитание_NOUN", - "коммунистический_ADJ_общество_NOUN", - "коммунистический_ADJ_партия_NOUN", - "комната_NOUN_вбежать_VERB", - "комната_NOUN_войти_VERB", - "комната_NOUN_ворваться_VERB", - "комнатный_ADJ_растение_NOUN", - "комнатный_ADJ_температура_NOUN", - "комок_NOUN_глина_NOUN", - "компакт_NOUN_диск_NOUN", - "компания_PROPN_с_ADP", - "комплекс_NOUN_упражнение_NOUN", - "компьютерный_ADJ_игра_NOUN", - "комсомольский_ADJ_билет_NOUN", - "комсомольский_ADJ_значок_NOUN", - "комсомольский_ADJ_организация_NOUN", - "комсомольский_ADJ_правда_NOUN", - "комсомольский_ADJ_собрание_NOUN", - "комсомольский_ADJ_штаб_NOUN", - "комсомольский_ADJ_ячейка_NOUN", - "комья_NOUN_земля_NOUN", - "кон_PROPN_и_PROPN", - "кондитерский_ADJ_фабрика_NOUN", - "конец_NOUN_xix_ADJ", - "конец_NOUN_xviii_ADJ", - "конец_NOUN_август_NOUN", - "конец_NOUN_апрель_NOUN", - "конец_NOUN_верёвка_NOUN", - "конец_NOUN_девятнадцатый_ADJ", - "конец_NOUN_июль_NOUN", - "конец_NOUN_июнь_NOUN", - "конец_NOUN_конец_NOUN", - "конец_NOUN_концов_NOUN", - "конец_NOUN_коридор_NOUN", - "конец_NOUN_май_NOUN", - "конец_NOUN_март_NOUN", - "конец_NOUN_ноябрь_NOUN", - "конец_NOUN_октябрь_NOUN", - "конец_NOUN_провод_NOUN", - "конец_NOUN_сентябрь_NOUN", - "конец_NOUN_учебный_ADJ", - "конец_NOUN_февраль_NOUN", - "конец_NOUN_четверть_NOUN", - "конечный_ADJ_итог_NOUN", - "конечный_ADJ_остановка_NOUN", - "конечный_ADJ_пункт_NOUN", - "конечный_ADJ_цель_NOUN", - "конкурс_NOUN_красота_NOUN", - "конный_ADJ_двор_NOUN", - "конный_ADJ_отряд_NOUN", - "консервный_ADJ_банк_NOUN", - "консервный_ADJ_банка_NOUN", - "консервный_ADJ_завод_NOUN", - "конский_ADJ_волос_NOUN", - "конский_ADJ_голова_PROPN", - "конский_ADJ_навоз_NOUN", - "конский_ADJ_топот_NOUN", - "конский_ADJ_хвост_NOUN", - "константин_PROPN_василиевич_PROPN", - "константин_PROPN_дмитриевич_PROPN", - "константин_PROPN_евгениевич_PROPN", - "константин_PROPN_егорович_PROPN", - "константин_PROPN_константинович_PROPN", - "константин_PROPN_леонидович_PROPN", - "константин_PROPN_михаилович_PROPN", - "константин_PROPN_петрович_PROPN", - "константин_PROPN_семёнович_PROPN", - "константин_PROPN_сергеевич_PROPN", - "константин_PROPN_юриевич_PROPN", - "конструкторский_ADJ_бюро_NOUN", - "контактный_ADJ_линза_NOUN", - "конторский_ADJ_книга_NOUN", - "контр_NOUN_адмирал_NOUN", - "контраст_NOUN_между_ADP", - "контроль_NOUN_над_ADP", - "контрольный_ADJ_пункт_NOUN", - "контрольный_ADJ_работа_NOUN", - "контурный_ADJ_карандаш_NOUN", - "конфликт_NOUN_между_ADP", - "концертный_ADJ_зал_NOUN", - "кончик_NOUN_нож_NOUN", - "кончик_NOUN_нос_NOUN", - "кончик_NOUN_палец_NOUN", - "кончик_NOUN_хвост_NOUN", - "кончик_NOUN_язык_NOUN", - "кончилось_VERB_тем_PRON", - "кончить_VERB_курс_NOUN", - "кончиться_VERB_благополучно_ADV", - "конёк_NOUN_горбунок_NOUN", - "конёк_NOUN_крыша_NOUN", - "копать_VERB_земля_NOUN", - "копать_VERB_яма_NOUN", - "копить_VERB_деньга_NOUN", - "копна_NOUN_сено_NOUN", - "копчёный_ADJ_колбаса_NOUN", - "копыто_NOUN_лошадь_NOUN", - "кора_NOUN_дерево_NOUN", - "корабельный_ADJ_журнал_NOUN", - "корабельный_ADJ_мачта_NOUN", - "коралловый_ADJ_остров_NOUN", - "коралловый_ADJ_риф_NOUN", - "коренастый_ADJ_фигура_NOUN", - "коренной_ADJ_житель_NOUN", - "коренной_ADJ_зуб_NOUN", - "коренной_ADJ_образ_NOUN", - "корень_NOUN_волос_NOUN", - "корень_NOUN_дерево_NOUN", - "корень_NOUN_растение_NOUN", - "корень_NOUN_сосна_NOUN", - "коридор_NOUN_послышаться_VERB", - "корить_VERB_себя_PRON", - "коричневый_ADJ_кожа_NOUN", - "коричневый_ADJ_кожаный_ADJ", - "коричневый_ADJ_краска_NOUN", - "коричневый_ADJ_платье_NOUN", - "коричневый_ADJ_пятно_NOUN", - "коричневый_ADJ_цвет_NOUN", - "корка_NOUN_хлеб_NOUN", - "корма_NOUN_судно_NOUN", - "корми_NOUN_дать_VERB", - "кормить_VERB_поить_VERB", - "кормовой_ADJ_весло_NOUN", - "кормовой_ADJ_флаг_NOUN", - "кормовой_ADJ_часть_NOUN", - "корнил_PROPN_демьянович_PROPN", - "коробка_NOUN_конфета_NOUN", - "коробка_NOUN_спичка_NOUN", - "коробок_NOUN_спичка_NOUN", - "корова_NOUN_доить_VERB", - "корова_NOUN_мычать_VERB", - "королева_NOUN_виктория_PROPN", - "королева_NOUN_екатерина_PROPN", - "королева_NOUN_елизавета_PROPN", - "королева_NOUN_жанна_PROPN", - "королева_NOUN_изабелла_PROPN", - "королева_NOUN_май_NOUN", - "королева_NOUN_мать_NOUN", - "королева_NOUN_мышь_NOUN", - "королева_NOUN_фея_NOUN", - "королевский_ADJ_армия_NOUN", - "королевский_ADJ_величество_NOUN", - "королевский_ADJ_власть_NOUN", - "королевский_ADJ_войско_NOUN", - "королевский_ADJ_высочество_NOUN", - "королевский_ADJ_гвардия_NOUN", - "королевский_ADJ_дворец_NOUN", - "королевский_ADJ_дочь_NOUN", - "королевский_ADJ_замок_NOUN", - "королевский_ADJ_площадь_NOUN", - "королевский_ADJ_прокурор_NOUN", - "королевский_ADJ_указ_NOUN", - "королевский_ADJ_флот_NOUN", - "королевский_ADJ_чета_NOUN", - "король_NOUN_англия_PROPN", - "король_NOUN_артур_PROPN", - "король_NOUN_генрих_PROPN", - "король_NOUN_георг_PROPN", - "король_NOUN_иоанн_PROPN", - "король_NOUN_карл_PROPN", - "король_NOUN_косарь_PROPN", - "король_NOUN_людовик_PROPN", - "король_NOUN_ричард_PROPN", - "король_NOUN_сигизмунд_PROPN", - "король_NOUN_фердинанд_PROPN", - "король_NOUN_франция_PROPN", - "коротать_VERB_время_NOUN", - "коротенький_ADJ_ножка_NOUN", - "короткий_ADJ_гудок_NOUN", - "короткий_ADJ_замыкание_NOUN", - "короткий_ADJ_молчание_NOUN", - "короткий_ADJ_остановка_NOUN", - "короткий_ADJ_отрывистый_ADJ", - "короткий_ADJ_пауза_NOUN", - "короткий_ADJ_перебежками_NOUN", - "короткий_ADJ_перерыв_NOUN", - "короткий_ADJ_промежуток_NOUN", - "короткий_ADJ_раздумье_NOUN", - "короткий_ADJ_рукав_NOUN", - "короткий_ADJ_совещание_NOUN", - "короткий_ADJ_срок_NOUN", - "короткий_ADJ_стрижка_NOUN", - "короткий_ADJ_фраза_NOUN", - "короткий_ADJ_штанах_NOUN", - "короткий_ADJ_штаны_NOUN", - "короткий_ADJ_юбка_NOUN", - "коротко_ADV_бросить_VERB", - "коротко_ADV_кивнуть_VERB", - "коротко_ADV_остричь_VERB", - "коротко_ADV_ответить_VERB", - "коротко_ADV_подстричь_VERB", - "коротко_ADV_приказать_VERB", - "коротко_ADV_рассказать_VERB", - "коротко_ADV_стриженной_VERB", - "коротко_ADV_стриженный_VERB", - "короче_ADV_говорить_VERB", - "корочка_NOUN_хлеб_NOUN", - "корпеть_VERB_над_ADP", - "корпус_NOUN_корабль_NOUN", - "корпус_NOUN_судно_NOUN", - "корреспондент_NOUN_газета_NOUN", - "корсар_NOUN_триплекс_PROPN", - "корточках_NOUN_возле_ADP", - "корточках_NOUN_перед_ADP", - "корчить_VERB_рожа_NOUN", - "корчиться_VERB_от_ADP", - "корыстный_ADJ_цель_NOUN", - "корявый_ADJ_палец_NOUN", - "косить_VERB_глаз_NOUN", - "косить_VERB_трава_NOUN", - "косматый_ADJ_бровь_NOUN", - "косметический_ADJ_средство_NOUN", - "космический_ADJ_городок_NOUN", - "космический_ADJ_корабль_NOUN", - "космический_ADJ_луч_NOUN", - "космический_ADJ_пират_NOUN", - "космический_ADJ_полёт_NOUN", - "космический_ADJ_пришелец_NOUN", - "космический_ADJ_пространство_NOUN", - "космический_ADJ_путешественник_NOUN", - "космический_ADJ_пыль_NOUN", - "космический_ADJ_ракета_NOUN", - "космический_ADJ_рейс_NOUN", - "космический_ADJ_скафандр_NOUN", - "космический_ADJ_скорость_NOUN", - "космический_ADJ_тело_NOUN", - "коснуться_VERB_губа_NOUN", - "коснуться_VERB_земля_NOUN", - "косой_ADJ_взгляд_NOUN", - "косой_ADJ_луч_NOUN", - "косой_ADJ_парус_NOUN", - "косой_ADJ_сажень_NOUN", - "костик_PROPN_шибай_PROPN", - "костин_PROPN_кок_PROPN", - "костлявый_ADJ_палец_NOUN", - "костлявый_ADJ_рука_NOUN", - "костный_ADJ_мозг_NOUN", - "костя_PROPN_беленький_PROPN", - "костя_PROPN_малинин_PROPN", - "костя_PROPN_шибай_PROPN", - "костяной_ADJ_нога_NOUN", - "костяшка_NOUN_палец_NOUN", - "костёр_NOUN_жечь_VERB", - "костёр_NOUN_погаснуть_VERB", - "костёр_NOUN_пылать_VERB", - "костёр_NOUN_развести_VERB", - "костёр_NOUN_разложить_VERB", - "кося_VERB_глаз_NOUN", - "косяк_NOUN_дверь_NOUN", - "кот_NOUN_базилио_PROPN", - "кот_NOUN_васька_PROPN", - "кот_NOUN_гарольд_PROPN", - "кот_NOUN_матроскин_PROPN", - "кот_NOUN_наплакал_ADJ", - "кот_NOUN_тимофей_PROPN", - "котельников_PROPN_старший_PROPN", - "которая_PRON_называться_VERB", - "которая_PRON_отделять_VERB", - "которого_PRON_торчать_VERB", - "которое_PRON_называться_VERB", - "которой_PRON_подвергаться_VERB", - "которой_PRON_торчать_VERB", - "котором_PRON_говориться_VERB", - "котором_PRON_красоваться_VERB", - "котором_PRON_отражаться_VERB", - "котором_PRON_помещаться_VERB", - "котором_PRON_слышаться_VERB", - "котором_PRON_храниться_VERB", - "которому_PRON_надоесть_VERB", - "которому_PRON_поручить_VERB", - "которому_PRON_предстоять_VERB", - "которому_PRON_принадлежать_VERB", - "которому_PRON_сужденный_ADJ", - "которые_PRON_то_PART", - "который_ADJ_час_NOUN", - "которым_PRON_командовать_VERB", - "которым_PRON_подвергаться_VERB", - "которыми_PRON_пользоваться_VERB", - "которых_PRON_отражаться_VERB", - "которых_PRON_состоять_VERB", - "кофе_NOUN_пить_VERB", - "кофейный_ADJ_гуща_NOUN", - "кочан_NOUN_капуста_NOUN", - "кочевой_ADJ_жизнь_NOUN", - "кошачий_ADJ_зуб_PROPN", - "кошевой_ADJ_атаман_NOUN", - "кошка_NOUN_мышка_NOUN", - "кошка_NOUN_скрести_VERB", - "кошмарный_ADJ_сон_NOUN", - "кощей_PROPN_бессмертный_ADJ", - "кощей_PROPN_бессмертный_PROPN", - "краденый_ADJ_вещь_NOUN", - "краеведческий_ADJ_музей_NOUN", - "краем_VERB_глаз_NOUN", - "краешек_NOUN_стул_NOUN", - "край_NOUN_бассейн_NOUN", - "край_NOUN_бездна_NOUN", - "край_NOUN_болото_NOUN", - "край_NOUN_ванна_NOUN", - "край_NOUN_гибель_NOUN", - "край_NOUN_колодец_NOUN", - "край_NOUN_обрыв_NOUN", - "край_NOUN_овраг_NOUN", - "край_NOUN_платформа_NOUN", - "край_NOUN_площадка_NOUN", - "край_NOUN_поляна_NOUN", - "край_NOUN_пропасть_NOUN", - "край_NOUN_ров_NOUN", - "край_NOUN_торн_PROPN", - "край_NOUN_тротуар_NOUN", - "край_NOUN_утёс_NOUN", - "край_NOUN_яма_NOUN", - "крайне_ADV_важный_ADJ", - "крайне_ADV_необходимый_ADJ", - "крайне_ADV_неприятный_ADJ", - "крайне_ADV_опасный_ADJ", - "крайне_ADV_редко_ADV", - "крайне_ADV_удивить_VERB", - "крайне_ADV_удивлённый_ADJ", - "крайний_ADJ_возбуждение_NOUN", - "крайний_ADJ_изба_NOUN", - "крайний_ADJ_изумление_NOUN", - "крайний_ADJ_мера_NOUN", - "крайний_ADJ_необходимость_NOUN", - "крайний_ADJ_нужда_NOUN", - "крайний_ADJ_осторожность_NOUN", - "крайний_ADJ_предел_NOUN", - "крайний_ADJ_север_PROPN", - "крайний_ADJ_случай_NOUN", - "крайний_ADJ_степень_NOUN", - "красавица_NOUN_королевна_NOUN", - "красавица_NOUN_писаный_ADJ", - "красавчик_PROPN_смит_PROPN", - "красивый_ADJ_личико_NOUN", - "красивый_ADJ_почерк_NOUN", - "красить_VERB_губа_NOUN", - "краска_NOUN_залить_VERB", - "краска_NOUN_стыд_NOUN", - "красно_ADJ_белый_ADJ", - "красно_ADJ_бурый_ADJ", - "красно_ADJ_жёлтый_ADJ", - "красно_ADJ_синий_ADJ", - "красноватый_ADJ_отблеск_NOUN", - "красноватый_ADJ_оттенок_NOUN", - "красноватый_ADJ_свет_NOUN", - "краснокожий_ADJ_брат_NOUN", - "краснокожий_ADJ_воин_NOUN", - "красноречивый_ADJ_взгляд_NOUN", - "красноречивый_ADV_говорить_VERB", - "красный_ADJ_армия_PROPN", - "красный_ADJ_бант_NOUN", - "красный_ADJ_бархат_NOUN", - "красный_ADJ_бархатный_ADJ", - "красный_ADJ_вино_NOUN", - "красный_ADJ_волк_PROPN", - "красный_ADJ_галстук_NOUN", - "красный_ADJ_гвардия_NOUN", - "красный_ADJ_гор_PROPN", - "красный_ADJ_гора_PROPN", - "красный_ADJ_девица_NOUN", - "красный_ADJ_журавль_PROPN", - "красный_ADJ_зарево_NOUN", - "красный_ADJ_звезда_NOUN", - "красный_ADJ_звёздочка_NOUN", - "красный_ADJ_знамя_NOUN", - "красный_ADJ_знамя_PROPN", - "красный_ADJ_кабачок_NOUN", - "красный_ADJ_капитан_PROPN", - "красный_ADJ_карандаш_NOUN", - "красный_ADJ_кедр_PROPN", - "красный_ADJ_кирпич_NOUN", - "красный_ADJ_кирпичный_ADJ", - "красный_ADJ_колпачок_PROPN", - "красный_ADJ_крест_NOUN", - "красный_ADJ_крест_PROPN", - "красный_ADJ_крестами_NOUN", - "красный_ADJ_крыльев_PROPN", - "красный_ADJ_крылья_PROPN", - "красный_ADJ_лампочка_NOUN", - "красный_ADJ_лента_NOUN", - "красный_ADJ_ленточка_NOUN", - "красный_ADJ_материя_NOUN", - "красный_ADJ_медь_NOUN", - "красный_ADJ_монах_PROPN", - "красный_ADJ_мундир_NOUN", - "красный_ADJ_нож_PROPN", - "красный_ADJ_облако_PROPN", - "красный_ADJ_огонёк_NOUN", - "красный_ADJ_отблеск_NOUN", - "красный_ADJ_перец_NOUN", - "красный_ADJ_площадь_NOUN", - "красный_ADJ_повязка_NOUN", - "красный_ADJ_полоска_NOUN", - "красный_ADJ_полотнище_NOUN", - "красный_ADJ_поляна_PROPN", - "красный_ADJ_пончо_NOUN", - "красный_ADJ_пятно_NOUN", - "красный_ADJ_роза_NOUN", - "красный_ADJ_рубаха_NOUN", - "красный_ADJ_рука_PROPN", - "красный_ADJ_сафьяновый_ADJ", - "красный_ADJ_смородина_NOUN", - "красный_ADJ_солнышко_NOUN", - "красный_ADJ_сукно_NOUN", - "красный_ADJ_сукном_NOUN", - "красный_ADJ_уголок_NOUN", - "красный_ADJ_флаг_NOUN", - "красный_ADJ_флажок_NOUN", - "красный_ADJ_цвет_NOUN", - "красный_ADJ_цветок_PROPN", - "красный_ADJ_черепичный_ADJ", - "красный_ADJ_чернилами_NOUN", - "красный_ADJ_шапочка_NOUN", - "красный_ADJ_шапочка_PROPN", - "красный_ADJ_шарф_NOUN", - "красный_ADJ_шёлк_NOUN", - "красный_ADJ_шёлковый_ADJ", - "красоваться_VERB_надпись_NOUN", - "красота_NOUN_природа_NOUN", - "красться_VERB_шаг_NOUN", - "кратер_NOUN_вулкан_NOUN", - "краткий_ADJ_путь_NOUN", - "краткий_ADJ_срок_NOUN", - "кратко_ADV_ответить_VERB", - "крашеный_ADJ_пол_NOUN", - "краюха_NOUN_хлеб_NOUN", - "краюшка_NOUN_хлеб_NOUN", - "кредитный_ADJ_билет_NOUN", - "кремлёвский_ADJ_башня_NOUN", - "кремлёвский_ADJ_стена_NOUN", - "крепкий_ADJ_верёвка_NOUN", - "крепкий_ADJ_клюв_NOUN", - "крепкий_ADJ_кофе_NOUN", - "крепкий_ADJ_напиток_NOUN", - "крепкий_ADJ_нерв_NOUN", - "крепкий_ADJ_объятие_NOUN", - "крепкий_ADJ_орешек_NOUN", - "крепкий_ADJ_рукопожатие_NOUN", - "крепкий_ADJ_сложение_NOUN", - "крепкий_ADJ_сон_NOUN", - "крепкий_ADJ_телосложение_NOUN", - "крепкий_ADJ_чай_NOUN", - "крепкий_ADV_прижать_VERB", - "крепкий_ADV_сжать_VERB", - "крепкий_ADV_сжимать_VERB", - "крепко_ADV_вцепиться_VERB", - "крепко_ADV_выругаться_VERB", - "крепко_ADV_держать_VERB", - "крепко_ADV_держаться_VERB", - "крепко_ADV_жать_VERB", - "крепко_ADV_завязать_VERB", - "крепко_ADV_зажать_VERB", - "крепко_ADV_зажмуриться_VERB", - "крепко_ADV_запереть_VERB", - "крепко_ADV_засесть_VERB", - "крепко_ADV_заснуть_VERB", - "крепко_ADV_крепко_ADV", - "крепко_ADV_накрепко_ADV", - "крепко_ADV_обнимать_VERB", - "крепко_ADV_обнять_VERB", - "крепко_ADV_обняться_VERB", - "крепко_ADV_обхватить_VERB", - "крепко_ADV_пожать_VERB", - "крепко_ADV_пожимать_VERB", - "крепко_ADV_поцеловать_VERB", - "крепко_ADV_привязать_VERB", - "крепко_ADV_прижать_VERB", - "крепко_ADV_прижаться_VERB", - "крепко_ADV_прижимать_VERB", - "крепко_ADV_связать_VERB", - "крепко_ADV_сжатый_ADJ", - "крепко_ADV_сжать_VERB", - "крепко_ADV_сжимать_VERB", - "крепко_ADV_спать_VERB", - "крепко_ADV_стиснуть_VERB", - "крепко_ADV_схватить_VERB", - "крепко_ADV_уснуть_VERB", - "крепко_ADV_ухватить_VERB", - "крепко_ADV_ухватиться_VERB", - "крепко_ADV_уцепиться_VERB", - "крепостной_ADJ_башня_NOUN", - "крепостной_ADJ_вал_NOUN", - "крепостной_ADJ_крестьянин_NOUN", - "крепостной_ADJ_право_NOUN", - "крепостной_ADJ_стена_NOUN", - "кресло_NOUN_качалка_NOUN", - "крест_NOUN_накрест_NOUN", - "крестный_ADJ_знамение_NOUN", - "крестный_ADJ_мать_NOUN", - "крестный_ADJ_отец_NOUN", - "крестный_ADJ_ход_NOUN", - "крестовый_ADJ_поход_NOUN", - "крестьянский_ADJ_изба_NOUN", - "крестьянский_ADJ_семья_NOUN", - "крестьянский_ADJ_сын_NOUN", - "кривить_VERB_губа_NOUN", - "кривить_VERB_душа_NOUN", - "кривить_VERB_рот_NOUN", - "кривой_ADJ_зеркало_NOUN", - "кривой_ADJ_линия_NOUN", - "кривой_ADJ_нож_NOUN", - "кривой_ADJ_переулок_NOUN", - "кривой_ADJ_початок_PROPN", - "кривой_ADJ_ручка_PROPN", - "кривой_ADJ_сабля_NOUN", - "кривой_ADJ_усмешка_NOUN", - "кривой_ADV_улыбнуться_VERB", - "кривой_ADV_усмехнуться_VERB", - "крик_NOUN_вырваться_VERB", - "крик_NOUN_повториться_VERB", - "крик_NOUN_сова_NOUN", - "крик_NOUN_торжество_NOUN", - "крик_NOUN_ужас_NOUN", - "крик_NOUN_ура_INTJ", - "крик_NOUN_ура_NOUN", - "крик_NOUN_ярость_NOUN", - "крикливый_ADJ_голос_NOUN", - "крикнуть_VERB_вдогонку_NOUN", - "крикнуть_VERB_эй_INTJ", - "крис_PROPN_рок_PROPN", - "критически_ADV_оглядеть_VERB", - "критически_ADV_осмотреть_VERB", - "критический_ADJ_взгляд_NOUN", - "критический_ADJ_минута_NOUN", - "критический_ADJ_момент_NOUN", - "критический_ADJ_положение_NOUN", - "критический_ADJ_ситуация_NOUN", - "кричать_VERB_браво_ADV", - "кричать_VERB_ура_INTJ", - "кричать_VERB_ура_NOUN", - "кроваво_ADJ_красный_ADJ", - "кровавый_ADJ_алекс_PROPN", - "кровавый_ADJ_битва_NOUN", - "кровавый_ADJ_бой_NOUN", - "кровавый_ADJ_драма_NOUN", - "кровавый_ADJ_замок_NOUN", - "кровавый_ADJ_красный_ADJ", - "кровавый_ADJ_пена_NOUN", - "кровавый_ADJ_пятно_NOUN", - "кровавый_ADJ_рана_NOUN", - "кровавый_ADJ_расправа_NOUN", - "кровавый_ADJ_рука_PROPN", - "кровавый_ADJ_след_NOUN", - "кровеносный_ADJ_сосуд_NOUN", - "кровопролитный_ADJ_война_NOUN", - "кровь_NOUN_брызнуть_VERB", - "кровь_NOUN_застынуть_VERB", - "кровь_NOUN_литься_VERB", - "кровь_NOUN_приливать_VERB", - "кровь_NOUN_прилить_VERB", - "кровь_NOUN_пролить_VERB", - "кровь_NOUN_сочиться_VERB", - "кровь_NOUN_стынуть_VERB", - "кровь_NOUN_течь_VERB", - "кровь_NOUN_хлынуть_VERB", - "крокодил_NOUN_гена_PROPN", - "крокодиловый_ADJ_кожа_NOUN", - "кроме_ADP_того_PRON", - "кромешный_ADJ_темнота_NOUN", - "кромешный_ADJ_тьма_NOUN", - "кромка_NOUN_вода_NOUN", - "кромка_NOUN_лес_NOUN", - "крона_NOUN_дерево_NOUN", - "кропотливый_ADJ_работа_NOUN", - "кроткий_ADJ_улыбка_NOUN", - "кротко_ADV_ответить_VERB", - "крошечный_ADJ_комнатка_NOUN", - "крошечный_ADJ_кусочек_NOUN", - "крошечный_ADJ_ручка_NOUN", - "крошка_NOUN_хлеб_NOUN", - "круг_NOUN_царить_VERB", - "кругленький_ADJ_сумма_NOUN", - "круглый_ADJ_башня_NOUN", - "круглый_ADJ_дыра_NOUN", - "круглый_ADJ_дырка_NOUN", - "круглый_ADJ_зала_NOUN", - "круглый_ADJ_луна_NOUN", - "круглый_ADJ_отверстие_NOUN", - "круглый_ADJ_отличник_NOUN", - "круглый_ADJ_отличница_NOUN", - "круглый_ADJ_очки_NOUN", - "круглый_ADJ_очко_NOUN", - "круглый_ADJ_сирота_NOUN", - "круглый_ADJ_столик_NOUN", - "круглый_ADJ_сутки_NOUN", - "круговой_ADJ_движение_NOUN", - "кругосветный_ADJ_гора_NOUN", - "кругосветный_ADJ_плавание_NOUN", - "кругосветный_ADJ_путешествие_NOUN", - "кружевной_ADJ_воротник_NOUN", - "кружевной_ADJ_платочек_NOUN", - "кружить_VERB_вокруг_ADP", - "кружить_VERB_над_ADP", - "кружиться_VERB_вокруг_ADP", - "кружиться_VERB_голова_NOUN", - "кружиться_VERB_над_ADP", - "кружка_NOUN_вино_NOUN", - "кружка_NOUN_молоко_NOUN", - "кружка_NOUN_пиво_NOUN", - "кружка_NOUN_чай_NOUN", - "кружный_ADJ_путь_NOUN", - "круп_NOUN_лошадь_NOUN", - "крупно_ADV_написать_VERB", - "крупно_ADV_повезти_VERB", - "крупнокалиберный_ADJ_пулемёт_NOUN", - "крупный_ADJ_буква_NOUN", - "крупный_ADJ_дичь_NOUN", - "крупный_ADJ_дрожь_NOUN", - "крупный_ADJ_животное_NOUN", - "крупный_ADJ_калибр_NOUN", - "крупный_ADJ_капля_NOUN", - "крупный_ADJ_каплями_NOUN", - "крупный_ADJ_неприятность_NOUN", - "крупный_ADJ_план_NOUN", - "крупный_ADJ_рогатый_ADJ", - "крупный_ADJ_рыба_NOUN", - "крупный_ADJ_рысь_NOUN", - "крупный_ADJ_слеза_NOUN", - "крупный_ADJ_соль_NOUN", - "крупный_ADJ_специалист_NOUN", - "крупный_ADJ_сумма_NOUN", - "крупный_ADJ_учёный_NOUN", - "крупный_ADJ_хищник_NOUN", - "крупный_ADJ_шрифт_NOUN", - "крутить_VERB_голова_NOUN", - "крутить_VERB_педаль_NOUN", - "крутить_VERB_ручка_NOUN", - "крутить_VERB_ус_NOUN", - "крутиться_VERB_возле_ADP", - "крутиться_VERB_вокруг_ADP", - "круто_ADV_обернуться_VERB", - "круто_ADV_обрываться_VERB", - "круто_ADV_повернуть_VERB", - "круто_ADV_повернуться_VERB", - "круто_ADV_поворачивать_VERB", - "круто_ADV_подниматься_VERB", - "круто_ADV_развернуться_VERB", - "круто_ADV_свернуть_VERB", - "круто_ADV_спускаться_VERB", - "круто_ADV_уходить_VERB", - "круто_PROPN_повернуться_VERB", - "крутой_ADJ_берег_NOUN", - "крутой_ADJ_бок_NOUN", - "крутой_ADJ_вираж_NOUN", - "крутой_ADJ_кипяток_NOUN", - "крутой_ADJ_лестница_NOUN", - "крутой_ADJ_обрыв_NOUN", - "крутой_ADJ_откос_NOUN", - "крутой_ADJ_поворот_NOUN", - "крутой_ADJ_подъём_NOUN", - "крутой_ADJ_скат_NOUN", - "крутой_ADJ_склон_NOUN", - "крутой_ADJ_спуск_NOUN", - "крутой_ADJ_ступенька_NOUN", - "крутой_ADJ_тропинка_NOUN", - "крутой_ADJ_утёс_NOUN", - "крутой_ADJ_холм_NOUN", - "крутой_ADJ_яйцо_NOUN", - "крылатый_ADJ_конь_NOUN", - "крылатый_ADJ_существо_NOUN", - "крыло_NOUN_бабочка_NOUN", - "крыло_NOUN_самолёт_NOUN", - "крытый_ADJ_галерея_NOUN", - "крыться_VERB_какой_DET", - "крыша_NOUN_поехать_VERB", - "крыша_NOUN_сарай_NOUN", - "крыша_NOUN_соседний_ADJ", - "крышка_NOUN_гроб_NOUN", - "крышка_NOUN_люк_NOUN", - "крышка_NOUN_парта_NOUN", - "крышка_NOUN_сундук_NOUN", - "крышка_NOUN_ящик_NOUN", - "крюйт_NOUN_камера_NOUN", - "крючковатый_ADJ_нос_NOUN", - "крючковатый_ADJ_палец_NOUN", - "кряхтя_NOUN_подняться_VERB", - "ксения_PROPN_антонович_PROPN", - "ксения_PROPN_иванович_PROPN", - "ксения_PROPN_николаевич_PROPN", - "ксения_PROPN_павлович_PROPN", - "ксения_PROPN_петрович_PROPN", - "кто_PRON_иной_ADJ", - "кто_PRON_либо_PRON", - "кто_PRON_нибудь_PRON", - "кто_PRON_то_PRON", - "кто_PRON_угодно_ADV", - "ку_NOUN_ка_NOUN", - "ку_NOUN_ку_NOUN", - "кубарь_NOUN_покатиться_VERB", - "кубарь_NOUN_скатиться_VERB", - "кубический_ADJ_метр_NOUN", - "кубический_ADJ_сантиметр_NOUN", - "кубок_NOUN_вино_NOUN", - "куда_ADV_девать_VERB", - "куда_ADV_деваться_VERB", - "куда_ADV_денешься_VERB", - "куда_ADV_деть_VERB", - "куда_ADV_деться_VERB", - "куда_ADV_клонить_VERB", - "куда_ADV_направляться_VERB", - "куда_ADV_нибудь_ADV", - "куда_ADV_подеваться_VERB", - "куда_ADV_прикажете_VERB", - "куда_ADV_то_ADV", - "куда_ADV_угодно_ADV", - "кудлатый_ADJ_голова_NOUN", - "кудрявый_ADJ_волос_NOUN", - "кудрявый_ADJ_головка_NOUN", - "кудрявый_ADJ_лист_PROPN", - "кузен_NOUN_бенедикт_PROPN", - "кузен_PROPN_бенедикт_PROPN", - "кузнец_NOUN_игнат_PROPN", - "кузнечный_ADJ_мех_NOUN", - "кузов_NOUN_грузовик_NOUN", - "кузов_NOUN_машина_NOUN", - "кузьма_PROPN_кузьмич_PROPN", - "кузьма_PROPN_петрович_PROPN", - "куковать_VERB_кукушка_NOUN", - "кукольный_ADJ_театр_NOUN", - "кукурузный_ADJ_поле_NOUN", - "кулачный_ADJ_бой_NOUN", - "куликовский_ADJ_битва_NOUN", - "кулинарный_ADJ_искусство_NOUN", - "культурный_ADJ_человек_NOUN", - "кун_PROPN_лу_PROPN", - "купальный_ADJ_костюм_NOUN", - "купеческий_ADJ_корабль_NOUN", - "купеческий_ADJ_сын_NOUN", - "купить_VERB_билет_NOUN", - "купить_VERB_мороженое_NOUN", - "купол_NOUN_небо_NOUN", - "купол_NOUN_церковь_NOUN", - "курий_ADJ_ножка_NOUN", - "курильский_ADJ_остров_NOUN", - "куриный_ADJ_ножка_NOUN", - "куриный_ADJ_слепота_NOUN", - "куриный_ADJ_яйцо_NOUN", - "курительный_ADJ_комната_NOUN", - "курительный_ADJ_трубка_NOUN", - "курить_VERB_папироса_NOUN", - "курить_VERB_сигара_NOUN", - "курить_VERB_сигарета_NOUN", - "курить_VERB_трубка_NOUN", - "курносый_ADJ_лицо_NOUN", - "курносый_ADJ_нос_NOUN", - "курс_NOUN_лечение_NOUN", - "курский_ADJ_вокзал_NOUN", - "курт_PROPN_фон_PART", - "курчавый_ADJ_волос_NOUN", - "курчавый_ADJ_голова_NOUN", - "курьерский_ADJ_поезд_NOUN", - "кусать_VERB_губа_NOUN", - "кусок_NOUN_булка_NOUN", - "кусок_NOUN_глина_NOUN", - "кусок_NOUN_жареный_ADJ", - "кусок_NOUN_железо_NOUN", - "кусок_NOUN_картон_NOUN", - "кусок_NOUN_колбаса_NOUN", - "кусок_NOUN_кора_NOUN", - "кусок_NOUN_лёд_NOUN", - "кусок_NOUN_материя_NOUN", - "кусок_NOUN_мел_NOUN", - "кусок_NOUN_металл_NOUN", - "кусок_NOUN_мыло_NOUN", - "кусок_NOUN_мясо_NOUN", - "кусок_NOUN_пирог_NOUN", - "кусок_NOUN_полотно_NOUN", - "кусок_NOUN_сала_NOUN", - "кусок_NOUN_сахар_NOUN", - "кусок_NOUN_сахара_NOUN", - "кусок_NOUN_сыр_NOUN", - "кусок_NOUN_сырой_ADJ", - "кусок_NOUN_ткань_NOUN", - "кусок_NOUN_торт_NOUN", - "кусок_NOUN_уголь_NOUN", - "кусок_NOUN_фанера_NOUN", - "кусок_NOUN_хлеб_NOUN", - "кусок_NOUN_штукатурка_NOUN", - "кусочек_NOUN_кора_NOUN", - "кусочек_NOUN_лёд_NOUN", - "кусочек_NOUN_мел_NOUN", - "кусочек_NOUN_мясо_NOUN", - "кусочек_NOUN_сахар_NOUN", - "кусочек_NOUN_сыр_NOUN", - "кусочек_NOUN_хлеб_NOUN", - "куст_NOUN_акация_NOUN", - "куст_NOUN_боярышник_NOUN", - "куст_NOUN_бузина_NOUN", - "куст_NOUN_жасмин_NOUN", - "куст_NOUN_малина_NOUN", - "куст_NOUN_можжевельник_NOUN", - "куст_NOUN_орешник_NOUN", - "куст_NOUN_роза_NOUN", - "куст_NOUN_сирень_NOUN", - "куст_NOUN_смородина_NOUN", - "куст_NOUN_шиповник_NOUN", - "кухня_NOUN_доноситься_VERB", - "кухонный_ADJ_дверь_NOUN", - "кухонный_ADJ_нож_NOUN", - "кухонный_ADJ_окно_NOUN", - "кухонный_ADJ_полотенце_NOUN", - "кухонный_ADJ_посуда_NOUN", - "кухонный_ADJ_стол_NOUN", - "кухонный_ADJ_шкаф_NOUN", - "куча_NOUN_валежник_NOUN", - "куча_NOUN_деньга_NOUN", - "куча_NOUN_мусор_NOUN", - "куча_NOUN_народ_NOUN", - "куча_NOUN_песок_NOUN", - "куча_NOUN_солома_NOUN", - "куча_NOUN_сухой_ADJ", - "куча_NOUN_уголь_NOUN", - "куча_NOUN_хворост_NOUN", - "куча_NOUN_щебень_NOUN", - "кучевой_ADJ_облако_NOUN", - "кушать_VERB_кушать_VERB", - "кушать_VERB_подать_VERB", - "кхе_NOUN_кхе_NOUN", - "л_INTJ_худ_PROPN", - "л_PROPN_е_NOUN", - "л_X_ь_PUNCT", - "ла_PART_боссьер_PROPN", - "ла_PART_торре_PROPN", - "ла_PART_транблэ_PROPN", - "ла_PROPN_плата_PROPN", - "ла_PROPN_рукери_PROPN", - "лавандовый_ADJ_дом_NOUN", - "лавировать_VERB_между_ADP", - "лавочка_NOUN_возле_ADP", - "лавровый_ADJ_венок_NOUN", - "лавровый_ADJ_лист_NOUN", - "лавровый_ADJ_переулок_NOUN", - "лагерный_ADJ_жизнь_NOUN", - "ладно_ADV_ладно_PART", - "ладно_PART_ладно_PART", - "ладно_PART_отмахнуться_VERB", - "ладно_PART_проехать_VERB", - "ладожский_ADJ_озеро_NOUN", - "лаем_NOUN_броситься_VERB", - "лазание_NOUN_по_ADP", - "лазарь_PROPN_евсеич_PROPN", - "лазать_VERB_по_ADP", - "лазурный_ADJ_небо_NOUN", - "лазурь_NOUN_небо_NOUN", - "лай_NOUN_собака_NOUN", - "лайковый_ADJ_перчатка_NOUN", - "лакированный_ADJ_ботинок_NOUN", - "лакированный_ADJ_козырёк_NOUN", - "лакированный_ADJ_сапог_NOUN", - "лакомый_ADJ_блюдо_NOUN", - "лакомый_ADJ_кусок_NOUN", - "лакомый_ADJ_кусочек_NOUN", - "лакон_PROPN_тай_PROPN", - "лаконично_ADV_ответить_VERB", - "лал_PROPN_чандр_PROPN", - "лао_PROPN_тсин_PROPN", - "лариса_PROPN_василиевич_PROPN", - "лариса_PROPN_иванович_PROPN", - "лариса_PROPN_олегович_PROPN", - "лариса_PROPN_павлович_PROPN", - "лариса_PROPN_примерная_PROPN", - "ларош_PROPN_боассо_PROPN", - "ласкаться_VERB_к_ADP", - "ласково_ADV_гладить_VERB", - "ласково_ADV_кивать_VERB", - "ласково_ADV_обнять_VERB", - "ласково_ADV_погладить_VERB", - "ласково_ADV_поглаживать_VERB", - "ласково_ADV_потрепать_VERB", - "ласково_ADV_проговорить_VERB", - "ласково_ADV_улыбаться_VERB", - "ласково_ADV_улыбнуться_VERB", - "ласковый_ADJ_голос_NOUN", - "ласковый_ADJ_обращение_NOUN", - "ласковый_ADJ_слово_NOUN", - "ласковый_ADJ_тон_NOUN", - "ласковый_ADJ_улыбка_NOUN", - "ластиться_VERB_к_ADP", - "латинский_ADJ_америка_PROPN", - "латинский_ADJ_буква_NOUN", - "латинский_ADJ_квартал_NOUN", - "латинский_ADJ_название_NOUN", - "латинский_ADJ_слово_NOUN", - "латинский_ADJ_язык_NOUN", - "латур_PROPN_водье_PROPN", - "лаун_NOUN_теннис_NOUN", - "лаура_PROPN_петрович_PROPN", - "лауреат_NOUN_нобелевский_ADJ", - "лаять_VERB_собака_NOUN", - "ле_PART_ген_PROPN", - "ле_PROPN_гуен_PROPN", - "лебединый_ADJ_озеро_NOUN", - "лев_NOUN_тигр_NOUN", - "лев_PROPN_в_PROPN", - "лев_PROPN_львович_PROPN", - "лев_PROPN_николаевич_PROPN", - "лев_PROPN_семёнович_PROPN", - "лев_PROPN_толстой_PROPN", - "левый_ADJ_берег_NOUN", - "левый_ADJ_бок_NOUN", - "левый_ADJ_борт_NOUN", - "левый_ADJ_бровь_NOUN", - "левый_ADJ_крот_PROPN", - "левый_ADJ_крыло_NOUN", - "левый_ADJ_локоть_NOUN", - "левый_ADJ_лопатка_NOUN", - "левый_ADJ_нога_NOUN", - "левый_ADJ_рука_NOUN", - "левый_ADJ_рука_PROPN", - "левый_ADJ_сторона_NOUN", - "левый_ADJ_фланг_NOUN", - "левый_ADJ_щека_NOUN", - "легенда_NOUN_о_ADP", - "легко_ADV_отделаться_VERB", - "легко_ADV_переносить_VERB", - "легко_ADV_поддаваться_VERB", - "легко_ADV_поддаться_VERB", - "легко_ADV_ранить_VERB", - "легко_ADV_скользить_VERB", - "легко_ADV_согласиться_VERB", - "легко_ADV_справиться_VERB", - "легко_ADV_спрыгнуть_VERB", - "легковой_ADJ_автомобиль_NOUN", - "легковой_ADJ_машина_NOUN", - "легонько_ADV_подтолкнуть_VERB", - "легонько_ADV_толкнуть_VERB", - "леденить_VERB_душа_NOUN", - "леденить_VERB_кровь_NOUN", - "леди_NOUN_батерст_PROPN", - "леди_NOUN_блэкней_PROPN", - "леди_NOUN_джен_PROPN", - "леди_NOUN_дункан_PROPN", - "леди_NOUN_кемпбел_PROPN", - "леди_NOUN_констанция_PROPN", - "леди_NOUN_м_PROPN", - "леди_NOUN_мортон_PROPN", - "леди_NOUN_пенроуз_PROPN", - "леди_NOUN_р_PROPN", - "леди_NOUN_стелла_PROPN", - "леди_NOUN_фалклэнд_PROPN", - "леди_NOUN_хинтон_PROPN", - "леди_NOUN_элен_PROPN", - "леди_PROPN_джен_PROPN", - "леди_PROPN_элен_PROPN", - "ледниковый_ADJ_период_NOUN", - "ледовитый_ADJ_океан_NOUN", - "ледяной_ADJ_ветер_NOUN", - "ледяной_ADJ_вода_NOUN", - "ледяной_ADJ_глыба_NOUN", - "ледяной_ADJ_гора_NOUN", - "ледяной_ADJ_горка_NOUN", - "ледяной_ADJ_дорожка_NOUN", - "ледяной_ADJ_кора_NOUN", - "ледяной_ADJ_корка_NOUN", - "ледяной_ADJ_покров_NOUN", - "ледяной_ADJ_поле_NOUN", - "ледяной_ADJ_пустыня_NOUN", - "ледяной_ADJ_равнина_NOUN", - "ледяной_ADJ_сосулька_NOUN", - "ледяной_ADJ_тон_NOUN", - "ледяной_ADJ_холод_NOUN", - "лежать_VERB_груда_NOUN", - "лежать_VERB_навзничь_ADV", - "лежать_VERB_неподвижно_ADV", - "лежать_VERB_ничком_NOUN", - "лежать_VERB_пласт_NOUN", - "лежать_VERB_поперёк_ADP", - "лежать_VERB_распростереть_VERB", - "лежать_VERB_смирно_ADV", - "лежачий_ADJ_камень_NOUN", - "лезвие_NOUN_нож_NOUN", - "лезть_VERB_наверх_ADV", - "леила_NOUN_фатьма_PROPN", - "леила_PROPN_фатьма_PROPN", - "лейб_NOUN_медик_NOUN", - "лейтенант_NOUN_кравцов_PROPN", - "лейтенант_NOUN_милиция_NOUN", - "лейтенант_NOUN_форстер_PROPN", - "лекарственный_ADJ_трава_NOUN", - "лекарство_NOUN_которое_PRON", - "лекарь_PROPN_аптекарь_PROPN", - "лекция_NOUN_читать_VERB", - "лена_PROPN_павлович_PROPN", - "ленинградский_ADJ_проспект_NOUN", - "леон_PROPN_роллан_PROPN", - "леонардо_PROPN_да_ADP", - "леонид_PROPN_борисович_PROPN", - "леонид_PROPN_виталиевич_PROPN", - "леонид_PROPN_георгиевич_PROPN", - "леонид_PROPN_матвеевич_PROPN", - "леонид_PROPN_николаевич_PROPN", - "леонид_PROPN_петрович_PROPN", - "леонид_PROPN_тимофеевич_PROPN", - "леонид_PROPN_фёдорович_PROPN", - "леонтий_PROPN_фёдорович_PROPN", - "лепесток_NOUN_роза_NOUN", - "лепной_ADJ_украшение_NOUN", - "лес_NOUN_дремучий_ADJ", - "лес_NOUN_поредеть_VERB", - "лесенка_NOUN_вести_VERB", - "лесистый_ADJ_берег_NOUN", - "лесистый_ADJ_гора_NOUN", - "лесистый_ADJ_холм_NOUN", - "лесной_ADJ_брат_NOUN", - "лесной_ADJ_бродяга_NOUN", - "лесной_ADJ_великан_NOUN", - "лесной_ADJ_глушь_NOUN", - "лесной_ADJ_домик_NOUN", - "лесной_ADJ_дорога_NOUN", - "лесной_ADJ_житель_NOUN", - "лесной_ADJ_звери_NOUN", - "лесной_ADJ_зверь_NOUN", - "лесной_ADJ_избушка_NOUN", - "лесной_ADJ_массив_NOUN", - "лесной_ADJ_обитатель_NOUN", - "лесной_ADJ_озеро_NOUN", - "лесной_ADJ_опушка_NOUN", - "лесной_ADJ_орех_NOUN", - "лесной_ADJ_пожар_NOUN", - "лесной_ADJ_полоса_NOUN", - "лесной_ADJ_поляна_NOUN", - "лесной_ADJ_полянка_NOUN", - "лесной_ADJ_прогалина_NOUN", - "лесной_ADJ_просека_NOUN", - "лесной_ADJ_ручей_NOUN", - "лесной_ADJ_сторож_NOUN", - "лесной_ADJ_сторожка_NOUN", - "лесной_ADJ_тропа_NOUN", - "лесной_ADJ_тропинка_NOUN", - "лесной_ADJ_фея_NOUN", - "лесной_ADJ_царь_NOUN", - "лесной_ADJ_чаща_NOUN", - "лесной_ADJ_чаще_ADV", - "лесной_ADJ_человечек_NOUN", - "лесопильный_ADJ_завод_NOUN", - "лестница_NOUN_вести_VERB", - "лестница_NOUN_наверх_ADV", - "лестничный_ADJ_клетка_NOUN", - "лестничный_ADJ_площадка_NOUN", - "лестничный_ADJ_пролёт_NOUN", - "лестный_ADJ_для_ADP", - "летаргический_ADJ_сон_NOUN", - "летательный_ADJ_аппарат_NOUN", - "летательный_ADJ_машина_NOUN", - "летать_VERB_тарелка_NOUN", - "лететь_VERB_вниз_ADV", - "лететь_VERB_лететь_VERB", - "лететь_VERB_навстречу_ADV", - "летний_ADJ_вечер_NOUN", - "летний_ADJ_дворец_NOUN", - "летний_ADJ_день_NOUN", - "летний_ADJ_дождь_NOUN", - "летний_ADJ_жара_NOUN", - "летний_ADJ_каникул_NOUN", - "летний_ADJ_каникулы_NOUN", - "летний_ADJ_костюм_NOUN", - "летний_ADJ_кухня_NOUN", - "летний_ADJ_лагер_NOUN", - "летний_ADJ_лагерь_NOUN", - "летний_ADJ_месяц_NOUN", - "летний_ADJ_ночь_NOUN", - "летний_ADJ_сад_NOUN", - "летний_ADJ_сезон_NOUN", - "летний_ADJ_солнце_NOUN", - "летучий_ADJ_голландец_NOUN", - "летучий_ADJ_мышка_NOUN", - "летучий_ADJ_мышь_NOUN", - "летучий_ADJ_облако_NOUN", - "летучий_ADJ_орёл_PROPN", - "летучий_ADJ_рыба_NOUN", - "летучий_ADJ_скала_NOUN", - "лечить_VERB_врач_NOUN", - "лечь_VERB_живот_NOUN", - "лечь_VERB_отдохнуть_VERB", - "лечь_VERB_спать_VERB", - "лешка_PROPN_пашков_PROPN", - "ли_PROPN_ванг_PROPN", - "ли_PROPN_ду_PROPN", - "ли_PROPN_сяо_PROPN", - "ли_PROPN_чан_PROPN", - "ливерный_ADJ_колбаса_NOUN", - "ливрейный_ADJ_лакей_NOUN", - "лида_PROPN_воронский_PROPN", - "лида_PROPN_зорин_PROPN", - "лидия_NOUN_а_PROPN", - "лидия_PROPN_алексеевич_PROPN", - "лидия_PROPN_андреевич_PROPN", - "лидия_PROPN_валентинович_PROPN", - "лидия_PROPN_иванович_PROPN", - "лидия_PROPN_львович_PROPN", - "лидия_PROPN_матвеевич_PROPN", - "лидия_PROPN_николаевич_PROPN", - "лидия_PROPN_павлович_PROPN", - "лидия_PROPN_петрович_PROPN", - "лидия_PROPN_сергеевич_PROPN", - "лиза_PROPN_кукушкин_PROPN", - "лик_NOUN_святых_NOUN", - "ликовать_VERB_крик_NOUN", - "лилия_PROPN_владимирович_PROPN", - "лиловый_ADJ_цвет_NOUN", - "лимонный_ADJ_дерево_NOUN", - "лимонный_ADJ_жёлтый_ADJ", - "лимонный_ADJ_сок_NOUN", - "лина_PROPN_львович_PROPN", - "линг_PROPN_чу_PROPN", - "линейный_ADJ_корабль_NOUN", - "линия_NOUN_горизонт_NOUN", - "линия_NOUN_поведение_NOUN", - "линия_NOUN_фронт_NOUN", - "липкий_ADJ_грязь_NOUN", - "липнуть_VERB_к_ADP", - "липовый_ADJ_аллея_NOUN", - "липовый_ADJ_цвет_NOUN", - "лиса_NOUN_лариска_PROPN", - "лиса_PROPN_алиса_PROPN", - "лиса_PROPN_патрикеевич_PROPN", - "лисий_ADJ_нора_NOUN", - "лисичка_NOUN_сестричка_NOUN", - "лисси_PROPN_вэг_PROPN", - "лист_NOUN_бумага_NOUN", - "лист_NOUN_ватман_NOUN", - "лист_NOUN_железо_NOUN", - "лист_NOUN_кувшинка_NOUN", - "лист_NOUN_лопух_NOUN", - "лист_NOUN_пальма_NOUN", - "лист_NOUN_подорожник_NOUN", - "лист_NOUN_фанера_NOUN", - "листать_VERB_журнал_NOUN", - "листать_VERB_книга_NOUN", - "листать_VERB_страница_NOUN", - "листва_NOUN_дерево_NOUN", - "лиственный_ADJ_дерево_NOUN", - "лиственный_ADJ_лес_NOUN", - "листовой_ADJ_железо_NOUN", - "листок_NOUN_бумага_NOUN", - "листочек_NOUN_бумага_NOUN", - "лисья_PROPN_лапа_PROPN", - "литература_NOUN_ленинград_PROPN", - "литературный_ADJ_герой_NOUN", - "литературный_ADJ_институт_NOUN", - "литературный_ADJ_кружок_NOUN", - "литературный_ADJ_произведение_NOUN", - "литр_NOUN_вода_NOUN", - "лить_VERB_вода_NOUN", - "лить_VERB_дождь_NOUN", - "литься_VERB_вода_NOUN", - "литься_VERB_кровь_NOUN", - "литься_VERB_поток_NOUN", - "лифт_NOUN_остановиться_VERB", - "лихо_ADV_заломить_VERB", - "лихорадочно_ADV_блестеть_VERB", - "лихорадочно_ADV_гореть_VERB", - "лихорадочно_ADV_соображать_VERB", - "лихорадочный_ADJ_блеск_NOUN", - "лихорадочный_ADJ_быстрота_NOUN", - "лихорадочный_ADJ_возбуждение_NOUN", - "лихорадочный_ADJ_волнение_NOUN", - "лихорадочный_ADJ_деятельность_NOUN", - "лихорадочный_ADJ_нетерпение_NOUN", - "лихорадочный_ADJ_поспешность_NOUN", - "лицевой_ADJ_сторона_NOUN", - "лицо_NOUN_исказить_VERB", - "лицо_NOUN_исказиться_VERB", - "лицо_NOUN_обрамить_VERB", - "лицо_PROPN_его_PRON", - "лично_ADV_убедиться_VERB", - "личный_ADJ_безопасность_NOUN", - "личный_ADJ_вещь_NOUN", - "личный_ADJ_враг_NOUN", - "личный_ADJ_выгода_NOUN", - "личный_ADJ_дело_NOUN", - "личный_ADJ_жизнь_NOUN", - "личный_ADJ_интерес_NOUN", - "личный_ADJ_мнение_NOUN", - "личный_ADJ_наблюдение_NOUN", - "личный_ADJ_опыт_NOUN", - "личный_ADJ_ответственность_NOUN", - "личный_ADJ_просьба_NOUN", - "личный_ADJ_секретарь_NOUN", - "личный_ADJ_собственность_NOUN", - "личный_ADJ_состав_NOUN", - "личный_ADJ_счастие_NOUN", - "личный_ADJ_счеты_NOUN", - "лишение_NOUN_свобода_NOUN", - "лишить_VERB_возможность_NOUN", - "лишить_VERB_всякий_DET", - "лишить_VERB_свобода_NOUN", - "лишиться_VERB_возможность_NOUN", - "лишиться_VERB_дар_NOUN", - "лишиться_VERB_рассудок_NOUN", - "лишиться_VERB_сознание_NOUN", - "лишиться_VERB_чувство_NOUN", - "лишний_ADJ_вес_NOUN", - "лишний_ADJ_вопрос_NOUN", - "лишний_ADJ_движение_NOUN", - "лишний_ADJ_килограмм_NOUN", - "лишний_ADJ_раз_NOUN", - "лишь_PART_изредка_ADV", - "лишь_PART_немногие_ADJ", - "лишь_PART_немногим_NOUN", - "лоб_NOUN_выступить_VERB", - "лоб_NOUN_пот_NOUN", - "лобастый_ADJ_голова_NOUN", - "лобный_ADJ_место_NOUN", - "лобовой_ADJ_стекло_NOUN", - "ловец_NOUN_орёл_NOUN", - "лови_PROPN_хватай_PROPN", - "ловить_VERB_бабочка_NOUN", - "ловить_VERB_муха_NOUN", - "ловить_VERB_мышь_NOUN", - "ловить_VERB_орёл_NOUN", - "ловить_VERB_рыба_NOUN", - "ловкий_ADJ_движение_NOUN", - "ловкий_ADJ_манёвр_NOUN", - "ловкий_ADJ_прыжок_NOUN", - "ловкий_ADJ_удар_NOUN", - "ловко_ADV_орудовать_VERB", - "ловко_ADV_подхватить_VERB", - "ловко_ADV_поймать_VERB", - "ловко_ADV_увернуться_VERB", - "ловкость_NOUN_кошка_NOUN", - "ловля_NOUN_рыба_NOUN", - "лодка_NOUN_причалить_VERB", - "лодочный_ADJ_станция_NOUN", - "ложась_VERB_спать_VERB", - "ложись_VERB_спать_VERB", - "ложиться_VERB_спать_VERB", - "ложный_ADJ_путь_NOUN", - "ложный_ADJ_скромность_NOUN", - "ложный_ADJ_след_NOUN", - "ложный_ADJ_стыд_NOUN", - "ложный_ADJ_тревога_NOUN", - "лолла_PROPN_мендес_PROPN", - "ломаный_ADJ_английский_ADJ", - "ломаный_ADJ_линия_NOUN", - "ломаный_ADJ_русский_ADJ", - "ломать_VERB_ветка_NOUN", - "ломать_VERB_голова_NOUN", - "ломоть_NOUN_хлеб_NOUN", - "ломтик_NOUN_хлеб_NOUN", - "лонгфорд_PROPN_манор_PROPN", - "лондонский_ADJ_мост_NOUN", - "лоне_NOUN_природа_NOUN", - "лопнуть_VERB_терпение_NOUN", - "лора_PROPN_фон_PART", - "лорд_NOUN_джон_PROPN", - "лорд_NOUN_рокстон_PROPN", - "лорд_NOUN_рэгнолл_PROPN", - "лорд_NOUN_темпль_PROPN", - "лорд_NOUN_фаунтлерой_PROPN", - "лорд_PROPN_мэр_NOUN", - "лос_PROPN_анджелес_PROPN", - "лоскутный_ADJ_одеяло_NOUN", - "лоскуток_NOUN_бумага_NOUN", - "лотерейный_ADJ_билет_NOUN", - "лохматый_ADJ_бровь_NOUN", - "лохматый_ADJ_пёс_NOUN", - "лошадиный_ADJ_голова_NOUN", - "лошадиный_ADJ_копыт_NOUN", - "лошадиный_ADJ_морда_NOUN", - "лошадиный_ADJ_сила_NOUN", - "лошадиный_ADJ_топот_NOUN", - "лошадь_NOUN_запрячь_VERB", - "луговой_ADJ_трава_NOUN", - "лужа_NOUN_кровь_NOUN", - "луи_PROPN_геноле_PROPN", - "луи_PROPN_де_PART", - "луи_PROPN_морэн_PROPN", - "луи_PROPN_наполеон_PROPN", - "луиза_PROPN_карлович_PROPN", - "лук_NOUN_стрела_NOUN", - "лука_NOUN_седла_NOUN", - "лука_PROPN_иванович_PROPN", - "лука_PROPN_лукич_PROPN", - "лукаво_ADV_поглядывать_VERB", - "лукаво_ADV_улыбаться_VERB", - "лукаво_ADV_улыбнуться_VERB", - "лукаво_PROPN_подмигнуть_VERB", - "лукаво_PROPN_посмотреть_VERB", - "лукаво_PROPN_улыбнуться_VERB", - "лукавый_ADJ_взгляд_NOUN", - "лукавый_ADJ_улыбка_NOUN", - "лукавый_ADJ_усмешка_NOUN", - "лукас_PROPN_мендес_PROPN", - "лукерья_PROPN_демьянович_PROPN", - "луна_NOUN_освещать_VERB", - "луна_NOUN_светить_VERB", - "луна_PROPN_светило_NOUN", - "лунный_ADJ_диск_NOUN", - "лунный_ADJ_дорожка_NOUN", - "лунный_ADJ_житель_NOUN", - "лунный_ADJ_затмение_NOUN", - "лунный_ADJ_камень_NOUN", - "лунный_ADJ_кратер_NOUN", - "лунный_ADJ_луч_NOUN", - "лунный_ADJ_ночь_NOUN", - "лунный_ADJ_поверхность_NOUN", - "лунный_ADJ_свет_NOUN", - "лунный_ADJ_свет_PROPN", - "лунный_ADJ_сияние_NOUN", - "луч_NOUN_восходить_VERB", - "луч_NOUN_закат_NOUN", - "луч_NOUN_заря_NOUN", - "луч_NOUN_заходить_VERB", - "луч_NOUN_луна_NOUN", - "луч_NOUN_прожектор_NOUN", - "луч_NOUN_рассвет_NOUN", - "луч_NOUN_свет_NOUN", - "луч_NOUN_солнце_NOUN", - "луч_NOUN_солнце_PROPN", - "луч_NOUN_утренний_ADJ", - "луч_NOUN_фонарик_NOUN", - "луч_NOUN_фонарь_NOUN", - "лучи_NOUN_солнце_NOUN", - "лучик_NOUN_свет_NOUN", - "лучистый_ADJ_глаз_NOUN", - "лучше_ADV_всего_PRON", - "лучше_ADV_всех_PRON", - "лучше_ADV_рассмотреть_VERB", - "лыжный_ADJ_костюм_NOUN", - "лыжный_ADJ_палка_NOUN", - "лыжный_ADJ_след_NOUN", - "лысый_ADJ_голова_NOUN", - "лысый_ADJ_гора_NOUN", - "львиный_ADJ_доля_NOUN", - "льнуть_VERB_к_ADP", - "льняной_ADJ_волос_NOUN", - "любезно_ADV_предложить_VERB", - "любезно_ADV_улыбаться_VERB", - "любезный_ADJ_господин_NOUN", - "любезный_ADJ_друг_NOUN", - "любезный_ADJ_предложение_NOUN", - "любезный_ADJ_приглашение_NOUN", - "любезный_ADJ_тон_NOUN", - "любезный_ADJ_улыбка_NOUN", - "любимый_ADJ_блюдо_NOUN", - "любимый_ADJ_внук_NOUN", - "любимый_ADJ_герой_NOUN", - "любимый_ADJ_занятие_NOUN", - "любимый_ADJ_игрушка_NOUN", - "любимый_ADJ_лакомство_NOUN", - "любимый_ADJ_песенка_NOUN", - "любимый_ADJ_песня_NOUN", - "любимый_ADJ_писатель_NOUN", - "любимый_ADJ_поговорка_NOUN", - "любимый_ADJ_развлечение_NOUN", - "любимый_ADJ_ученик_NOUN", - "любимый_ADJ_учитель_NOUN", - "любина_PROPN_мама_NOUN", - "любить_VERB_поболтать_VERB", - "любить_VERB_поспать_VERB", - "любишь_VERB_ли_PART", - "любоваться_VERB_ею_PRON", - "любоваться_VERB_ими_PRON", - "любоваться_VERB_красота_NOUN", - "любовный_ADJ_история_NOUN", - "любовный_ADJ_письмо_NOUN", - "любовный_ADJ_роман_NOUN", - "любовь_PROPN_александрович_PROPN", - "любовь_PROPN_андреевич_PROPN", - "любовь_PROPN_иванович_PROPN", - "любовь_PROPN_петрович_PROPN", - "любой_DET_мелочь_NOUN", - "любой_DET_момент_NOUN", - "любой_DET_обстоятельство_NOUN", - "любой_DET_повод_NOUN", - "любой_DET_погода_NOUN", - "любой_DET_ситуация_NOUN", - "любой_DET_случай_NOUN", - "любой_DET_способ_NOUN", - "любой_DET_цена_NOUN", - "любопытный_ADJ_взгляд_NOUN", - "любопытный_ADJ_взор_NOUN", - "любопытный_ADJ_зрелище_NOUN", - "любопытство_NOUN_наблюдать_VERB", - "любопытство_NOUN_оглядывать_VERB", - "любопытство_NOUN_осматривать_VERB", - "любопытство_NOUN_поглядывать_VERB", - "любопытство_NOUN_разглядывать_VERB", - "любопытство_NOUN_рассматривать_VERB", - "любопытство_NOUN_следить_VERB", - "любопытство_NOUN_уставиться_VERB", - "людмила_PROPN_александрович_PROPN", - "людмила_PROPN_василиевич_PROPN", - "людмила_PROPN_евгениевич_PROPN", - "людмила_PROPN_иванович_PROPN", - "людмила_PROPN_ильич_PROPN", - "людмила_PROPN_николаевич_PROPN", - "людмила_PROPN_романович_PROPN", - "людмила_PROPN_сергеевич_PROPN", - "людмила_PROPN_фёдорович_PROPN", - "людный_ADJ_место_NOUN", - "людный_ADJ_улица_NOUN", - "людовик_PROPN_xiv_ADJ", - "людовик_PROPN_xvi_ADJ", - "людской_ADJ_поток_NOUN", - "лютый_ADJ_волк_PROPN", - "лютый_ADJ_враг_NOUN", - "лютый_ADJ_зверь_NOUN", - "лютый_ADJ_казнь_NOUN", - "лютый_ADJ_мороз_NOUN", - "лютый_ADJ_ненависть_NOUN", - "лютый_ADJ_смерть_NOUN", - "ля_NOUN_ля_NOUN", - "лязгать_VERB_зуб_NOUN", - "ляо_PROPN_сен_PROPN", - "лёгкий_ADJ_атлетика_NOUN", - "лёгкий_ADJ_ветерок_NOUN", - "лёгкий_ADJ_головокружение_NOUN", - "лёгкий_ADJ_добыча_NOUN", - "лёгкий_ADJ_дрожь_NOUN", - "лёгкий_ADJ_дуновение_NOUN", - "лёгкий_ADJ_дымка_NOUN", - "лёгкий_ADJ_дымок_NOUN", - "лёгкий_ADJ_зыбь_NOUN", - "лёгкий_ADJ_ирония_NOUN", - "лёгкий_ADJ_морозец_NOUN", - "лёгкий_ADJ_облачко_NOUN", - "лёгкий_ADJ_походка_NOUN", - "лёгкий_ADJ_прикосновение_NOUN", - "лёгкий_ADJ_румянец_NOUN", - "лёгкий_ADJ_скрип_NOUN", - "лёгкий_ADJ_толчок_NOUN", - "лёгкий_ADJ_усмешка_NOUN", - "лёгкий_ADJ_шелест_NOUN", - "лёгкий_ADJ_шорох_NOUN", - "лёгкий_ADV_всего_PRON", - "лёгкий_ADV_чем_SCONJ", - "лётный_ADJ_поле_NOUN", - "лётный_ADJ_школа_NOUN", - "лётчик_NOUN_испытатель_NOUN", - "лётчик_NOUN_истребитель_NOUN", - "лётчик_PROPN_злоуж_PROPN", - "м_INTJ_р_NOUN", - "м_NOUN_lle_PROPN", - "м_NOUN_м_NOUN", - "м_NOUN_м_PROPN", - "м_NOUN_р_NOUN", - "м_NOUN_ра_NOUN", - "м_NOUN_ром_NOUN", - "м_NOUN_ру_NOUN", - "м_PROPN_б_NOUN", - "м_PROPN_м_NOUN", - "м_PROPN_м_PROPN", - "м_PROPN_р_NOUN", - "м_PROPN_р_PROPN", - "м_PROPN_ра_NOUN", - "ма_ADV_а_PROPN", - "мавра_PROPN_егорович_PROPN", - "магдалина_PROPN_осипович_PROPN", - "магелланов_ADJ_пролив_NOUN", - "магический_ADJ_действие_NOUN", - "магический_ADJ_заклинание_NOUN", - "магический_ADJ_круг_NOUN", - "магический_ADJ_сила_NOUN", - "магнит_NOUN_притягивать_VERB", - "магнитный_ADJ_поле_NOUN", - "магнитный_ADJ_полюс_NOUN", - "магнитный_ADJ_стрелка_NOUN", - "магуль_PROPN_мегери_PROPN", - "мадам_NOUN_адель_PROPN", - "мадам_NOUN_амадис_PROPN", - "мадам_NOUN_бриссо_PROPN", - "мадам_NOUN_валентина_PROPN", - "мадам_NOUN_данглар_PROPN", - "мадам_NOUN_де_PART", - "мадам_NOUN_жозен_PROPN", - "мадам_NOUN_каудаль_PROPN", - "мадам_NOUN_ламоль_PROPN", - "мадам_NOUN_ланье_PROPN", - "мадам_NOUN_лепик_PROPN", - "мадам_NOUN_леруа_PROPN", - "мадам_NOUN_массей_PROPN", - "мадам_NOUN_поттель_PROPN", - "мадам_NOUN_эйнсворт_PROPN", - "мадемуазель_NOUN_де_PART", - "мадемуазель_NOUN_кардик_PROPN", - "мадемуазель_NOUN_розали_PROPN", - "маисовый_ADJ_лепёшка_NOUN", - "маисовый_ADJ_поле_NOUN", - "май_NOUN_год_NOUN", - "май_NOUN_месяц_NOUN", - "майн_PROPN_рид_PROPN", - "майор_NOUN_василенко_PROPN", - "майор_NOUN_гвоздь_PROPN", - "майор_NOUN_милиция_NOUN", - "майор_NOUN_муассон_PROPN", - "майор_NOUN_снежко_PROPN", - "майор_PROPN_милиция_NOUN", - "майский_ADJ_день_NOUN", - "майский_ADJ_жук_NOUN", - "майский_ADJ_праздник_NOUN", - "майский_ADJ_солнце_NOUN", - "майский_ADJ_утро_NOUN", - "майя_PROPN_георгиевич_PROPN", - "мак_NOUN_вей_PROPN", - "мак_NOUN_вир_NOUN", - "мак_NOUN_глусски_PROPN", - "мак_NOUN_грегор_PROPN", - "мак_NOUN_довель_NOUN", - "мак_NOUN_дональд_PROPN", - "мак_NOUN_кой_NOUN", - "мак_NOUN_криди_NOUN", - "мак_NOUN_магон_PROPN", - "мак_NOUN_наббс_PROPN", - "мак_NOUN_намара_PROPN", - "мак_NOUN_таггарт_NOUN", - "мак_NOUN_таггарт_PROPN", - "мак_PROPN_грегор_PROPN", - "мак_PROPN_дональд_PROPN", - "мак_PROPN_таггарт_PROPN", - "мак_PROPN_таггарта_PROPN", - "макар_PROPN_иванович_PROPN", - "макар_PROPN_семёнович_PROPN", - "маковый_ADJ_росинка_NOUN", - "макс_PROPN_реаль_PROPN", - "макси_PROPN_кот_PROPN", - "максим_PROPN_андреевич_PROPN", - "максим_PROPN_горький_PROPN", - "максим_PROPN_максимилианович_PROPN", - "максим_PROPN_максимович_PROPN", - "максим_PROPN_петрович_PROPN", - "максим_PROPN_ёлкин_PROPN", - "максимальный_ADJ_скорость_NOUN", - "мал_NOUN_маленький_ADJ", - "малахов_PROPN_курган_NOUN", - "маленький_ADJ_брат_PROPN", - "маленький_ADJ_бухточка_NOUN", - "маленький_ADJ_выдра_PROPN", - "маленький_ADJ_глазками_NOUN", - "маленький_ADJ_глазок_NOUN", - "маленький_ADJ_глотка_NOUN", - "маленький_ADJ_горбун_NOUN", - "маленький_ADJ_городок_NOUN", - "маленький_ADJ_дворик_NOUN", - "маленький_ADJ_деревушка_NOUN", - "маленький_ADJ_домик_NOUN", - "маленький_ADJ_дороти_PROPN", - "маленький_ADJ_дырочка_NOUN", - "маленький_ADJ_квартирка_NOUN", - "маленький_ADJ_клаус_PROPN", - "маленький_ADJ_комнатка_NOUN", - "маленький_ADJ_кругленький_ADJ", - "маленький_ADJ_кусочек_NOUN", - "маленький_ADJ_лодочка_NOUN", - "маленький_ADJ_лорд_NOUN", - "маленький_ADJ_мук_PROPN", - "маленький_ADJ_народ_PROPN", - "маленький_ADJ_обезьянка_NOUN", - "маленький_ADJ_оконце_NOUN", - "маленький_ADJ_окошечко_NOUN", - "маленький_ADJ_островок_NOUN", - "маленький_ADJ_пансионер_NOUN", - "маленький_ADJ_паша_NOUN", - "маленький_ADJ_принц_NOUN", - "маленький_ADJ_птичка_NOUN", - "маленький_ADJ_рост_NOUN", - "маленький_ADJ_русалочка_NOUN", - "маленький_ADJ_сердечко_NOUN", - "маленький_ADJ_сиротка_NOUN", - "маленький_ADJ_сморщенный_ADJ", - "маленький_ADJ_собачка_NOUN", - "маленький_ADJ_столик_NOUN", - "маленький_ADJ_сухонький_ADJ", - "маленький_ADJ_тайна_PROPN", - "маленький_ADJ_тельце_NOUN", - "маленький_ADJ_толстенький_ADJ", - "маленький_ADJ_тумаи_PROPN", - "маленький_ADJ_тщедушный_ADJ", - "маленький_ADJ_фигурка_NOUN", - "маленький_ADJ_худенький_ADJ", - "маленький_ADJ_человечек_NOUN", - "маленький_ADJ_чёрненький_ADJ", - "маленький_ADJ_щуплый_ADJ", - "маленький_ADJ_юркий_ADJ", - "маленький_ADJ_ёлочка_NOUN", - "маленький_ADV_рост_NOUN", - "маленький_ADV_чем_SCONJ", - "малиновый_ADJ_варение_NOUN", - "малиновый_ADJ_куртка_NOUN", - "малиновый_ADJ_цвет_NOUN", - "мало_ADV_заботиться_VERB", - "мало_ADV_интересовать_VERB", - "мало_ADV_интересоваться_VERB", - "мало_ADV_ли_PART", - "мало_ADV_мальски_ADV", - "мало_ADV_помалу_ADV", - "мало_ADV_походить_VERB", - "мало_ADV_того_PRON", - "мало_ADV_шанс_NOUN", - "малознакомый_ADJ_человек_NOUN", - "малолетний_ADJ_преступник_NOUN", - "малолетний_ADJ_ребёнок_NOUN", - "малый_ADJ_азия_PROPN", - "малый_ADJ_движение_NOUN", - "малый_ADJ_дитя_NOUN", - "малый_ADJ_дуновение_NOUN", - "малый_ADJ_желание_NOUN", - "малый_ADJ_изменение_NOUN", - "малый_ADJ_колебание_NOUN", - "малый_ADJ_количество_NOUN", - "малый_ADJ_мера_NOUN", - "малый_ADJ_намёк_NOUN", - "малый_ADJ_неосторожность_NOUN", - "малый_ADJ_повод_NOUN", - "малый_ADJ_подозрение_NOUN", - "малый_ADJ_подробность_NOUN", - "малый_ADJ_попытка_NOUN", - "малый_ADJ_признак_NOUN", - "малый_ADJ_прикосновение_NOUN", - "малый_ADJ_размер_NOUN", - "малый_ADJ_рост_NOUN", - "малый_ADJ_скорость_NOUN", - "малый_ADJ_сомнение_NOUN", - "малый_ADJ_сопротивление_NOUN", - "малый_ADJ_степень_NOUN", - "малый_ADJ_толика_NOUN", - "малый_ADJ_толчок_NOUN", - "малый_ADJ_шорох_NOUN", - "малый_ADJ_шум_NOUN", - "мальтийский_ADJ_орден_NOUN", - "мальчик_NOUN_с_NOUN", - "мальчик_NOUN_с_PROPN", - "мальчишеский_ADJ_голос_NOUN", - "мама_NOUN_нэлли_PROPN", - "мама_NOUN_тарасика_PROPN", - "мамаша_NOUN_бюрель_PROPN", - "маменькин_ADJ_сынок_NOUN", - "мамет_PROPN_кул_PROPN", - "мамин_ADJ_голос_NOUN", - "мамин_ADJ_подруга_NOUN", - "мамины_NOUN_слово_NOUN", - "манана_PROPN_арчилович_PROPN", - "манговый_ADJ_дерево_NOUN", - "манера_NOUN_держаться_VERB", - "манера_NOUN_поведение_NOUN", - "мания_NOUN_величие_NOUN", - "манный_ADJ_каша_NOUN", - "мансур_PROPN_эфенди_PROPN", - "маня_PROPN_иванов_PROPN", - "марат_PROPN_ахметов_PROPN", - "маргарита_PROPN_валерьянович_PROPN", - "маргарита_PROPN_василиевич_PROPN", - "маргарита_PROPN_иванович_PROPN", - "маргарита_PROPN_павлович_PROPN", - "маргарита_PROPN_романович_PROPN", - "маргарита_PROPN_сергеевич_PROPN", - "мари_PROPN_анна_PROPN", - "марина_PROPN_викторович_PROPN", - "марина_PROPN_владимирович_PROPN", - "марина_PROPN_леопольдович_PROPN", - "марина_PROPN_николаевич_PROPN", - "марина_PROPN_осипович_PROPN", - "марина_PROPN_рубинова_PROPN", - "марина_PROPN_тимофеевич_PROPN", - "марина_PROPN_федотович_PROPN", - "мария_PROPN_александрович_PROPN", - "мария_PROPN_алексеевич_PROPN", - "мария_PROPN_андреевич_PROPN", - "мария_PROPN_антонович_PROPN", - "мария_PROPN_антуанетта_PROPN", - "мария_PROPN_василиевич_PROPN", - "мария_PROPN_галль_PROPN", - "мария_PROPN_данилович_PROPN", - "мария_PROPN_дмитриевич_PROPN", - "мария_PROPN_ефимович_PROPN", - "мария_PROPN_иванович_PROPN", - "мария_PROPN_кириллович_PROPN", - "мария_PROPN_медичи_PROPN", - "мария_PROPN_михаилович_PROPN", - "мария_PROPN_николаевич_PROPN", - "мария_PROPN_павлович_PROPN", - "мария_PROPN_петрович_PROPN", - "мария_PROPN_семёнович_PROPN", - "мария_PROPN_сергеевич_PROPN", - "мария_PROPN_силантиевич_PROPN", - "мария_PROPN_степанович_PROPN", - "мария_PROPN_стюарт_PROPN", - "мария_PROPN_тереза_PROPN", - "мария_PROPN_терезия_PROPN", - "мария_PROPN_фёдорович_PROPN", - "мария_PROPN_христина_PROPN", - "мария_PROPN_юриевич_PROPN", - "марк_PROPN_александрович_PROPN", - "марк_PROPN_галлан_PROPN", - "марк_PROPN_игнатьич_PROPN", - "марк_PROPN_июний_PROPN", - "марк_PROPN_морау_PROPN", - "марк_PROPN_твен_PROPN", - "маркиз_NOUN_де_PART", - "маркиз_NOUN_кадикский_PROPN", - "маркиз_PROPN_де_PART", - "маркиза_NOUN_де_PART", - "марко_PROPN_поло_PROPN", - "марсовый_ADJ_поле_NOUN", - "март_NOUN_год_NOUN", - "март_NOUN_месяц_NOUN", - "мартовский_ADJ_день_NOUN", - "мартовский_ADJ_заяц_NOUN", - "марфа_PROPN_василиевич_PROPN", - "марфа_PROPN_захарович_PROPN", - "марфа_PROPN_петрович_PROPN", - "марфа_PROPN_тимофеевич_PROPN", - "марфа_PROPN_тихонович_PROPN", - "марш_NOUN_домой_ADV", - "марш_NOUN_марш_NOUN", - "марш_NOUN_отсюда_ADV", - "маршал_NOUN_серано_PROPN", - "марь_PROPN_иванна_PROPN", - "марь_PROPN_яна_PROPN", - "марья_PROPN_антонович_PROPN", - "марья_PROPN_василиевич_PROPN", - "марья_PROPN_дмитриевич_PROPN", - "марья_PROPN_егорович_PROPN", - "марья_PROPN_иванович_PROPN", - "марья_PROPN_игнатиевич_PROPN", - "марья_PROPN_львович_PROPN", - "марья_PROPN_моревна_PROPN", - "марья_PROPN_моревну_PROPN", - "марья_PROPN_николаевич_PROPN", - "марья_PROPN_осипович_PROPN", - "марья_PROPN_петрович_PROPN", - "марья_PROPN_семёнович_PROPN", - "марья_PROPN_сергеевич_PROPN", - "марья_PROPN_степанович_PROPN", - "марья_PROPN_царевна_NOUN", - "марья_PROPN_царевна_PROPN", - "маскарадный_ADJ_костюм_NOUN", - "масляный_ADJ_краска_NOUN", - "масляный_ADJ_лампа_NOUN", - "масляный_ADJ_пятно_NOUN", - "массивный_ADJ_дверь_NOUN", - "массивный_ADJ_железный_ADJ", - "массивный_ADJ_золотой_ADJ", - "массивный_ADJ_фигура_NOUN", - "мастер_NOUN_баллантрэ_PROPN", - "мастер_NOUN_спорт_NOUN", - "мастер_NOUN_трофим_PROPN", - "матаи_PROPN_шанг_PROPN", - "матвей_PROPN_григориевич_PROPN", - "матвей_PROPN_иванович_PROPN", - "матвей_PROPN_ильич_PROPN", - "матвей_PROPN_никитович_PROPN", - "матвей_PROPN_петрович_PROPN", - "матвей_PROPN_степанович_PROPN", - "матвей_PROPN_юриевич_PROPN", - "математический_ADJ_наука_NOUN", - "математический_ADJ_способность_NOUN", - "материал_NOUN_для_ADP", - "материальный_ADJ_положение_NOUN", - "материальный_ADJ_ценность_NOUN", - "материнский_ADJ_ласка_NOUN", - "материнский_ADJ_любовь_NOUN", - "материнский_ADJ_нежность_NOUN", - "материнский_ADJ_сердце_NOUN", - "матильда_PROPN_францевич_PROPN", - "матовый_ADJ_стекло_NOUN", - "матросский_ADJ_воротник_NOUN", - "матросский_ADJ_костюм_NOUN", - "матрёна_PROPN_иванович_PROPN", - "матрёна_PROPN_никитович_PROPN", - "матушка_NOUN_барберен_PROPN", - "матушка_NOUN_барыня_NOUN", - "матушка_NOUN_царица_NOUN", - "мать_NOUN_и_NOUN", - "мать_NOUN_манефа_PROPN", - "мать_PROPN_земля_PROPN", - "матьяс_PROPN_ван_PROPN", - "махать_VERB_крыло_NOUN", - "махать_VERB_платок_NOUN", - "махать_VERB_рука_NOUN", - "махать_VERB_хвост_NOUN", - "махать_VERB_шляпа_NOUN", - "махбуб_PROPN_али_PROPN", - "махнуть_VERB_рука_NOUN", - "махнуть_VERB_рукою_NOUN", - "махнуть_VERB_рукою_PROPN", - "махорочный_ADJ_дым_NOUN", - "махровый_ADJ_полотенце_NOUN", - "машина_NOUN_въехать_VERB", - "машина_NOUN_скорый_ADJ", - "машина_NOUN_тронуться_VERB", - "машинально_ADV_ответить_VERB", - "машинально_ADV_повиноваться_VERB", - "машинально_ADV_повторить_VERB", - "машинально_ADV_поправить_VERB", - "машинный_ADJ_зал_NOUN", - "машинный_ADJ_масло_NOUN", - "машинный_ADJ_отделение_NOUN", - "мгновение_NOUN_задуматься_VERB", - "мгновение_NOUN_замереть_VERB", - "мгновение_NOUN_ока_NOUN", - "мгновение_NOUN_спустя_ADP", - "мгновенно_ADV_вскочить_VERB", - "мгновенно_ADV_вспыхнуть_VERB", - "мгновенно_ADV_заснуть_VERB", - "мгновенно_ADV_измениться_VERB", - "мгновенно_ADV_исчезнуть_VERB", - "мгновенно_ADV_превратиться_VERB", - "мгновенно_ADV_скрыться_VERB", - "мгновенно_ADV_уснуть_VERB", - "мебельный_ADJ_фабрика_NOUN", - "меблированный_ADJ_комната_NOUN", - "медведь_NOUN_потап_PROPN", - "медведь_NOUN_спиридон_PROPN", - "медвежий_ADJ_берлога_NOUN", - "медвежий_ADJ_лапа_NOUN", - "медвежий_ADJ_след_NOUN", - "медвежий_ADJ_шкура_NOUN", - "медвежонок_PROPN_железный_ADJ", - "медицинский_ADJ_институт_NOUN", - "медицинский_ADJ_осмотр_NOUN", - "медицинский_ADJ_помощь_NOUN", - "медицинский_ADJ_работник_NOUN", - "медицинский_ADJ_сестра_NOUN", - "медицинский_ADJ_факультет_NOUN", - "медленно_ADV_брести_VERB", - "медленно_ADV_вращаться_VERB", - "медленно_ADV_двигаться_VERB", - "медленно_ADV_двинуться_VERB", - "медленно_ADV_катиться_VERB", - "медленно_ADV_опускаться_VERB", - "медленно_ADV_опуститься_VERB", - "медленно_ADV_оседать_VERB", - "медленно_ADV_отступать_VERB", - "медленно_ADV_передвигаться_VERB", - "медленно_ADV_плыть_VERB", - "медленно_ADV_побрести_VERB", - "медленно_ADV_поворачивать_VERB", - "медленно_ADV_поворачиваться_VERB", - "медленно_ADV_погружаться_VERB", - "медленно_ADV_подвигаться_VERB", - "медленно_ADV_подниматься_VERB", - "медленно_ADV_покачиваться_VERB", - "медленно_ADV_ползти_VERB", - "медленно_ADV_поплестись_VERB", - "медленно_ADV_поплыть_VERB", - "медленно_ADV_поползти_VERB", - "медленно_ADV_приближаться_VERB", - "медленно_ADV_пробираться_VERB", - "медленно_ADV_проговорить_VERB", - "медленно_ADV_продвигаться_VERB", - "медленно_ADV_проплывать_VERB", - "медленно_ADV_прохаживаться_VERB", - "медленно_ADV_сползать_VERB", - "медленно_ADV_сползти_VERB", - "медленно_ADV_спускаться_VERB", - "медленно_ADV_таять_VERB", - "медленно_ADV_удаляться_VERB", - "медленный_ADJ_движение_NOUN", - "медленный_ADJ_огонь_NOUN", - "медленный_ADJ_смерть_NOUN", - "медленный_ADJ_танец_NOUN", - "медленный_ADJ_шаг_NOUN", - "медленный_ADV_чем_SCONJ", - "медлить_VERB_нельзя_ADV", - "медля_VERB_ни_CCONJ", - "медля_VERB_ни_PART", - "медно_ADJ_красный_ADJ", - "медный_ADJ_всадник_NOUN", - "медный_ADJ_дощечка_NOUN", - "медный_ADJ_кольцо_NOUN", - "медный_ADJ_котёл_NOUN", - "медный_ADJ_кувшин_NOUN", - "медный_ADJ_монета_NOUN", - "медный_ADJ_пластинка_NOUN", - "медный_ADJ_проволока_NOUN", - "медный_ADJ_пряжка_NOUN", - "медный_ADJ_пуговица_NOUN", - "медный_ADJ_пятак_NOUN", - "медный_ADJ_ручка_NOUN", - "медный_ADJ_таз_NOUN", - "медный_ADJ_тарелка_NOUN", - "медный_ADJ_труба_NOUN", - "медный_ADJ_трубка_NOUN", - "медный_ADJ_чайник_NOUN", - "медовый_ADJ_голос_NOUN", - "медовый_ADJ_месяц_NOUN", - "меж_ADP_дерево_NOUN", - "меж_ADP_камень_NOUN", - "меж_ADP_ними_PRON", - "меж_ADP_тем_PRON", - "меж_NOUN_тем_PRON", - "междоусобный_ADJ_война_NOUN", - "между_ADP_которыми_PRON", - "между_ADP_лопатка_NOUN", - "между_ADP_нами_PRON", - "между_ADP_ними_PRON", - "между_ADP_партами_NOUN", - "между_ADP_прочее_PRON", - "между_ADP_прочим_ADJ", - "между_ADP_прочими_ADJ", - "между_ADP_прут_NOUN", - "между_ADP_тем_PRON", - "международный_ADJ_конкурс_NOUN", - "международный_ADJ_положение_NOUN", - "межпланетный_ADJ_корабль_NOUN", - "межпланетный_ADJ_пространство_NOUN", - "межпланетный_ADJ_путешествие_NOUN", - "мейстер_NOUN_вальтер_PROPN", - "мейстер_PROPN_вальтер_PROPN", - "мексиканский_ADJ_армия_NOUN", - "мексиканский_ADJ_залив_NOUN", - "мексиканский_ADJ_правительство_NOUN", - "мелентий_PROPN_фомич_PROPN", - "мелкий_ADJ_деталь_NOUN", - "мелкий_ADJ_дичь_NOUN", - "мелкий_ADJ_дождик_NOUN", - "мелкий_ADJ_дождь_NOUN", - "мелкий_ADJ_дробь_NOUN", - "мелкий_ADJ_дрожь_NOUN", - "мелкий_ADJ_камешек_NOUN", - "мелкий_ADJ_капелька_NOUN", - "мелкий_ADJ_клочок_NOUN", - "мелкий_ADJ_кусочек_NOUN", - "мелкий_ADJ_кустарник_NOUN", - "мелкий_ADJ_монета_NOUN", - "мелкий_ADJ_морщинка_NOUN", - "мелкий_ADJ_неприятность_NOUN", - "мелкий_ADJ_осколок_NOUN", - "мелкий_ADJ_подробность_NOUN", - "мелкий_ADJ_рыбка_NOUN", - "мелкий_ADJ_рыбёшка_NOUN", - "мелкий_ADJ_рябь_NOUN", - "мелкий_ADJ_сошка_NOUN", - "мелкий_ADJ_торговец_NOUN", - "мелкий_ADJ_частица_NOUN", - "мелкий_ADJ_шажками_NOUN", - "мелкий_ADJ_шажок_NOUN", - "мелкий_ADJ_шрифт_NOUN", - "мелко_ADV_дрожать_VERB", - "мелко_ADV_исписать_VERB", - "мелко_ADV_мелко_ADV", - "мелко_ADV_нарезать_VERB", - "мелодичный_ADJ_голос_NOUN", - "мелодичный_ADJ_звон_NOUN", - "мелодичный_ADJ_звук_NOUN", - "мелькать_VERB_тень_NOUN", - "мелькнуть_VERB_мысль_NOUN", - "мелькнуть_VERB_огонёк_NOUN", - "мелькнуть_VERB_чей_DET", - "мельком_ADV_взглянуть_VERB", - "мельком_NOUN_взглянуть_VERB", - "мельком_PROPN_взглянуть_VERB", - "мельком_PROPN_глянуть_VERB", - "мельничный_ADJ_колесо_NOUN", - "мен_PROPN_хи_PROPN", - "менее_ADV_важный_ADJ", - "менее_ADV_заметный_ADJ", - "менее_ADV_значительный_ADJ", - "менее_ADV_опасный_ADJ", - "меновой_ADJ_торговля_NOUN", - "меньше_NUM_всего_PRON", - "меньше_NUM_получаса_NOUN", - "меньше_NUM_чем_SCONJ", - "меньшой_ADJ_брат_NOUN", - "меня_PRON_осенить_VERB", - "меня_PRON_поплясать_VERB", - "менять_VERB_курс_NOUN", - "менять_VERB_направление_NOUN", - "менять_VERB_поза_NOUN", - "менять_VERB_положение_NOUN", - "менять_VERB_тон_NOUN", - "менять_VERB_цвет_NOUN", - "мера_NOUN_длина_NOUN", - "мера_NOUN_надобность_NOUN", - "мера_NOUN_наказание_NOUN", - "мера_NOUN_предосторожность_NOUN", - "мера_NOUN_приближение_NOUN", - "мера_NOUN_того_PRON", - "мери_PROPN_грант_PROPN", - "мерить_VERB_шаг_NOUN", - "мерно_ADV_покачиваться_VERB", - "мерный_ADJ_удар_NOUN", - "мерный_ADJ_шаг_NOUN", - "мертвенно_ADV_бледный_ADJ", - "мертвенный_ADJ_бледность_NOUN", - "мертвенный_ADJ_бледный_ADJ", - "мертвецки_ADV_пьяный_ADJ", - "мерцать_VERB_звезда_NOUN", - "мерцать_VERB_огонёк_NOUN", - "мерцать_VERB_свет_NOUN", - "месить_VERB_тесто_NOUN", - "месс_PROPN_летьерри_PROPN", - "месса_NOUN_летьерри_PROPN", - "местный_ADJ_власть_NOUN", - "местный_ADJ_газета_NOUN", - "местный_ADJ_достопримечательность_NOUN", - "местный_ADJ_житель_NOUN", - "местный_ADJ_наречие_NOUN", - "местный_ADJ_население_NOUN", - "местный_ADJ_обычай_NOUN", - "местный_ADJ_полиция_NOUN", - "местный_ADJ_условие_NOUN", - "место_NOUN_жительство_NOUN", - "место_NOUN_назначение_NOUN", - "место_NOUN_обитание_NOUN", - "место_NOUN_побоище_NOUN", - "место_NOUN_преступление_NOUN", - "место_NOUN_происшествие_NOUN", - "место_NOUN_стоянка_NOUN", - "месье_PROPN_жерар_PROPN", - "месье_PROPN_серж_PROPN", - "месяц_NOUN_назад_ADV", - "месяц_NOUN_светило_NOUN", - "месяц_NOUN_спустя_ADP", - "месяц_NOUN_тому_ADV", - "месяца_NOUN_через_ADP", - "металлический_ADJ_звон_NOUN", - "металлический_ADJ_звук_NOUN", - "металлический_ADJ_кольцо_NOUN", - "металлический_ADJ_пластинка_NOUN", - "металлический_ADJ_предмет_NOUN", - "металлический_ADJ_прут_NOUN", - "металлический_ADJ_решётка_NOUN", - "металлический_ADJ_сетка_NOUN", - "металлический_ADJ_труба_NOUN", - "металлический_ADJ_ящик_NOUN", - "металлургический_ADJ_завод_NOUN", - "метательный_ADJ_снаряд_NOUN", - "метать_VERB_икра_NOUN", - "метать_VERB_искра_NOUN", - "метать_VERB_молния_NOUN", - "метаться_VERB_взад_ADV", - "метаться_VERB_между_ADP", - "метаться_VERB_по_ADP", - "метеорологический_ADJ_станция_NOUN", - "меткий_ADJ_выстрел_NOUN", - "меткий_ADJ_пуля_NOUN", - "меткий_ADJ_пуля_PROPN", - "меткий_ADJ_стрелок_NOUN", - "меткий_ADJ_удар_NOUN", - "метко_ADV_стрелять_VERB", - "метнуть_VERB_взгляд_NOUN", - "метнуть_VERB_копьё_NOUN", - "метод_NOUN_воспитание_NOUN", - "метод_NOUN_лечение_NOUN", - "метр_NOUN_высота_NOUN", - "метр_NOUN_двести_NUM", - "метр_NOUN_длина_NOUN", - "метр_NOUN_полтора_NUM", - "метр_NOUN_пятьдесят_NUM", - "метр_NOUN_сто_NUM", - "метр_NOUN_тридцать_NUM", - "метр_NOUN_ширина_NOUN", - "метров_PROPN_через_ADP", - "мефодий_PROPN_кириллович_PROPN", - "механический_ADJ_голос_NOUN", - "механический_ADJ_мастерская_NOUN", - "механический_ADJ_птица_NOUN", - "механический_ADJ_цех_NOUN", - "мехмед_PROPN_паша_PROPN", - "меховой_ADJ_воротник_NOUN", - "меховой_ADJ_куртка_NOUN", - "меховой_ADJ_одежда_NOUN", - "меховой_ADJ_шапка_NOUN", - "меч_NOUN_торн_PROPN", - "мечта_NOUN_сбыться_VERB", - "мечтательно_ADV_проговорить_VERB", - "мечтательно_ADV_произнести_VERB", - "мечтательно_ADV_протянуть_VERB", - "мечтать_VERB_вслух_ADV", - "мечтать_VERB_о_ADP", - "мечтать_VERB_об_ADP", - "мешок_NOUN_мука_NOUN", - "мешок_NOUN_набить_VERB", - "миг_NOUN_очутиться_VERB", - "мигать_VERB_смотреть_VERB", - "мигель_PROPN_баск_PROPN", - "мик_PROPN_мик_PROPN", - "миклухо_PROPN_маклай_PROPN", - "микола_PROPN_львович_PROPN", - "мила_NOUN_от_ADP", - "милицейский_ADJ_машина_NOUN", - "милицейский_ADJ_свисток_NOUN", - "милицейский_ADJ_форма_NOUN", - "милицейский_ADJ_фуражка_NOUN", - "милиционер_NOUN_свистулькин_PROPN", - "милиция_NOUN_вызвать_VERB", - "милиция_NOUN_заявить_VERB", - "миллиард_NOUN_год_NOUN", - "миллион_NOUN_год_NOUN", - "миллион_NOUN_доллар_NOUN", - "миллион_NOUN_квадратный_ADJ", - "миллион_NOUN_километр_NOUN", - "миллион_NOUN_рубль_NOUN", - "миллион_NOUN_тонна_NOUN", - "миллион_NOUN_франк_NOUN", - "миллион_NOUN_фунт_NOUN", - "мило_ADV_улыбаться_VERB", - "мило_ADV_улыбнуться_VERB", - "милостивый_ADJ_государыня_NOUN", - "милостивый_ADJ_государь_NOUN", - "милостивый_ADV_разрешить_VERB", - "милостивый_ADV_согласиться_VERB", - "милость_NOUN_победитель_NOUN", - "милость_NOUN_просить_VERB", - "милость_PROPN_просить_VERB", - "милый_ADJ_барышня_NOUN", - "милый_ADJ_дитя_NOUN", - "милый_ADJ_крошка_NOUN", - "милый_ADJ_личико_NOUN", - "милый_ADJ_людмила_PROPN", - "милый_ADJ_сестрица_NOUN", - "миля_NOUN_отсюда_ADV", - "миля_PROPN_корбина_PROPN", - "мимо_ADP_ухо_NOUN", - "мимо_ADV_пройти_VERB", - "мимо_ADV_проноситься_VERB", - "мимо_ADV_проходить_VERB", - "мин_PROPN_си_PROPN", - "минеральный_ADJ_вещество_NOUN", - "минеральный_ADJ_вода_NOUN", - "минеральный_ADJ_соль_NOUN", - "мини_NOUN_юбка_NOUN", - "министерство_NOUN_иностранный_ADJ", - "министр_NOUN_внутренний_ADJ", - "министр_NOUN_иностранный_ADJ", - "министр_NOUN_финансов_NOUN", - "министр_NOUN_юстиция_NOUN", - "минный_ADJ_поле_NOUN", - "минувший_ADJ_день_NOUN", - "минувший_ADJ_ночь_NOUN", - "минут_NOUN_десять_NUM", - "минут_NOUN_пять_NUM", - "минут_NOUN_через_ADP", - "минут_PROPN_через_ADP", - "минута_NOUN_десять_NUM", - "минута_NOUN_другую_NOUN", - "минута_NOUN_назад_ADV", - "минута_NOUN_пятнадцать_NUM", - "минута_NOUN_сорока_NOUN", - "минута_NOUN_спустя_ADP", - "минутный_ADJ_слабость_NOUN", - "минутный_ADJ_стрелка_NOUN", - "мир_NOUN_сие_DET", - "мирза_PROPN_низам_PROPN", - "мириады_NOUN_звезда_NOUN", - "мириам_PROPN_киркстон_PROPN", - "мирно_ADV_беседовать_VERB", - "мирно_ADV_дремать_VERB", - "мирно_ADV_пастись_VERB", - "мирно_ADV_спать_VERB", - "мирный_ADJ_время_NOUN", - "мирный_ADJ_гражданин_NOUN", - "мирный_ADJ_договор_NOUN", - "мирный_ADJ_жизнь_NOUN", - "мирный_ADJ_житель_NOUN", - "мирный_ADJ_намерение_NOUN", - "мирный_ADJ_сон_NOUN", - "мировой_ADJ_война_NOUN", - "мировой_ADJ_литература_NOUN", - "мировой_ADJ_океан_NOUN", - "мировой_ADJ_пространство_NOUN", - "мировой_ADJ_революция_NOUN", - "мировой_ADJ_рекорд_NOUN", - "мировой_ADJ_судья_NOUN", - "мирон_PROPN_дмитриевич_PROPN", - "мирон_PROPN_сергеевич_PROPN", - "мисс_NOUN_адамс_PROPN", - "мисс_NOUN_амелия_PROPN", - "мисс_NOUN_барбара_PROPN", - "мисс_NOUN_бедфорд_PROPN", - "мисс_NOUN_беллингэм_PROPN", - "мисс_NOUN_бетси_PROPN", - "мисс_NOUN_бринклоу_PROPN", - "мисс_NOUN_ватсон_PROPN", - "мисс_NOUN_вендикс_PROPN", - "мисс_NOUN_гаррисон_PROPN", - "мисс_NOUN_говард_PROPN", - "мисс_NOUN_гоф_PROPN", - "мисс_NOUN_грант_PROPN", - "мисс_NOUN_гризль_PROPN", - "мисс_NOUN_гуд_PROPN", - "мисс_NOUN_гульд_PROPN", - "мисс_NOUN_дейнсбери_PROPN", - "мисс_NOUN_диана_PROPN", - "мисс_NOUN_доротея_PROPN", - "мисс_NOUN_кардиф_PROPN", - "мисс_NOUN_кингман_PROPN", - "мисс_NOUN_куртисс_PROPN", - "мисс_NOUN_люкс_PROPN", - "мисс_NOUN_маргарет_PROPN", - "мисс_NOUN_мери_PROPN", - "мисс_NOUN_мертон_PROPN", - "мисс_NOUN_минчин_PROPN", - "мисс_NOUN_мод_PROPN", - "мисс_NOUN_мэгги_PROPN", - "мисс_NOUN_мэри_PROPN", - "мисс_NOUN_ортон_PROPN", - "мисс_NOUN_райдер_PROPN", - "мисс_NOUN_руфь_PROPN", - "мисс_NOUN_сезиджер_PROPN", - "мисс_NOUN_селии_PROPN", - "мисс_NOUN_селия_PROPN", - "мисс_NOUN_темпль_PROPN", - "мисс_NOUN_хардинг_PROPN", - "мисс_NOUN_хонебен_PROPN", - "мисс_NOUN_хоуэтт_PROPN", - "мисс_NOUN_эдит_PROPN", - "мисс_NOUN_элен_PROPN", - "мисс_NOUN_эллен_PROPN", - "мисс_NOUN_этель_PROPN", - "миссис_NOUN_бэр_PROPN", - "миссис_NOUN_виллис_PROPN", - "миссис_NOUN_генри_PROPN", - "миссис_NOUN_джо_PROPN", - "миссис_NOUN_корнфорд_PROPN", - "миссис_NOUN_мак_PROPN", - "миссис_NOUN_мосс_PROPN", - "миссис_NOUN_уэлдон_PROPN", - "миссис_NOUN_шервуд_PROPN", - "миссис_NOUN_эйнсворт_PROPN", - "миссис_NOUN_эрроль_PROPN", - "миссис_PROPN_бэр_PROPN", - "миссис_PROPN_виллис_PROPN", - "миссис_PROPN_джо_PROPN", - "миссис_PROPN_лэй_PROPN", - "миссис_PROPN_мосс_PROPN", - "миссис_PROPN_уэлдон_PROPN", - "миссис_PROPN_шервуд_PROPN", - "миссис_PROPN_эйнсворт_PROPN", - "мистер_NOUN_бальфур_PROPN", - "мистер_NOUN_барнстейпл_PROPN", - "мистер_NOUN_барнстейпла_PROPN", - "мистер_NOUN_барнстейплу_PROPN", - "мистер_NOUN_берли_PROPN", - "мистер_NOUN_билль_PROPN", - "мистер_NOUN_браун_PROPN", - "мистер_NOUN_бэйли_PROPN", - "мистер_NOUN_бэкер_PROPN", - "мистер_NOUN_бэр_PROPN", - "мистер_NOUN_вельт_PROPN", - "мистер_NOUN_ган_PROPN", - "мистер_NOUN_гардинг_PROPN", - "мистер_NOUN_гарло_PROPN", - "мистер_NOUN_генри_PROPN", - "мистер_NOUN_гоббс_PROPN", - "мистер_NOUN_гоббса_PROPN", - "мистер_NOUN_голфорби_PROPN", - "мистер_NOUN_давид_PROPN", - "мистер_NOUN_джон_PROPN", - "мистер_NOUN_джонсон_PROPN", - "мистер_NOUN_додд_PROPN", - "мистер_NOUN_дэл_PROPN", - "мистер_NOUN_картер_PROPN", - "мистер_NOUN_кчерни_PROPN", - "мистер_NOUN_кэмби_PROPN", - "мистер_NOUN_кэтскилл_PROPN", - "мистер_NOUN_лекомб_PROPN", - "мистер_NOUN_лоренс_PROPN", - "мистер_NOUN_мак_PROPN", - "мистер_NOUN_медж_PROPN", - "мистер_NOUN_морзе_PROPN", - "мистер_NOUN_ньютон_PROPN", - "мистер_NOUN_паррет_PROPN", - "мистер_NOUN_пинкертон_PROPN", - "мистер_NOUN_питч_PROPN", - "мистер_NOUN_райэч_PROPN", - "мистер_NOUN_ридер_PROPN", - "мистер_NOUN_ричардсон_PROPN", - "мистер_NOUN_рэнсом_PROPN", - "мистер_NOUN_свинтон_PROPN", - "мистер_NOUN_силкин_PROPN", - "мистер_NOUN_смит_PROPN", - "мистер_NOUN_стюарт_PROPN", - "мистер_NOUN_томсон_PROPN", - "мистер_NOUN_уизрингтон_PROPN", - "мистер_NOUN_фотерингей_PROPN", - "мистер_NOUN_хевишэм_PROPN", - "мистер_NOUN_хейвлок_PROPN", - "мистер_NOUN_холмс_PROPN", - "мистер_NOUN_хоуэтт_PROPN", - "мистер_NOUN_хэвишем_PROPN", - "мистер_NOUN_эверад_PROPN", - "мистер_NOUN_эйнсворт_PROPN", - "мистрис_PROPN_вилугби_PROPN", - "мистрис_PROPN_петтибон_PROPN", - "мистрис_PROPN_строг_PROPN", - "мистрис_PROPN_уиллис_PROPN", - "мистрис_PROPN_эллис_PROPN", - "мистрисс_PROPN_дик_PROPN", - "митрофан_NOUN_ильич_PROPN", - "митрофан_PROPN_ильич_PROPN", - "миф_NOUN_о_ADP", - "михаил_PROPN_александрович_PROPN", - "михаил_PROPN_алексеевич_PROPN", - "михаил_PROPN_андреевич_PROPN", - "михаил_PROPN_антонович_PROPN", - "михаил_PROPN_афанасиевич_PROPN", - "михаил_PROPN_богданович_PROPN", - "михаил_PROPN_борисович_PROPN", - "михаил_PROPN_василиевич_PROPN", - "михаил_PROPN_григориевич_PROPN", - "михаил_PROPN_дмитриевич_PROPN", - "михаил_PROPN_иванович_PROPN", - "михаил_PROPN_михаилович_PROPN", - "михаил_PROPN_николаевич_PROPN", - "михаил_PROPN_павлович_PROPN", - "михаил_PROPN_петрович_PROPN", - "михаил_PROPN_семёнович_PROPN", - "михаил_PROPN_сергеевич_PROPN", - "михаил_PROPN_степанович_PROPN", - "михаил_PROPN_фёдорович_PROPN", - "михаил_PROPN_юриевич_PROPN", - "михайло_PROPN_андреевич_PROPN", - "михайло_PROPN_иванович_PROPN", - "михал_PROPN_михаилович_PROPN", - "миша_PROPN_кувалдин_PROPN", - "мишель_PROPN_ардан_PROPN", - "мишень_NOUN_для_ADP", - "младший_ADJ_баба_PROPN", - "младший_ADJ_брат_NOUN", - "младший_ADJ_братишка_NOUN", - "младший_ADJ_вождь_NOUN", - "младший_ADJ_возраст_NOUN", - "младший_ADJ_группа_NOUN", - "младший_ADJ_дочь_NOUN", - "младший_ADJ_класс_NOUN", - "младший_ADJ_лейтенант_NOUN", - "младший_ADJ_отделение_NOUN", - "младший_ADJ_помощник_NOUN", - "младший_ADJ_сержант_NOUN", - "младший_ADJ_сестра_NOUN", - "младший_ADJ_сестрёнка_NOUN", - "младший_ADJ_сын_NOUN", - "младший_ADJ_член_NOUN", - "младший_ADJ_школьный_ADJ", - "млеть_VERB_от_ADP", - "млечный_ADJ_пути_PROPN", - "млечный_ADJ_путь_NOUN", - "млечный_ADJ_путь_PROPN", - "мне_PRON_думаться_VERB", - "мне_PRON_нравишься_VERB", - "мне_PRON_помниться_VERB", - "мнимый_ADJ_маркиз_NOUN", - "мнить_VERB_себя_PRON", - "многие_ADJ_другие_ADJ", - "многие_ADJ_километр_NOUN", - "многие_ADJ_сотня_NOUN", - "многие_NOUN_считать_VERB", - "многим_NOUN_обязанный_ADJ", - "многим_NUM_другим_ADJ", - "многим_NUM_причина_NOUN", - "многими_NUM_другими_ADJ", - "многих_NUM_других_ADJ", - "многих_NUM_место_NOUN", - "многих_NUM_отношение_NOUN", - "многих_NUM_поколение_NOUN", - "многих_NUM_страна_NOUN", - "много_ADV_народ_NOUN", - "много_ADV_путешествовать_VERB", - "много_ADV_хлопот_NOUN", - "много_NUM_время_NOUN", - "много_NUM_горе_NOUN", - "много_NUM_деньга_NOUN", - "много_NUM_добро_NOUN", - "много_NUM_зло_NOUN", - "много_NUM_интересный_ADJ", - "много_NUM_километр_NOUN", - "много_NUM_миля_NOUN", - "много_NUM_много_ADV", - "много_NUM_неприятность_NOUN", - "много_NUM_полезный_ADJ", - "многодневный_ADJ_поход_NOUN", - "многое_NOUN_другое_ADJ", - "многое_NOUN_зависеть_VERB", - "многое_NOUN_измениться_VERB", - "многое_NOUN_многое_NOUN", - "многое_NOUN_множество_NOUN", - "многозначительно_ADV_взглянуть_VERB", - "многозначительно_ADV_переглянуться_VERB", - "многозначительно_ADV_поднять_VERB", - "многозначительно_ADV_посмотреть_VERB", - "многозначительно_ADV_произнести_VERB", - "многозначительный_ADJ_взгляд_NOUN", - "многозначительный_ADJ_вид_NOUN", - "многозначительный_ADJ_улыбка_NOUN", - "многом_NOUN_зависеть_VERB", - "многому_NOUN_научиться_VERB", - "многотысячный_ADJ_толпа_NOUN", - "многочисленный_ADJ_общество_NOUN", - "многочисленный_ADJ_отряд_NOUN", - "многочисленный_ADJ_свита_NOUN", - "многочисленный_ADJ_семейство_NOUN", - "многоэтажный_ADJ_дом_NOUN", - "множественный_ADJ_число_NOUN", - "множество_NOUN_других_ADJ", - "множество_NOUN_мелкий_ADJ", - "множество_NOUN_различный_ADJ", - "множество_NOUN_разнообразный_ADJ", - "мной_PRON_гнаться_VERB", - "мной_PRON_издеваться_VERB", - "мною_PRON_овладеть_VERB", - "мобильный_ADJ_телефон_NOUN", - "могильный_ADJ_плита_NOUN", - "могильный_ADJ_тишина_NOUN", - "могильный_ADJ_холм_NOUN", - "могучий_ADJ_богатырь_NOUN", - "могучий_ADJ_дуб_NOUN", - "могучий_ADJ_крыло_NOUN", - "могучий_ADJ_лапа_NOUN", - "могучий_ADJ_ствол_NOUN", - "могучий_ADJ_удар_NOUN", - "могучий_ADJ_фигура_NOUN", - "могущественный_ADJ_король_NOUN", - "модный_ADJ_журнал_NOUN", - "модный_ADJ_причёска_NOUN", - "моей_PROPN_длина_PROPN", - "можно_ADV_было_AUX", - "можно_ADV_выразиться_VERB", - "можно_ADV_долгий_ADV", - "можно_ADV_осторожный_ADV", - "можно_ADV_положиться_VERB", - "можно_ADV_равнодушный_ADV", - "можно_ADV_скорее_ADV", - "можно_ADV_спокойный_ADV", - "можно_ADV_сравнить_VERB", - "можно_ADV_тише_ADV", - "мозг_NOUN_кость_NOUN", - "мозг_NOUN_ринг_PROPN", - "мозолистый_ADJ_рука_NOUN", - "моисей_PROPN_григориевич_PROPN", - "мой_DET_батя_NOUN", - "мой_DET_возлюбленная_NOUN", - "мой_DET_возлюбленный_NOUN", - "мой_DET_двоюродный_ADJ", - "мой_DET_длина_PROPN", - "мой_DET_дружок_NOUN", - "мой_DET_названый_ADJ", - "мой_DET_ненаглядный_ADJ", - "мой_DET_почтение_NOUN", - "мой_DET_прадед_NOUN", - "мой_DET_предок_NOUN", - "мокнуть_VERB_под_ADP", - "мокрый_ADJ_асфальт_NOUN", - "мокрый_ADJ_бельё_NOUN", - "мокрый_ADJ_волос_NOUN", - "мокрый_ADJ_глина_NOUN", - "мокрый_ADJ_курица_NOUN", - "мокрый_ADJ_одежда_NOUN", - "мокрый_ADJ_песок_NOUN", - "мокрый_ADJ_полотенце_NOUN", - "мокрый_ADJ_снег_NOUN", - "мокрый_ADJ_трава_NOUN", - "мокрый_ADJ_тряпка_NOUN", - "молва_NOUN_о_ADP", - "молитвенно_ADV_сложить_VERB", - "молитвенный_ADJ_дом_NOUN", - "молить_VERB_бог_NOUN", - "молить_VERB_бог_PROPN", - "молить_VERB_о_ADP", - "молиться_VERB_бог_PROPN", - "молниеносный_ADJ_быстрота_NOUN", - "молния_NOUN_осветить_VERB", - "молния_NOUN_пронестись_VERB", - "молния_NOUN_прорезать_VERB", - "молния_NOUN_сверкать_VERB", - "молния_NOUN_сверкнуть_VERB", - "молния_NOUN_ударить_VERB", - "молоденький_ADJ_девушка_NOUN", - "молоденький_ADJ_учительница_NOUN", - "молодец_NOUN_молодец_NOUN", - "молодец_NOUN_похвалить_VERB", - "молодой_ADJ_археолог_NOUN", - "молодой_ADJ_берёзка_NOUN", - "молодой_ADJ_вдова_NOUN", - "молодой_ADJ_гвардия_NOUN", - "молодой_ADJ_геолог_NOUN", - "молодой_ADJ_девушка_NOUN", - "молодой_ADJ_деревца_NOUN", - "молодой_ADJ_джентльмен_NOUN", - "молодой_ADJ_дубок_NOUN", - "молодой_ADJ_женщина_NOUN", - "молодой_ADJ_инженер_NOUN", - "молодой_ADJ_леди_NOUN", - "молодой_ADJ_неопытный_ADJ", - "молодой_ADJ_орлов_PROPN", - "молодой_ADJ_особа_NOUN", - "молодой_ADJ_охотник_NOUN", - "молодой_ADJ_парень_NOUN", - "молодой_ADJ_побег_NOUN", - "молодой_ADJ_поколение_NOUN", - "молодой_ADJ_поросль_NOUN", - "молодой_ADJ_рабочий_NOUN", - "молодой_ADJ_специалист_NOUN", - "молодой_ADJ_супруги_NOUN", - "молодой_ADJ_человек_NOUN", - "молодой_ADJ_чета_NOUN", - "молочный_ADJ_белый_ADJ", - "молочный_ADJ_брат_NOUN", - "молочный_ADJ_зуб_NOUN", - "молочный_ADJ_коктейль_NOUN", - "молочный_ADJ_продукт_NOUN", - "молочный_ADJ_река_NOUN", - "молочный_ADJ_ферма_NOUN", - "молча_ADV_выслушать_VERB", - "молча_ADV_кивать_VERB", - "молча_ADV_кивнуть_VERB", - "молча_ADV_курить_VERB", - "молча_ADV_наблюдать_VERB", - "молча_ADV_наклонить_VERB", - "молча_ADV_переглянуться_VERB", - "молча_ADV_повиноваться_VERB", - "молча_ADV_поклониться_VERB", - "молча_ADV_разглядывать_VERB", - "молча_ADV_смотреть_VERB", - "молча_ADV_уставиться_VERB", - "молча_PROPN_кивнуть_VERB", - "молчавший_VERB_до_ADV", - "молчаливый_ADJ_согласие_NOUN", - "молчание_NOUN_длиться_VERB", - "момент_NOUN_зазвонить_VERB", - "момент_NOUN_когда_SCONJ", - "моментально_ADV_вскочить_VERB", - "моментально_ADV_исчезнуть_VERB", - "мона_PROPN_лиза_PROPN", - "мона_PROPN_семёнович_PROPN", - "монастырский_ADJ_двор_NOUN", - "монастырский_ADJ_сад_NOUN", - "монастырский_ADJ_стена_NOUN", - "монастырь_NOUN_святой_ADJ", - "монашеский_ADJ_ряса_NOUN", - "монетный_ADJ_двор_NOUN", - "монотонный_ADJ_голос_NOUN", - "монте_PROPN_веро_PROPN", - "монте_PROPN_карло_PROPN", - "монте_PROPN_кристо_PROPN", - "моральный_ADJ_поддержка_NOUN", - "моральный_ADJ_ущерб_NOUN", - "моргать_VERB_глаз_NOUN", - "моргнуть_VERB_глаз_NOUN", - "морда_NOUN_набить_VERB", - "мореходный_ADJ_училище_NOUN", - "морис_PROPN_рембо_PROPN", - "морить_VERB_голод_NOUN", - "мороз_NOUN_пробежать_VERB", - "мороз_PROPN_иванович_PROPN", - "морозный_ADJ_ветер_NOUN", - "морозный_ADJ_воздух_NOUN", - "морозный_ADJ_ночь_NOUN", - "морозный_ADJ_узор_NOUN", - "моросить_VERB_дождь_NOUN", - "моросить_VERB_мелкий_ADJ", - "морочить_VERB_голова_NOUN", - "морской_ADJ_бинокль_NOUN", - "морской_ADJ_бой_NOUN", - "морской_ADJ_болезнь_NOUN", - "морской_ADJ_водоросль_NOUN", - "морской_ADJ_волк_NOUN", - "морской_ADJ_волна_NOUN", - "морской_ADJ_гладь_NOUN", - "морской_ADJ_глубина_NOUN", - "морской_ADJ_даль_NOUN", - "морской_ADJ_дно_NOUN", - "морской_ADJ_дьявол_NOUN", - "морской_ADJ_животное_NOUN", - "морской_ADJ_звезда_NOUN", - "морской_ADJ_змей_NOUN", - "морской_ADJ_змея_NOUN", - "морской_ADJ_капуста_NOUN", - "морской_ADJ_карта_NOUN", - "морской_ADJ_конёк_NOUN", - "морской_ADJ_корова_NOUN", - "морской_ADJ_лев_NOUN", - "морской_ADJ_лев_PROPN", - "морской_ADJ_лилия_NOUN", - "морской_ADJ_миля_NOUN", - "морской_ADJ_министр_NOUN", - "морской_ADJ_орёл_NOUN", - "морской_ADJ_офицер_NOUN", - "морской_ADJ_охотник_NOUN", - "морской_ADJ_пена_NOUN", - "морской_ADJ_пехота_NOUN", - "морской_ADJ_побережье_NOUN", - "морской_ADJ_порт_NOUN", - "морской_ADJ_прибой_NOUN", - "морской_ADJ_прилив_NOUN", - "морской_ADJ_простор_NOUN", - "морской_ADJ_путешествие_NOUN", - "морской_ADJ_пучина_NOUN", - "морской_ADJ_разбой_NOUN", - "морской_ADJ_разбойник_NOUN", - "морской_ADJ_разбойник_PROPN", - "морской_ADJ_раковина_NOUN", - "морской_ADJ_свинка_NOUN", - "морской_ADJ_служба_NOUN", - "морской_ADJ_соль_NOUN", - "морской_ADJ_сражение_NOUN", - "морской_ADJ_узел_NOUN", - "морской_ADJ_училище_NOUN", - "морской_ADJ_фуражка_NOUN", - "морской_ADJ_царь_PROPN", - "морской_ADJ_чайка_NOUN", - "морской_ADJ_черепаха_NOUN", - "морской_ADJ_чудовище_NOUN", - "морской_ADJ_ёж_NOUN", - "морщась_VERB_от_ADP", - "морщинистый_ADJ_лицо_NOUN", - "морщинистый_ADJ_лоб_NOUN", - "морщинистый_ADJ_щека_NOUN", - "морщить_VERB_лоб_NOUN", - "морщить_VERB_нос_NOUN", - "москва_PROPN_ленинград_PROPN", - "москва_PROPN_река_PROPN", - "московский_ADJ_вокзал_NOUN", - "московский_ADJ_государство_NOUN", - "московский_ADJ_зоопарк_NOUN", - "московский_ADJ_квартира_NOUN", - "московский_ADJ_кремль_PROPN", - "московский_ADJ_область_NOUN", - "московский_ADJ_рабочий_NOUN", - "московский_ADJ_улица_NOUN", - "московский_ADJ_университет_NOUN", - "московский_ADJ_царь_NOUN", - "мост_NOUN_нельи_PROPN", - "мост_NOUN_через_ADP", - "мосье_PROPN_лепик_PROPN", - "мосье_PROPN_пертубачио_PROPN", - "мотать_VERB_голова_NOUN", - "мотать_VERB_отсюда_ADV", - "мотнуть_VERB_голова_NOUN", - "моток_NOUN_проволока_NOUN", - "мотор_NOUN_заглохнуть_VERB", - "моторный_ADJ_лодка_NOUN", - "мохнатый_ADJ_бровь_NOUN", - "мохнатый_ADJ_лапа_NOUN", - "мохнатый_ADJ_полотенце_NOUN", - "мохнатый_ADJ_шапка_NOUN", - "мочка_NOUN_ухо_NOUN", - "мочь_VERB_вместить_VERB", - "мочь_VERB_наглядеться_VERB", - "мочь_VERB_надивиться_VERB", - "мочь_VERB_налюбоваться_VERB", - "мочь_VERB_нарадоваться_VERB", - "мочь_VERB_нахвалиться_VERB", - "мочь_VERB_поручиться_VERB", - "мочь_VERB_примириться_VERB", - "мочь_VERB_соперничать_VERB", - "мочь_VERB_сравниться_VERB", - "мочь_VERB_статься_VERB", - "мочь_VERB_усидеть_VERB", - "мощный_ADJ_поток_NOUN", - "мощный_ADJ_струя_NOUN", - "мощный_ADJ_удар_NOUN", - "мощный_ADJ_фигура_NOUN", - "мощный_ADJ_челюсть_NOUN", - "мою_PROPN_длину_PROPN", - "моя_PROPN_длина_PROPN", - "мраморный_ADJ_бассейн_NOUN", - "мраморный_ADJ_доска_NOUN", - "мраморный_ADJ_колонна_NOUN", - "мраморный_ADJ_лестница_NOUN", - "мраморный_ADJ_плита_NOUN", - "мраморный_ADJ_пол_NOUN", - "мраморный_ADJ_статуя_NOUN", - "мраморный_ADJ_столик_NOUN", - "мраморный_ADJ_ступень_NOUN", - "мрачно_ADV_буркнуть_VERB", - "мрачно_ADV_добавить_VERB", - "мрачно_ADV_молчать_VERB", - "мрачно_ADV_ответить_VERB", - "мрачно_ADV_проговорить_VERB", - "мрачно_ADV_произнести_VERB", - "мрачный_ADJ_взгляд_PROPN", - "мрачный_ADJ_вид_NOUN", - "мрачный_ADJ_здание_NOUN", - "мрачный_ADJ_молчание_NOUN", - "мрачный_ADJ_мысль_NOUN", - "мрачный_ADJ_настроение_NOUN", - "мрачный_ADJ_подземелье_NOUN", - "мрачный_ADJ_предчувствие_NOUN", - "мрачный_ADJ_свод_NOUN", - "мрачный_ADJ_туча_NOUN", - "мстислав_PROPN_сергеевич_PROPN", - "муани_PROPN_лунга_PROPN", - "мудрый_ADJ_вождь_NOUN", - "мудрый_ADJ_мысль_NOUN", - "мудрый_ADJ_решение_NOUN", - "мудрый_ADJ_совет_NOUN", - "мужественно_ADV_переносить_VERB", - "мужской_ADJ_гимназия_NOUN", - "мужской_ADJ_голос_NOUN", - "мужской_ADJ_костюм_NOUN", - "мужской_ADJ_население_NOUN", - "мужской_ADJ_одежда_NOUN", - "мужской_ADJ_платье_NOUN", - "мужской_ADJ_пол_NOUN", - "мужской_ADJ_половина_NOUN", - "мужской_ADJ_род_NOUN", - "мужской_ADJ_фигура_NOUN", - "мужчина_NOUN_средний_ADJ", - "музейный_ADJ_экспонат_NOUN", - "музыка_NOUN_греметь_VERB", - "музыка_NOUN_заиграть_VERB", - "музыка_NOUN_смолкнуть_VERB", - "музыкальный_ADJ_инструмент_NOUN", - "музыкальный_ADJ_произведение_NOUN", - "музыкальный_ADJ_слух_NOUN", - "музыкальный_ADJ_училище_NOUN", - "музыкальный_ADJ_центр_NOUN", - "музыкальный_ADJ_школа_NOUN", - "музыкант_NOUN_играть_VERB", - "мука_NOUN_голод_NOUN", - "мулей_PROPN_эль_PROPN", - "мур_PROPN_вей_PROPN", - "муравьиный_ADJ_куча_NOUN", - "муравьиный_ADJ_яйцо_NOUN", - "мурашка_NOUN_побежать_VERB", - "муса_PROPN_гасан_PROPN", - "мускатный_ADJ_орех_NOUN", - "мускулистый_ADJ_рука_NOUN", - "мускулистый_ADJ_тело_NOUN", - "мускульный_ADJ_сила_NOUN", - "мускусный_ADJ_крыса_NOUN", - "мусорный_ADJ_бак_NOUN", - "мусорный_ADJ_ведро_NOUN", - "мусорный_ADJ_контейнер_NOUN", - "мусорный_ADJ_куча_NOUN", - "мусорный_ADJ_ящик_NOUN", - "мутный_ADJ_вода_NOUN", - "мутный_ADJ_волна_NOUN", - "мутный_ADJ_поток_NOUN", - "мутный_ADJ_серый_ADJ", - "муха_NOUN_слон_NOUN", - "муха_NOUN_укусить_VERB", - "мучительно_ADV_хотеться_VERB", - "мучительный_ADJ_боль_NOUN", - "мучительный_ADJ_ожидание_NOUN", - "мучительный_ADJ_смерть_NOUN", - "мучить_VERB_голод_NOUN", - "мучить_VERB_жажда_NOUN", - "мучить_VERB_совесть_NOUN", - "мучить_VERB_угрызение_NOUN", - "мчаться_VERB_вперёд_ADV", - "мчаться_VERB_навстречу_ADV", - "мы_PRON_живём_ADJ", - "мы_PRON_квиты_ADJ", - "мы_PRON_опоздаем_VERB", - "мы_PRON_принуждены_ADJ", - "мыльный_ADJ_вода_NOUN", - "мыльный_ADJ_пена_NOUN", - "мыльный_ADJ_пузырь_NOUN", - "мыс_NOUN_горн_PROPN", - "мыс_NOUN_доброй_PROPN", - "мыс_NOUN_сан_PROPN", - "мысленно_ADV_поблагодарить_VERB", - "мысленно_ADV_повторять_VERB", - "мысленно_ADV_представить_VERB", - "мысленно_ADV_представлять_VERB", - "мысленный_ADJ_взор_NOUN", - "мыслимый_ADJ_ли_PART", - "мыслить_VERB_существо_NOUN", - "мысль_NOUN_промелькнуть_VERB", - "мысль_NOUN_путаться_VERB", - "мысль_PROPN_о_ADP", - "мыть_VERB_пол_NOUN", - "мыть_VERB_посуда_NOUN", - "мытьё_NOUN_посуда_NOUN", - "мычание_NOUN_корова_NOUN", - "мычать_VERB_корова_NOUN", - "мышастый_ADJ_лошадь_NOUN", - "мышиный_ADJ_цвет_NOUN", - "мышонок_NOUN_терентий_PROPN", - "мышь_NOUN_ловить_VERB", - "мэк_PROPN_кормик_PROPN", - "мэр_NOUN_город_NOUN", - "мэри_PROPN_джен_PROPN", - "мэри_PROPN_джозефина_PROPN", - "мэри_PROPN_дов_PROPN", - "мэри_PROPN_купп_PROPN", - "мюриэль_PROPN_брайс_PROPN", - "мягкий_ADJ_диван_NOUN", - "мягкий_ADJ_знак_NOUN", - "мягкий_ADJ_игрушка_NOUN", - "мягкий_ADJ_ковёр_NOUN", - "мягкий_ADJ_кожаный_ADJ", - "мягкий_ADJ_кресло_NOUN", - "мягкий_ADJ_ложе_NOUN", - "мягкий_ADJ_мебель_NOUN", - "мягкий_ADJ_мох_NOUN", - "мягкий_ADJ_перина_NOUN", - "мягкий_ADJ_подстилка_NOUN", - "мягкий_ADJ_подушка_NOUN", - "мягкий_ADJ_постель_NOUN", - "мягкий_ADJ_пушистый_ADJ", - "мягкий_ADJ_сидение_NOUN", - "мягкий_ADJ_складка_NOUN", - "мягкий_ADJ_ткань_NOUN", - "мягкий_ADJ_шерсть_NOUN", - "мягко_ADV_возразить_VERB", - "мягко_ADV_ступать_VERB", - "мясистый_ADJ_нос_NOUN", - "мясной_ADJ_блюдо_NOUN", - "мясной_ADJ_бульон_NOUN", - "мясной_ADJ_лавка_NOUN", - "мясной_ADJ_пища_NOUN", - "мёрзлый_ADJ_земля_NOUN", - "мёртвый_ADJ_деревня_NOUN", - "мёртвый_ADJ_душа_NOUN", - "мёртвый_ADJ_зона_NOUN", - "мёртвый_ADJ_зыбь_NOUN", - "мёртвый_ADJ_молчание_NOUN", - "мёртвый_ADJ_петля_NOUN", - "мёртвый_ADJ_тело_NOUN", - "мёртвый_ADJ_тишина_NOUN", - "мёртвый_ADJ_точка_NOUN", - "мёртвый_ADJ_хватка_NOUN", - "н_ADP_е_NOUN", - "н_ADP_о_ADP", - "н_INTJ_да_PART", - "н_INTJ_ну_PART", - "н_NOUN_н_NOUN", - "н_NOUN_нет_PART", - "на_ADP_босу_NOUN", - "на_ADP_дыбы_NOUN", - "на_ADP_карачках_NOUN", - "на_ADP_корточках_NOUN", - "на_ADP_корточки_NOUN", - "на_ADP_краешке_NOUN", - "на_ADP_курий_ADJ", - "на_ADP_отшиб_NOUN", - "на_ADP_ощупь_ADJ", - "на_ADP_ощупь_NOUN", - "на_ADP_плав_NOUN", - "на_ADP_полдороге_NOUN", - "на_ADP_полуслове_NOUN", - "на_ADP_рожон_NOUN", - "на_ADP_сегодня_NOUN", - "на_ADP_стреме_NOUN", - "на_ADP_цыпочка_NOUN", - "на_ADP_цыпочки_NOUN", - "на_ADP_четвереньках_NOUN", - "на_ADP_четвереньки_NOUN", - "на_ADV_вид_NOUN", - "на_INTJ_ка_NOUN", - "набегать_VERB_волна_NOUN", - "набедренный_ADJ_повязка_NOUN", - "набежать_VERB_волна_NOUN", - "набежать_VERB_слеза_NOUN", - "набивать_VERB_трубка_NOUN", - "набирать_VERB_высота_NOUN", - "набирать_VERB_номер_NOUN", - "набирать_VERB_сила_NOUN", - "набирать_VERB_скорость_NOUN", - "набирать_VERB_ход_NOUN", - "набираться_VERB_сила_NOUN", - "набитый_ADJ_рот_NOUN", - "набить_VERB_биток_NOUN", - "набить_VERB_трубка_NOUN", - "наблюдательный_ADJ_пост_NOUN", - "наблюдательный_ADJ_пункт_NOUN", - "наблюдать_VERB_за_ADP", - "набожно_ADV_перекреститься_VERB", - "набрать_VERB_воздух_NOUN", - "набрать_VERB_высота_NOUN", - "набрать_VERB_номер_NOUN", - "набрать_VERB_побольше_NUM", - "набрать_VERB_полный_ADJ", - "набрать_VERB_скорость_NOUN", - "набраться_VERB_дух_NOUN", - "набраться_VERB_мужество_NOUN", - "набраться_VERB_сила_NOUN", - "набраться_VERB_смелость_NOUN", - "набраться_VERB_терпение_NOUN", - "набраться_VERB_храбрость_NOUN", - "наваррский_ADJ_король_NOUN", - "навернуться_VERB_слеза_NOUN", - "наверстать_VERB_потерять_VERB", - "наверстать_VERB_упустить_VERB", - "навести_VERB_порядок_NOUN", - "навести_VERB_справка_NOUN", - "наветренный_ADJ_сторона_NOUN", - "навис_NOUN_над_ADP", - "нависать_VERB_над_ADP", - "нависнуть_VERB_бровь_NOUN", - "нависнуть_VERB_над_ADP", - "нависший_VERB_над_ADP", - "наводить_VERB_вопрос_NOUN", - "наводить_VERB_порядок_NOUN", - "наводить_VERB_справка_NOUN", - "наводить_VERB_страх_NOUN", - "наводить_VERB_ужас_NOUN", - "навозный_ADJ_жук_NOUN", - "навозный_ADJ_куча_NOUN", - "навострить_VERB_ухо_NOUN", - "навряд_ADV_ли_PART", - "навряд_VERB_ли_PART", - "навсегда_ADV_запомнить_VERB", - "навсегда_ADV_остаться_VERB", - "навсегда_ADV_покинуть_VERB", - "навсегда_ADV_покончить_VERB", - "навстречу_ADV_друг_PRON", - "навстречу_ADV_им_PRON", - "навстречу_ADV_попасться_VERB", - "навязчивый_ADJ_идея_NOUN", - "нагибаться_VERB_над_ADP", - "наглухо_ADV_закрыть_VERB", - "наглухо_ADV_запереть_VERB", - "наглухо_ADV_застегнуть_VERB", - "наглядный_ADJ_пособие_NOUN", - "наглядный_ADJ_пример_NOUN", - "нагнуть_VERB_голова_NOUN", - "нагнуться_VERB_над_ADP", - "нагнуться_VERB_поднять_VERB", - "наградить_VERB_орден_NOUN", - "нагреть_VERB_солнце_NOUN", - "нагрудный_ADJ_карман_NOUN", - "над_ADP_бездна_NOUN", - "над_ADP_болотом_NOUN", - "над_ADP_верхушками_NOUN", - "над_ADP_вершинами_NOUN", - "над_ADP_водою_NOUN", - "над_ADP_воротами_NOUN", - "над_ADP_горизонт_NOUN", - "над_ADP_землею_NOUN", - "над_ADP_которым_PRON", - "над_ADP_которыми_PRON", - "над_ADP_крыльцом_NOUN", - "над_ADP_нами_PRON", - "над_ADP_нею_PRON", - "над_ADP_ним_PRON", - "над_ADP_ними_PRON", - "над_ADP_обрывом_NOUN", - "над_ADP_переносица_NOUN", - "над_ADP_пропасть_NOUN", - "над_ADP_самыми_ADJ", - "над_ADP_уровень_NOUN", - "над_ADP_ухом_NOUN", - "надавить_VERB_кнопка_NOUN", - "надвигаться_VERB_гроза_NOUN", - "надвигаться_VERB_опасность_NOUN", - "надвинуть_VERB_шляпа_NOUN", - "надгробный_ADJ_камень_NOUN", - "надгробный_ADJ_памятник_NOUN", - "надевать_VERB_очки_NOUN", - "надевать_VERB_пальто_NOUN", - "надежда_PROPN_андреевич_PROPN", - "надежда_PROPN_василиевич_PROPN", - "надежда_PROPN_григориевич_PROPN", - "надежда_PROPN_денисович_PROPN", - "надежда_PROPN_иванович_PROPN", - "надежда_PROPN_константинович_PROPN", - "надежда_PROPN_николаевич_PROPN", - "надежда_PROPN_петрович_PROPN", - "надежда_PROPN_прохорович_PROPN", - "надежда_PROPN_сергеевич_PROPN", - "надежда_PROPN_филиппович_PROPN", - "надежда_PROPN_фёдорович_PROPN", - "надежно_ADV_спрятать_VERB", - "наделать_VERB_глупость_NOUN", - "наделать_VERB_много_NUM", - "наделать_VERB_столько_NUM", - "наделать_VERB_шум_NOUN", - "надеть_VERB_куртка_NOUN", - "надеть_VERB_маска_NOUN", - "надеть_VERB_наручник_NOUN", - "надеть_VERB_наушник_NOUN", - "надеть_VERB_очки_NOUN", - "надеть_VERB_пальто_NOUN", - "надеть_VERB_перчатка_NOUN", - "надеть_VERB_плащ_NOUN", - "надеть_VERB_поверх_ADP", - "надеть_VERB_туфля_NOUN", - "надеть_VERB_фуражка_NOUN", - "надеть_VERB_шапка_NOUN", - "надеть_VERB_шлем_NOUN", - "надеть_VERB_шляпа_NOUN", - "надлежащий_ADJ_образ_NOUN", - "надменный_ADJ_взгляд_NOUN", - "надменный_ADJ_вид_NOUN", - "надо_ADV_полагать_VERB", - "надо_ADV_срочно_ADV", - "надолго_ADV_задуматься_VERB", - "надолго_ADV_замолчать_VERB", - "надолго_ADV_хватить_VERB", - "надругаться_VERB_над_ADP", - "надтреснутый_ADJ_голос_NOUN", - "надув_VERB_губа_NOUN", - "надувать_VERB_щека_NOUN", - "надувной_ADJ_матрас_NOUN", - "надуть_VERB_губа_NOUN", - "надуть_VERB_губка_NOUN", - "надуть_VERB_щека_NOUN", - "надя_PROPN_франк_PROPN", - "надёжный_ADJ_защита_NOUN", - "надёжный_ADJ_место_NOUN", - "надёжный_ADJ_охрана_NOUN", - "надёжный_ADJ_убежище_NOUN", - "наесться_VERB_досыта_ADV", - "нажать_VERB_кнопка_NOUN", - "нажать_VERB_курок_NOUN", - "нажать_VERB_пружина_NOUN", - "нажать_VERB_спуск_NOUN", - "наждачный_ADJ_бумага_NOUN", - "нажимать_VERB_кнопка_NOUN", - "названый_ADJ_брат_NOUN", - "назвать_VERB_адрес_NOUN", - "назвать_VERB_имя_NOUN", - "назвать_VERB_фамилия_NOUN", - "назидательно_ADV_произнести_VERB", - "назначать_VERB_свидание_NOUN", - "назначить_VERB_встреча_NOUN", - "назначить_VERB_свидание_NOUN", - "назначить_VERB_срок_NOUN", - "назначить_VERB_цена_NOUN", - "назойливый_ADJ_муха_NOUN", - "наиболее_ADV_благоприятный_ADJ", - "наиболее_ADV_важный_ADJ", - "наиболее_ADV_вероятный_ADJ", - "наиболее_ADV_выгодный_ADJ", - "наиболее_ADV_известный_ADJ", - "наиболее_ADV_интересный_ADJ", - "наиболее_ADV_крупный_ADJ", - "наиболее_ADV_опасный_ADJ", - "наиболее_ADV_подходящий_ADJ", - "наиболее_ADV_удобный_ADJ", - "наиболее_ADV_ценный_ADJ", - "наивно_ADV_спросить_VERB", - "наизусть_ADV_выучить_VERB", - "найти_VERB_выход_NOUN", - "найти_VERB_клад_NOUN", - "найти_VERB_подходящий_ADJ", - "найти_VERB_приют_NOUN", - "найти_VERB_разгадка_NOUN", - "найти_VERB_способ_NOUN", - "найтись_VERB_немало_ADV", - "накануне_ADP_отъезд_NOUN", - "накануне_ADP_праздник_NOUN", - "накануне_ADV_вечер_NOUN", - "накинуть_VERB_куртка_NOUN", - "накинуть_VERB_пальто_NOUN", - "накинуть_VERB_петля_NOUN", - "накинуть_VERB_платок_NOUN", - "накинуть_VERB_плащ_NOUN", - "накинуть_VERB_халат_NOUN", - "накладный_ADJ_карман_NOUN", - "наклонившись_VERB_над_ADP", - "наклонить_VERB_голова_NOUN", - "наклониться_VERB_вперёд_ADV", - "наклониться_VERB_к_ADP", - "наклониться_VERB_над_ADP", - "наклонный_ADJ_плоскость_NOUN", - "наклонный_ADJ_положение_NOUN", - "наклонясь_VERB_над_ADP", - "наклонять_VERB_голова_NOUN", - "наклоняться_VERB_вперёд_ADV", - "наклоняться_VERB_над_ADP", - "наконец_ADV_выговорить_VERB", - "наконец_ADV_выдавить_VERB", - "наконец_ADV_настать_VERB", - "наконец_ADV_решиться_VERB", - "наконец_ADV_то_ADV", - "наконечник_NOUN_стрела_NOUN", - "накопить_VERB_деньга_NOUN", - "накормить_VERB_напоить_VERB", - "накрасить_VERB_губа_NOUN", - "накрывать_VERB_стол_NOUN", - "накрыть_VERB_стол_NOUN", - "накрыться_VERB_одеяло_NOUN", - "налево_ADV_кругом_ADV", - "налететь_VERB_ветер_NOUN", - "наливать_VERB_вода_NOUN", - "наливать_VERB_чай_NOUN", - "наливаться_VERB_кровь_NOUN", - "наливной_ADJ_яблочко_NOUN", - "налить_VERB_кровь_NOUN", - "налить_VERB_свинец_NOUN", - "налить_VERB_стакан_NOUN", - "налить_VERB_чай_NOUN", - "налиться_VERB_кровь_NOUN", - "наличный_ADJ_деньга_NOUN", - "наловить_VERB_рыба_NOUN", - "нам_PRON_предстоять_VERB", - "нам_PRON_самим_ADJ", - "намазать_VERB_масло_NOUN", - "намерен_ADJ_делать_VERB", - "наметить_VERB_жертва_NOUN", - "наметить_VERB_план_NOUN", - "наметить_VERB_путь_NOUN", - "наметить_VERB_цель_NOUN", - "нами_PRON_гнаться_VERB", - "нами_PRON_крестный_ADJ", - "нами_PRON_следить_VERB", - "намного_ADV_больше_NUM", - "намного_ADV_высоко_ADJ", - "намного_ADV_лёгкий_ADJ", - "намного_ADV_меньше_NUM", - "намного_ADV_плохой_ADJ", - "намного_ADV_простой_ADJ", - "намного_ADV_ранний_ADV", - "намного_ADV_старший_ADJ", - "наморщить_ADV_лоб_NOUN", - "наморщить_VERB_лоб_NOUN", - "нана_PROPN_сагиб_PROPN", - "нана_PROPN_сахиб_PROPN", - "нанести_VERB_визит_NOUN", - "нанести_VERB_оскорбление_NOUN", - "нанести_VERB_смертельный_ADJ", - "нанести_VERB_удар_NOUN", - "наносить_VERB_удар_NOUN", - "наотрез_ADV_отказаться_VERB", - "наотрез_ADV_отказываться_VERB", - "нападение_NOUN_индеец_NOUN", - "напасть_VERB_врасплох_ADV", - "напевать_VERB_песенка_NOUN", - "наперебой_ADV_рассказывать_VERB", - "написать_VERB_записка_NOUN", - "написать_VERB_заявление_NOUN", - "написать_VERB_мел_NOUN", - "написать_VERB_письмо_NOUN", - "написать_VERB_сочинение_NOUN", - "написать_VERB_статья_NOUN", - "напиться_VERB_пьяный_ADJ", - "напиться_VERB_чай_NOUN", - "напиться_VERB_чаять_VERB", - "напоить_VERB_чай_NOUN", - "наполеон_PROPN_бонапарт_PROPN", - "наполнить_VERB_вода_NOUN", - "наполнить_VERB_золото_NOUN", - "наполнить_VERB_стакан_NOUN", - "наполниться_VERB_слеза_NOUN", - "наполнять_VERB_воздух_NOUN", - "наполняться_VERB_вода_NOUN", - "наполняться_VERB_слеза_NOUN", - "наполовину_ADV_пустой_ADJ", - "наполовину_ADV_скрыть_VERB", - "напоминание_NOUN_о_ADP", - "напор_NOUN_ветер_NOUN", - "напор_NOUN_вода_NOUN", - "направить_VERB_лодка_NOUN", - "направить_VERB_луч_NOUN", - "направить_VERB_против_ADP", - "направиться_VERB_к_ADP", - "направиться_VERB_прямо_ADV", - "направление_NOUN_движение_NOUN", - "направляться_VERB_к_ADP", - "направляться_VERB_прямо_ADV", - "направо_ADV_налево_ADV", - "напрасно_ADV_беспокоиться_VERB", - "напрасно_ADV_искать_VERB", - "напрасно_ADV_пытаться_VERB", - "напрасно_ADV_стараться_VERB", - "напрасный_ADJ_надежда_NOUN", - "напрасный_ADJ_труд_NOUN", - "напрасный_ADJ_усилие_NOUN", - "напротив_ADP_друга_PRON", - "напротив_ADP_того_PRON", - "напрочь_ADV_забыть_VERB", - "напряг_ADJ_весь_DET", - "напрягать_VERB_весь_DET", - "напрягать_VERB_зрение_NOUN", - "напрягать_VERB_последний_ADJ", - "напрягать_VERB_слух_NOUN", - "напряжённо_ADV_вглядываться_VERB", - "напряжённо_ADV_вслушиваться_VERB", - "напряжённо_ADV_всматриваться_VERB", - "напряжённо_ADV_думать_VERB", - "напряжённо_ADV_ждать_VERB", - "напряжённо_ADV_прислушиваться_VERB", - "напряжённо_ADV_следить_VERB", - "напряжённо_ADV_слушать_VERB", - "напряжённо_ADV_смотреть_VERB", - "напряжённый_ADJ_взгляд_NOUN", - "напряжённый_ADJ_внимание_NOUN", - "напряжённый_ADJ_молчание_NOUN", - "напряжённый_ADJ_ожидание_NOUN", - "напряжённый_ADJ_поза_NOUN", - "напряжённый_ADJ_работа_NOUN", - "напряжённый_ADJ_состояние_NOUN", - "напряжённый_ADJ_тишина_NOUN", - "напрямик_ADV_через_ADP", - "наравне_ADV_со_ADP", - "нараспев_VERB_произнести_VERB", - "нарастать_VERB_гул_NOUN", - "нарезать_VERB_хлеб_NOUN", - "наркотический_ADJ_средство_NOUN", - "народ_NOUN_толпиться_VERB", - "народный_ADJ_комиссар_NOUN", - "народный_ADJ_комитет_NOUN", - "народный_ADJ_масса_NOUN", - "народный_ADJ_мститель_NOUN", - "народный_ADJ_мудрость_NOUN", - "народный_ADJ_образование_NOUN", - "народный_ADJ_песня_NOUN", - "народный_ADJ_сказка_NOUN", - "народный_ADJ_собрание_NOUN", - "народный_ADJ_суд_NOUN", - "народный_ADJ_хозяйство_NOUN", - "нарочито_ADV_громко_ADV", - "нарочно_ADV_выбрать_VERB", - "нарочно_ADV_громко_ADV", - "наружный_ADJ_вид_NOUN", - "наружный_ADJ_дверь_NOUN", - "наружный_ADJ_стена_NOUN", - "наружный_ADJ_сторона_NOUN", - "наружу_ADV_торчать_VERB", - "наручный_ADJ_час_NOUN", - "нарушать_VERB_безмолвие_NOUN", - "нарушать_VERB_закон_NOUN", - "нарушать_VERB_молчание_NOUN", - "нарушать_VERB_покой_NOUN", - "нарушать_VERB_порядок_NOUN", - "нарушать_VERB_правило_NOUN", - "нарушать_VERB_тишина_NOUN", - "нарушение_NOUN_дисциплина_NOUN", - "нарушение_NOUN_закон_NOUN", - "нарушение_NOUN_правило_NOUN", - "нарушитель_NOUN_закон_NOUN", - "нарушить_VERB_закон_NOUN", - "нарушить_VERB_клятва_NOUN", - "нарушить_VERB_молчание_NOUN", - "нарушить_VERB_покой_NOUN", - "нарушить_VERB_правило_NOUN", - "нарушить_VERB_тишина_NOUN", - "нарядно_ADV_одеть_VERB", - "нарядный_ADJ_дама_NOUN", - "нарядный_ADJ_костюм_NOUN", - "нарядный_ADJ_платье_NOUN", - "нарядный_ADJ_толпа_NOUN", - "наряду_ADV_с_ADP", - "нас_PRON_самих_ADJ", - "насвистывать_VERB_песенка_NOUN", - "населить_VERB_пункт_NOUN", - "населённый_ADJ_пункт_NOUN", - "насилие_NOUN_над_ADP", - "насильственный_ADJ_смерть_NOUN", - "насквозь_ADV_мокрый_ADJ", - "насквозь_ADV_промокнуть_VERB", - "насквозь_ADV_пропитать_VERB", - "насколько_ADV_возможно_ADV", - "насколько_ADV_возможный_ADJ", - "насколько_ADV_позволять_VERB", - "насколько_ADV_хватать_VERB", - "насколько_SCONJ_позволять_VERB", - "наскоро_ADV_одеться_VERB", - "наскоро_ADV_перекусить_VERB", - "наскоро_ADV_позавтракать_VERB", - "наскоро_ADV_пообедать_VERB", - "наслаждаться_VERB_жизнь_NOUN", - "наслаждение_NOUN_вдыхать_VERB", - "наследник_NOUN_престол_NOUN", - "наследник_NOUN_тутти_PROPN", - "наследный_ADJ_принц_NOUN", - "насмерть_ADV_перепугать_VERB", - "насмехаться_VERB_над_ADP", - "насмехаться_VERB_надо_ADV", - "насмешка_NOUN_над_ADP", - "насмешливо_ADV_отозваться_VERB", - "насмешливо_ADV_поглядывать_VERB", - "насмешливо_ADV_проговорить_VERB", - "насмешливо_ADV_произнести_VERB", - "насмешливо_ADV_протянуть_VERB", - "насмешливо_ADV_спросить_VERB", - "насмешливо_ADV_улыбаться_VERB", - "насмешливо_ADV_улыбнуться_VERB", - "насмешливый_ADJ_взгляд_NOUN", - "насмешливый_ADJ_выражение_NOUN", - "насмешливый_ADJ_голос_NOUN", - "насмешливый_ADJ_тон_NOUN", - "насмешливый_ADJ_улыбка_NOUN", - "насмешливый_ADJ_хохот_NOUN", - "насосный_ADJ_станция_NOUN", - "наставительно_ADV_заметить_VERB", - "наставительно_ADV_произнести_VERB", - "наставительно_ADV_сказать_VERB", - "настасья_PROPN_петрович_PROPN", - "настать_VERB_весна_NOUN", - "настать_VERB_время_NOUN", - "настать_VERB_зима_NOUN", - "настать_VERB_момент_NOUN", - "настать_VERB_ночь_NOUN", - "настать_VERB_очередь_NOUN", - "настать_VERB_пора_NOUN", - "настать_VERB_тишина_NOUN", - "настать_VERB_черёд_NOUN", - "настежь_ADV_открыть_VERB", - "настенный_ADJ_час_NOUN", - "настойчиво_ADV_повторить_VERB", - "настойчиво_ADV_повторять_VERB", - "настойчиво_ADV_просить_VERB", - "настойчиво_ADV_требовать_VERB", - "настойчивый_ADJ_просьба_NOUN", - "настолько_ADJ_чтобы_SCONJ", - "настолько_ADV_близко_ADV", - "настолько_ADV_глупый_ADJ", - "настолько_ADV_насколько_ADV", - "настолько_ADV_неожиданный_ADJ", - "настолько_ADV_привыкнуть_VERB", - "настолько_ADV_сильный_ADJ", - "настольный_ADJ_игра_NOUN", - "настольный_ADJ_лампа_NOUN", - "настольный_ADJ_теннис_NOUN", - "настороженно_ADV_прислушиваться_VERB", - "настороженно_ADV_спросить_VERB", - "настороженный_ADJ_взгляд_NOUN", - "настороженный_ADJ_тишина_NOUN", - "насторожить_VERB_ухо_NOUN", - "настоятельно_ADV_просить_VERB", - "настоятельно_ADV_требовать_VERB", - "настоять_VERB_чтобы_SCONJ", - "настоящий_ADJ_артист_NOUN", - "настоящий_ADJ_герой_NOUN", - "настоящий_ADJ_джентльмен_NOUN", - "настоящий_ADJ_дружба_NOUN", - "настоящий_ADJ_мужчина_NOUN", - "настоящий_ADJ_рай_NOUN", - "настоящий_ADJ_сыщик_NOUN", - "настоящий_ADJ_талант_NOUN", - "настоящий_ADJ_чудо_NOUN", - "настроение_NOUN_дух_NOUN", - "наступать_VERB_сумерки_NOUN", - "наступать_VERB_тишина_NOUN", - "наступить_VERB_весна_NOUN", - "наступить_VERB_вечер_NOUN", - "наступить_VERB_долгий_ADJ", - "наступить_VERB_долгожданный_ADJ", - "наступить_VERB_затишье_NOUN", - "наступить_VERB_зима_NOUN", - "наступить_VERB_минутный_ADJ", - "наступить_VERB_молчание_NOUN", - "наступить_VERB_неловкий_ADJ", - "наступить_VERB_ночь_NOUN", - "наступить_VERB_осень_NOUN", - "наступить_VERB_пауза_NOUN", - "наступить_VERB_продолжительный_ADJ", - "наступить_VERB_рассвет_NOUN", - "наступить_VERB_сумерки_NOUN", - "наступить_VERB_темнота_NOUN", - "наступить_VERB_тишина_NOUN", - "наступить_VERB_торжественный_ADJ", - "наступление_NOUN_весна_NOUN", - "наступление_NOUN_вечер_NOUN", - "наступление_NOUN_ночь_NOUN", - "наступление_NOUN_сумерек_NOUN", - "наступление_NOUN_темнота_NOUN", - "насупить_VERB_бровь_NOUN", - "насущный_ADJ_хлеб_NOUN", - "насчёт_ADP_того_PRON", - "нат_PROPN_пинкертон_PROPN", - "ната_PROPN_пинкертон_PROPN", - "наталья_PROPN_александрович_PROPN", - "наталья_PROPN_алексеевич_PROPN", - "наталья_PROPN_андреевич_PROPN", - "наталья_PROPN_борисович_PROPN", - "наталья_PROPN_василиевич_PROPN", - "наталья_PROPN_владимирович_PROPN", - "наталья_PROPN_георгиевич_PROPN", - "наталья_PROPN_дмитриевич_PROPN", - "наталья_PROPN_егорович_PROPN", - "наталья_PROPN_захарович_PROPN", - "наталья_PROPN_иванович_PROPN", - "наталья_PROPN_константинович_PROPN", - "наталья_PROPN_николаевич_PROPN", - "наталья_PROPN_павлович_PROPN", - "наталья_PROPN_петрович_PROPN", - "наталья_PROPN_романович_PROPN", - "наталья_PROPN_савишна_PROPN", - "наталья_PROPN_семёнович_PROPN", - "наталья_PROPN_сергеевич_PROPN", - "наташа_PROPN_петров_PROPN", - "наташа_PROPN_ростов_PROPN", - "нате_NOUN_вам_PRON", - "натуральный_ADJ_величина_NOUN", - "натянуто_ADV_улыбнуться_VERB", - "натянуть_VERB_верёвка_NOUN", - "натянуть_VERB_вожжи_NOUN", - "натянуть_VERB_лук_NOUN", - "натянуть_VERB_одеяло_NOUN", - "натянуть_VERB_поводок_NOUN", - "натянуть_VERB_поводья_NOUN", - "натянуть_VERB_сапог_NOUN", - "натянуть_VERB_тетива_NOUN", - "натянуть_VERB_штаны_NOUN", - "наум_PROPN_кириллович_PROPN", - "научи_VERB_меня_PRON", - "научить_VERB_горький_ADJ", - "научиться_VERB_играть_VERB", - "научиться_VERB_летать_VERB", - "научиться_VERB_плавать_VERB", - "научиться_VERB_управлять_VERB", - "научиться_VERB_читать_VERB", - "научно_ADJ_исследовательский_ADJ", - "научно_ADJ_фантастический_ADJ", - "научный_ADJ_журнал_NOUN", - "научный_ADJ_занятие_NOUN", - "научный_ADJ_изыскание_NOUN", - "научный_ADJ_институт_NOUN", - "научный_ADJ_исследование_NOUN", - "научный_ADJ_наблюдение_NOUN", - "научный_ADJ_общество_NOUN", - "научный_ADJ_опыт_NOUN", - "научный_ADJ_открытие_NOUN", - "научный_ADJ_проблема_NOUN", - "научный_ADJ_работа_NOUN", - "научный_ADJ_работник_NOUN", - "научный_ADJ_сотрудник_NOUN", - "научный_ADJ_станция_NOUN", - "научный_ADJ_точка_NOUN", - "научный_ADJ_труд_NOUN", - "научный_ADJ_фантастика_NOUN", - "научный_ADJ_цель_NOUN", - "научный_ADJ_экспедиция_NOUN", - "нахлобучить_VERB_шапка_NOUN", - "нахлобучить_VERB_шляпа_NOUN", - "нахмурить_VERB_бровь_NOUN", - "нахмурить_VERB_лоб_NOUN", - "находить_VERB_выход_NOUN", - "находиться_VERB_вблизи_ADP", - "находиться_VERB_вне_ADP", - "находиться_VERB_внутри_ADP", - "находиться_VERB_недалеко_ADV", - "находиться_VERB_неподалёку_ADV", - "находиться_VERB_поблизости_ADV", - "национальный_ADJ_гвардеец_NOUN", - "национальный_ADJ_гвардия_NOUN", - "национальный_ADJ_герой_NOUN", - "национальный_ADJ_гимн_NOUN", - "национальный_ADJ_детективный_ADJ", - "национальный_ADJ_костюм_NOUN", - "национальный_ADJ_парк_NOUN", - "национальный_ADJ_флаг_NOUN", - "начало_NOUN_xix_ADJ", - "начало_NOUN_xviii_ADJ", - "начало_NOUN_xx_ADJ", - "начало_NOUN_август_NOUN", - "начало_NOUN_апрель_NOUN", - "начало_NOUN_война_NOUN", - "начало_NOUN_двадцатый_ADJ", - "начало_NOUN_декабрь_NOUN", - "начало_NOUN_занятие_NOUN", - "начало_NOUN_июль_NOUN", - "начало_NOUN_июнь_NOUN", - "начало_NOUN_лето_NOUN", - "начало_NOUN_май_NOUN", - "начало_NOUN_март_NOUN", - "начало_NOUN_ноябрь_NOUN", - "начало_NOUN_октябрь_NOUN", - "начало_NOUN_представление_NOUN", - "начало_NOUN_сентябрь_NOUN", - "начало_NOUN_спектакль_NOUN", - "начало_NOUN_урок_NOUN", - "начало_NOUN_учебный_ADJ", - "начальник_NOUN_гарнизон_NOUN", - "начальник_NOUN_депо_NOUN", - "начальник_NOUN_дивизион_NOUN", - "начальник_NOUN_застава_NOUN", - "начальник_NOUN_караван_NOUN", - "начальник_NOUN_караул_NOUN", - "начальник_NOUN_контрразведка_NOUN", - "начальник_NOUN_лагерь_NOUN", - "начальник_NOUN_милиция_NOUN", - "начальник_NOUN_отдел_NOUN", - "начальник_NOUN_отделение_NOUN", - "начальник_NOUN_отряд_NOUN", - "начальник_NOUN_охрана_NOUN", - "начальник_NOUN_полиция_NOUN", - "начальник_NOUN_порт_NOUN", - "начальник_NOUN_разведка_NOUN", - "начальник_NOUN_станция_NOUN", - "начальник_NOUN_стража_NOUN", - "начальник_NOUN_строительство_NOUN", - "начальник_NOUN_стройка_NOUN", - "начальник_NOUN_сыскной_ADJ", - "начальник_NOUN_тюрьма_NOUN", - "начальник_NOUN_цех_NOUN", - "начальник_NOUN_штаб_NOUN", - "начальник_NOUN_экспедиция_NOUN", - "начальный_ADJ_буква_NOUN", - "начальный_ADJ_класс_NOUN", - "начальный_ADJ_скорость_NOUN", - "начальный_ADJ_школа_NOUN", - "начать_VERB_взбираться_VERB", - "начать_VERB_диктовать_VERB", - "начать_VERB_карабкаться_VERB", - "начать_VERB_накрапывать_VERB", - "начать_VERB_объяснять_VERB", - "начать_VERB_овладевать_VERB", - "начать_VERB_одеваться_VERB", - "начать_VERB_одолевать_VERB", - "начать_VERB_оправдываться_VERB", - "начать_VERB_перечислять_VERB", - "начать_VERB_подумывать_VERB", - "начать_VERB_понемногу_ADV", - "начать_VERB_поправляться_VERB", - "начать_VERB_расспрашивать_VERB", - "начать_VERB_редеть_VERB", - "начать_VERB_рыть_VERB", - "начать_VERB_светать_VERB", - "начать_VERB_смеркаться_VERB", - "начать_VERB_спускаться_VERB", - "начать_VERB_стихать_VERB", - "начать_VERB_таять_VERB", - "начать_VERB_темнеть_VERB", - "начать_VERB_тереть_VERB", - "начать_VERB_трясти_VERB", - "начать_VERB_уставать_VERB", - "начать_VERB_шарить_VERB", - "начаться_VERB_война_NOUN", - "начаться_VERB_драка_NOUN", - "начаться_VERB_занятие_NOUN", - "начаться_VERB_каникулы_NOUN", - "начаться_VERB_паника_NOUN", - "начаться_VERB_пожар_NOUN", - "начаться_VERB_прилив_NOUN", - "начаться_VERB_расспрос_NOUN", - "начаться_VERB_свалка_NOUN", - "начаться_VERB_суматоха_NOUN", - "начаться_VERB_танец_NOUN", - "начинай_PROPN_незаканчивай_PROPN", - "начинать_VERB_дремать_VERB", - "начинать_VERB_злиться_VERB", - "начинать_VERB_кружиться_VERB", - "начинать_VERB_надоедать_VERB", - "начинать_VERB_нервничать_VERB", - "начинать_VERB_оперативник_NOUN", - "начинать_VERB_понемногу_ADV", - "начинать_VERB_привыкать_VERB", - "начинать_VERB_светать_VERB", - "начинать_VERB_сердиться_VERB", - "начинать_VERB_смеркаться_VERB", - "начинать_VERB_темнеть_VERB", - "начистить_VERB_до_ADP", - "начисто_ADV_забыть_VERB", - "наш_DET_вашим_PROPN", - "наш_DET_войско_NOUN", - "наш_DET_галактика_PROPN", - "наш_DET_доблестный_ADJ", - "наш_DET_повествование_NOUN", - "наш_DET_предок_NOUN", - "наш_DET_родина_PROPN", - "наш_DET_эра_NOUN", - "нашатырный_ADJ_спирт_NOUN", - "нашёптывать_VERB_ей_PRON", - "наёмный_ADJ_убийца_NOUN", - "небесный_ADJ_голубой_ADJ", - "небесный_ADJ_огонь_PROPN", - "небесный_ADJ_пространство_NOUN", - "небесный_ADJ_светило_NOUN", - "небесный_ADJ_свод_NOUN", - "небесный_ADJ_тело_NOUN", - "неблагоприятный_ADJ_для_ADP", - "неблагоприятный_ADJ_условие_NOUN", - "небо_NOUN_заволочь_VERB", - "небо_NOUN_затянуть_VERB", - "небо_NOUN_очиститься_VERB", - "небо_NOUN_покрыться_VERB", - "небо_NOUN_потемнеть_VERB", - "небо_NOUN_проясниться_VERB", - "небо_NOUN_усеять_VERB", - "небольшой_ADJ_возвышение_NOUN", - "небольшой_ADJ_возвышенность_NOUN", - "небольшой_ADJ_городок_NOUN", - "небольшой_ADJ_группа_NOUN", - "небольшой_ADJ_домик_NOUN", - "небольшой_ADJ_квадратный_ADJ", - "небольшой_ADJ_количество_NOUN", - "небольшой_ADJ_комнатка_NOUN", - "небольшой_ADJ_кусочек_NOUN", - "небольшой_ADJ_кучка_NOUN", - "небольшой_ADJ_лесок_NOUN", - "небольшой_ADJ_лужайка_NOUN", - "небольшой_ADJ_островок_NOUN", - "небольшой_ADJ_отверстие_NOUN", - "небольшой_ADJ_отряд_NOUN", - "небольшой_ADJ_пауза_NOUN", - "небольшой_ADJ_перерыв_NOUN", - "небольшой_ADJ_поляна_NOUN", - "небольшой_ADJ_полянка_NOUN", - "небольшой_ADJ_порция_NOUN", - "небольшой_ADJ_промежуток_NOUN", - "небольшой_ADJ_размер_NOUN", - "небольшой_ADJ_расстояние_NOUN", - "небольшой_ADJ_рост_NOUN", - "небольшой_ADJ_рощица_NOUN", - "небольшой_ADJ_свёрток_NOUN", - "небольшой_ADJ_столик_NOUN", - "небольшой_ADJ_сумма_NOUN", - "небольшой_ADJ_углубление_NOUN", - "небольшой_ADJ_участок_NOUN", - "небольшой_ADJ_холмик_NOUN", - "небрежно_ADV_бросить_VERB", - "небрежно_ADV_кивнуть_VERB", - "небрежно_ADV_махнуть_VERB", - "небрежный_ADJ_тон_NOUN", - "небритый_ADJ_лицо_NOUN", - "небритый_ADJ_щека_NOUN", - "невдалеке_ADV_от_ADP", - "невдалеке_NOUN_от_ADP", - "невдалеке_PROPN_от_ADP", - "неведомый_ADJ_мир_NOUN", - "неведомый_ADJ_опасность_NOUN", - "неведомый_ADJ_сила_NOUN", - "неведомый_ADJ_страна_NOUN", - "неведомый_ADJ_существо_NOUN", - "неведомый_ADV_куда_ADV", - "неведомый_ADV_откуда_ADV", - "неверный_ADJ_движение_NOUN", - "неверный_ADJ_свет_NOUN", - "неверный_ADJ_шаг_NOUN", - "невероятный_ADJ_быстрота_NOUN", - "невероятный_ADJ_история_NOUN", - "невероятный_ADJ_количество_NOUN", - "невероятный_ADJ_приключение_NOUN", - "невероятный_ADJ_размер_NOUN", - "невероятный_ADJ_скорость_NOUN", - "невероятный_ADJ_усилие_NOUN", - "невесело_ADV_улыбнуться_VERB", - "невесело_ADV_усмехнуться_VERB", - "невесть_NOUN_куда_ADV", - "невесть_NOUN_откуда_ADV", - "невесёлый_ADJ_дума_NOUN", - "невесёлый_ADJ_мысль_NOUN", - "невиданный_ADJ_зрелище_NOUN", - "невиданный_ADJ_красота_NOUN", - "невидимый_ADJ_враг_NOUN", - "невидимый_ADJ_нить_NOUN", - "невидимый_ADJ_преграда_NOUN", - "невидимый_ADJ_собеседник_NOUN", - "невидимый_ADJ_существо_NOUN", - "невидящий_ADJ_глаз_NOUN", - "невидящим_VERB_взгляд_NOUN", - "невинно_ADV_спросить_VERB", - "невинный_ADJ_вид_NOUN", - "невинный_ADJ_жертва_NOUN", - "невозможный_ADJ_описать_VERB", - "невозмутимо_ADV_ответить_VERB", - "невозмутимо_ADV_отвечать_VERB", - "невозмутимо_ADV_продолжать_VERB", - "невозмутимо_ADV_спокойный_ADJ", - "невозмутимый_ADJ_вид_NOUN", - "невозмутимый_ADJ_спокойствие_NOUN", - "невольно_ADV_вздрогнуть_VERB", - "невольно_ADV_вскрикнуть_VERB", - "невольно_ADV_вспомниться_VERB", - "невольно_ADV_вырваться_VERB", - "невольно_ADV_залюбоваться_VERB", - "невольно_ADV_отступить_VERB", - "невольно_ADV_отшатнуться_VERB", - "невольно_ADV_попятиться_VERB", - "невольно_ADV_привлекать_VERB", - "невольно_ADV_прислушиваться_VERB", - "невольно_ADV_рассмеяться_VERB", - "невольно_ADV_содрогнуться_VERB", - "невольно_ADV_улыбнуться_VERB", - "невольный_ADJ_движение_NOUN", - "невольный_ADJ_дрожь_NOUN", - "невольный_ADJ_свидетель_NOUN", - "невольный_ADJ_страх_NOUN", - "невольный_ADJ_уважение_NOUN", - "невольный_ADJ_улыбка_NOUN", - "невообразимый_ADJ_шум_NOUN", - "невооружённый_ADJ_глаз_NOUN", - "невский_ADJ_проспект_NOUN", - "невыносимый_ADJ_боль_NOUN", - "невыносимый_ADJ_жара_NOUN", - "невыносимый_ADV_тяжёлый_ADJ", - "невыразимый_ADJ_радость_NOUN", - "невыразимый_ADJ_ужас_NOUN", - "невысокий_ADJ_рост_NOUN", - "невысокий_ADJ_холм_NOUN", - "невысокий_ADJ_худенький_ADJ", - "негнущихся_VERB_нога_NOUN", - "негодный_ADJ_девчонка_NOUN", - "негодный_ADJ_мальчишка_NOUN", - "негодование_NOUN_воскликнуть_VERB", - "негодовать_VERB_взгляд_NOUN", - "негодовать_VERB_голос_NOUN", - "негромкий_ADJ_голос_NOUN", - "негромко_ADV_окликнуть_VERB", - "негромко_ADV_позвать_VERB", - "негромко_ADV_проговорить_VERB", - "негромко_ADV_произнести_VERB", - "негромко_ADV_разговаривать_VERB", - "нед_PROPN_ленд_PROPN", - "неда_PROPN_ленда_PROPN", - "недавний_ADJ_враг_NOUN", - "недавний_ADJ_время_NOUN", - "недавний_ADJ_дождь_NOUN", - "недавний_ADJ_пора_NOUN", - "недавний_ADJ_прошлое_NOUN", - "недавний_ADJ_событие_NOUN", - "недалеко_ADV_от_ADP", - "недалеко_ADV_отсюда_ADV", - "недалёкий_ADJ_будущее_NOUN", - "недалёкий_ADJ_расстояние_NOUN", - "недвижимый_ADJ_имущество_NOUN", - "неделя_NOUN_назад_ADV", - "неделя_NOUN_спустя_ADP", - "неделя_NOUN_тому_ADV", - "недобрый_ADJ_взгляд_NOUN", - "недобрый_ADJ_предчувствие_NOUN", - "недоверчиво_ADV_взглянуть_VERB", - "недоверчиво_ADV_переспросить_VERB", - "недоверчиво_ADV_покачать_VERB", - "недоверчиво_ADV_покоситься_VERB", - "недоверчиво_ADV_посмотреть_VERB", - "недоверчиво_ADV_протянуть_VERB", - "недоверчиво_ADV_спросить_VERB", - "недоверчиво_ADV_улыбнуться_VERB", - "недоверчивый_ADJ_взгляд_NOUN", - "недовольно_ADV_буркнуть_VERB", - "недовольно_ADV_ворчать_VERB", - "недовольно_ADV_поморщиться_VERB", - "недовольно_ADV_пробормотать_VERB", - "недовольно_ADV_пробурчать_VERB", - "недовольно_ADV_проворчать_VERB", - "недовольно_ADV_проговорить_VERB", - "недовольный_ADJ_взгляд_NOUN", - "недовольный_ADJ_голос_NOUN", - "недовольный_ADJ_тем_PRON", - "недовольный_ADJ_тон_NOUN", - "недолго_ADV_думать_VERB", - "недолго_ADV_прийтись_VERB", - "недолго_ADV_пробыть_VERB", - "недолго_ADV_раздумывать_VERB", - "недостаток_NOUN_пища_NOUN", - "недостаточно_ADV_хорошо_ADV", - "недостойный_ADJ_поведение_NOUN", - "недостойный_ADJ_поступок_NOUN", - "недостроенный_ADJ_дом_NOUN", - "недоступный_ADJ_для_ADP", - "недосягаемый_ADJ_высота_NOUN", - "недосягаемый_ADJ_для_ADP", - "недоумевающим_ADJ_взгляд_NOUN", - "недоумение_NOUN_посмотреть_VERB", - "недоумение_NOUN_уставиться_VERB", - "недоуменно_ADV_переглянуться_VERB", - "недоуменно_ADV_пожать_VERB", - "недоуменно_ADV_посмотреть_VERB", - "недоуменно_ADV_спросить_VERB", - "недоуменный_ADJ_взгляд_NOUN", - "недра_NOUN_земля_NOUN", - "недрах_NOUN_земля_NOUN", - "нежданно_ADV_негаданно_ADV", - "нежданный_ADJ_гость_NOUN", - "нежно_ADV_гладить_VERB", - "нежно_ADV_ласкать_VERB", - "нежно_ADV_любимый_ADJ", - "нежно_ADV_любить_VERB", - "нежно_ADV_обнять_VERB", - "нежно_ADV_погладить_VERB", - "нежно_ADV_поцеловать_VERB", - "нежно_ADV_прижать_VERB", - "нежно_ADV_целовать_VERB", - "нежный_ADJ_аромат_NOUN", - "нежный_ADJ_голосок_NOUN", - "нежный_ADJ_голубой_ADJ", - "нежный_ADJ_кожа_NOUN", - "нежный_ADJ_ласка_NOUN", - "нежный_ADJ_поцелуй_NOUN", - "нежный_ADJ_розовый_ADJ", - "нежный_ADJ_румянец_NOUN", - "нежный_ADJ_ручка_NOUN", - "нежный_ADJ_чувство_NOUN", - "незавидный_ADJ_положение_NOUN", - "независимо_ADV_от_ADP", - "независимый_ADJ_вид_NOUN", - "незадолго_ADV_до_ADP", - "незадолго_ADV_перед_ADP", - "незаметно_ADV_выскользнуть_VERB", - "незаметно_ADV_переходить_VERB", - "незаметно_ADV_подкрасться_VERB", - "незаметно_ADV_подмигнуть_VERB", - "незаметно_ADV_приблизиться_VERB", - "незаметно_ADV_пробраться_VERB", - "незаметно_ADV_проскользнуть_VERB", - "незаметно_ADV_сунуть_VERB", - "незаметно_ADV_толкнуть_VERB", - "незапамятные_VERB_время_NOUN", - "незаслуженный_ADJ_обида_NOUN", - "незваный_ADJ_гость_NOUN", - "неземной_ADJ_красота_NOUN", - "незнакомый_ADJ_мальчишка_NOUN", - "незнакомый_ADJ_местность_NOUN", - "незнакомый_ADJ_мужчина_NOUN", - "незнакомый_ADJ_человек_NOUN", - "незначительный_ADJ_количество_NOUN", - "неизбежно_ADV_должный_ADJ", - "неизбежный_ADJ_гибель_NOUN", - "неизбежный_ADJ_смерть_NOUN", - "неизвестно_ADV_куда_ADV", - "неизвестный_ADJ_куда_ADV", - "неизвестный_ADJ_направление_NOUN", - "неизвестный_ADJ_откуда_ADV", - "неизвестный_ADJ_причина_NOUN", - "неизвестный_ADJ_сколько_NUM", - "неизгладимый_ADJ_впечатление_NOUN", - "неизлечимый_ADJ_болезнь_NOUN", - "неизменно_ADV_отвечать_VERB", - "неимоверный_ADJ_быстрота_NOUN", - "неимоверный_ADJ_количество_NOUN", - "неимоверный_ADJ_усилие_NOUN", - "неистовый_ADJ_крик_NOUN", - "неистовый_ADV_закричать_VERB", - "неистовый_ADV_кричать_VERB", - "ней_PRON_ухаживать_VERB", - "некий_DET_подобие_NOUN", - "некоторый_DET_беспокойство_NOUN", - "некоторый_DET_время_NOUN", - "некоторый_DET_деталь_NOUN", - "некоторый_DET_доля_NOUN", - "некоторый_DET_замешательство_NOUN", - "некоторый_DET_затруднение_NOUN", - "некоторый_DET_изменение_NOUN", - "некоторый_DET_колебание_NOUN", - "некоторый_DET_молчание_NOUN", - "некоторый_DET_облегчение_NOUN", - "некоторый_DET_опаска_NOUN", - "некоторый_DET_отдаление_NOUN", - "некоторый_DET_подобие_NOUN", - "некоторый_DET_подробность_NOUN", - "некоторый_DET_раздумье_NOUN", - "некоторый_DET_размышление_NOUN", - "некоторый_DET_разочарование_NOUN", - "некоторый_DET_расстояние_NOUN", - "некоторый_DET_род_NOUN", - "некоторый_DET_смущение_NOUN", - "некоторый_DET_степень_NOUN", - "некоторый_DET_сходство_NOUN", - "некоторый_DET_царство_NOUN", - "некуда_ADV_деваться_VERB", - "нелли_PROPN_иванович_PROPN", - "неловкий_ADJ_движение_NOUN", - "неловкий_ADJ_молчание_NOUN", - "неловкий_ADJ_положение_NOUN", - "нельзя_ADV_доверять_VERB", - "нельзя_ADV_допустить_VERB", - "нельзя_ADV_лучше_ADV", - "нельзя_ADV_отрицать_VERB", - "нельзя_ADV_терять_VERB", - "нельзя_ADV_упускать_VERB", - "нелюбовь_NOUN_к_ADP", - "нелёгкий_ADJ_задача_NOUN", - "нем_PRON_были_PRON", - "немало_ADV_потрудиться_VERB", - "немало_ADV_способствовать_VERB", - "немало_ADV_удивить_VERB", - "немало_ADV_удивлённый_ADJ", - "немало_ADV_хлопот_NOUN", - "немалый_ADJ_деньга_NOUN", - "немалый_ADJ_труд_NOUN", - "немалый_ADJ_удивление_NOUN", - "немалый_ADJ_усилие_NOUN", - "немедленно_ADV_арестовать_VERB", - "немедленно_ADV_доложить_VERB", - "немедленно_ADV_исполнить_VERB", - "немедленно_ADV_отправить_VERB", - "немедленно_ADV_отправиться_VERB", - "немедленно_ADV_отправляться_VERB", - "немедленно_ADV_прекратить_VERB", - "немедленно_ADV_приступить_VERB", - "немедленно_ADV_сообщить_VERB", - "немецкий_ADJ_автомат_NOUN", - "немецкий_ADJ_армия_NOUN", - "немецкий_ADJ_войско_NOUN", - "немецкий_ADJ_овчарка_NOUN", - "немецкий_ADJ_офицер_NOUN", - "немецкий_ADJ_самолёт_NOUN", - "немецкий_ADJ_солдат_NOUN", - "немецкий_ADJ_танк_NOUN", - "немецкий_ADJ_учёный_NOUN", - "немецкий_ADJ_форма_NOUN", - "немецкий_ADJ_язык_NOUN", - "немецко_ADJ_фашистский_ADJ", - "немигающий_ADJ_глаз_NOUN", - "неминуемо_ADV_должный_ADJ", - "неминуемо_ADV_погибнуть_VERB", - "неминуемый_ADJ_гибель_NOUN", - "неминуемый_ADJ_смерть_NOUN", - "немногим_NOUN_больше_NUM", - "немногих_NUM_слово_NOUN", - "немного_ADV_грустный_ADJ", - "немного_ADV_задержаться_VERB", - "немного_ADV_оправиться_VERB", - "немного_ADV_остыть_VERB", - "немного_ADV_отдохнуть_VERB", - "немного_ADV_отдышаться_VERB", - "немного_ADV_отстать_VERB", - "немного_ADV_передохнуть_VERB", - "немного_ADV_побаиваться_VERB", - "немного_ADV_погодя_VERB", - "немного_ADV_подождать_VERB", - "немного_ADV_подрасти_VERB", - "немного_ADV_поздний_ADV", - "немного_ADV_помедлить_VERB", - "немного_ADV_помолчав_VERB", - "немного_ADV_помолчать_VERB", - "немного_ADV_поодаль_ADV", - "немного_ADV_посидеть_VERB", - "немного_ADV_поспать_VERB", - "немного_ADV_постоять_VERB", - "немного_ADV_прогуляться_VERB", - "немного_ADV_растеряться_VERB", - "немного_ADV_смутить_VERB", - "немного_ADV_смутиться_VERB", - "немного_ADV_смущённый_ADJ", - "немного_ADV_спустя_ADP", - "немного_ADV_успокоить_VERB", - "немного_ADV_успокоиться_VERB", - "немного_ADV_утихнуть_VERB", - "немножко_ADV_грустный_ADJ", - "немножко_ADV_отдохнуть_VERB", - "немой_ADJ_вопрос_NOUN", - "немой_ADJ_сцена_NOUN", - "немолодой_ADJ_женщина_NOUN", - "нему_PRON_вплотную_ADV", - "немудрено_VERB_поэтому_ADV", - "ненавистный_ADJ_враг_NOUN", - "ненависть_NOUN_глядеть_VERB", - "ненастный_ADJ_день_NOUN", - "ненужный_ADJ_вещь_NOUN", - "ненху_PROPN_ра_PROPN", - "необдуманный_ADJ_поступок_NOUN", - "необдуманный_ADJ_слово_NOUN", - "необитаемый_ADJ_остров_NOUN", - "необозримый_ADJ_пространство_NOUN", - "необходимый_ADJ_для_ADP", - "необходимый_ADJ_предосторожность_NOUN", - "необходимый_ADJ_приготовление_NOUN", - "необходимый_ADJ_принадлежность_NOUN", - "необходимый_ADJ_распоряжение_NOUN", - "необходимый_ADJ_сведение_NOUN", - "необъятный_ADJ_простор_NOUN", - "необыкновенно_ADV_вкусный_ADJ", - "необыкновенно_ADV_красивый_ADJ", - "необыкновенно_ADV_умный_ADJ", - "необыкновенный_ADJ_быстрота_NOUN", - "необыкновенный_ADJ_зрелище_NOUN", - "необыкновенный_ADJ_красота_NOUN", - "необыкновенный_ADJ_ловкость_NOUN", - "необыкновенный_ADJ_лёгкость_NOUN", - "необыкновенный_ADJ_приключение_NOUN", - "необыкновенный_ADJ_событие_NOUN", - "необычайно_ADV_красивый_ADJ", - "необычайный_ADJ_быстрота_NOUN", - "необычайный_ADJ_волнение_NOUN", - "необычайный_ADJ_зрелище_NOUN", - "необычайный_ADJ_красота_NOUN", - "необычайный_ADJ_лёгкость_NOUN", - "необычайный_ADJ_происшествие_NOUN", - "необычайный_ADJ_событие_NOUN", - "необычный_ADJ_форма_NOUN", - "неограниченный_ADJ_власть_NOUN", - "неограниченный_ADJ_количество_NOUN", - "неодобрительно_ADV_покачать_VERB", - "неодолимый_ADJ_сила_NOUN", - "неодушевлённый_ADJ_предмет_NOUN", - "неожиданно_ADV_возникнуть_VERB", - "неожиданно_ADV_выпалить_VERB", - "неожиданно_ADV_наткнуться_VERB", - "неожиданно_ADV_столкнуться_VERB", - "неожиданный_ADJ_визит_NOUN", - "неожиданный_ADJ_вопрос_NOUN", - "неожиданный_ADJ_встреча_NOUN", - "неожиданный_ADJ_зрелище_NOUN", - "неожиданный_ADJ_известие_NOUN", - "неожиданный_ADJ_нападение_NOUN", - "неожиданный_ADJ_находка_NOUN", - "неожиданный_ADJ_новость_NOUN", - "неожиданный_ADJ_оборот_NOUN", - "неожиданный_ADJ_открытие_NOUN", - "неожиданный_ADJ_поворот_NOUN", - "неожиданный_ADJ_появление_NOUN", - "неожиданный_ADJ_предложение_NOUN", - "неожиданный_ADJ_препятствие_NOUN", - "неожиданный_ADJ_происшествие_NOUN", - "неожиданный_ADJ_событие_NOUN", - "неожиданный_ADJ_толчок_NOUN", - "неописуемый_ADJ_восторг_NOUN", - "неописуемый_ADJ_ужас_NOUN", - "неопределенно_ADV_махнуть_VERB", - "неопределенно_ADV_ответить_VERB", - "неопределенно_ADV_пожать_VERB", - "неопределенно_ADV_протянуть_VERB", - "неопределённый_ADJ_возраст_NOUN", - "неопределённый_ADJ_время_NOUN", - "неопределённый_ADJ_жест_NOUN", - "неопределённый_ADJ_цвет_NOUN", - "неопровержимый_ADJ_доказательство_NOUN", - "неосторожный_ADJ_движение_NOUN", - "неосторожный_ADJ_слово_NOUN", - "неотвязный_ADJ_мысль_NOUN", - "неотложный_ADJ_дело_NOUN", - "неотрывно_ADV_глядеть_VERB", - "неотрывно_ADV_следить_VERB", - "неотрывно_ADV_смотреть_VERB", - "неотступно_ADV_следить_VERB", - "неотступно_ADV_следовать_VERB", - "неотъемлемый_ADJ_часть_NOUN", - "неохотно_ADV_ответить_VERB", - "неохотно_ADV_согласиться_VERB", - "неоценимый_ADJ_услуга_NOUN", - "неплотно_ADV_прикрыть_VERB", - "неплохой_ADJ_идея_NOUN", - "неплохой_ADJ_парень_NOUN", - "неподалёку_ADJ_от_ADP", - "неподалёку_ADV_от_ADP", - "неподалёку_ADV_отсюда_ADV", - "неподалёку_VERB_от_ADP", - "неподвижно_ADV_висеть_VERB", - "неподвижно_ADV_застынуть_VERB", - "неподвижно_ADV_лежать_VERB", - "неподвижно_ADV_сидеть_VERB", - "неподвижно_ADV_стоять_VERB", - "неподвижно_ADV_устремить_VERB", - "неподвижный_ADJ_взгляд_NOUN", - "неподвижный_ADJ_тело_NOUN", - "неподвижный_ADJ_фигура_NOUN", - "неподдельный_ADJ_интерес_NOUN", - "неподдельный_ADJ_ужас_NOUN", - "неподходящий_ADJ_место_NOUN", - "непоколебимый_ADJ_уверенность_NOUN", - "непокрытый_ADJ_голова_NOUN", - "непомерно_ADV_больший_ADJ", - "непомерно_ADV_длинный_ADJ", - "непонятно_ADV_откуда_ADV", - "непонятный_ADJ_образ_NOUN", - "непонятный_ADJ_явление_NOUN", - "непоправимый_ADJ_несчастие_NOUN", - "непоседа_PROPN_мякиш_PROPN", - "непосильный_ADJ_работа_NOUN", - "непосильный_ADJ_труд_NOUN", - "непослушный_ADJ_губа_NOUN", - "непослушный_ADJ_ребёнок_NOUN", - "непосредственный_ADJ_близость_NOUN", - "непосредственный_ADJ_начальник_NOUN", - "непосредственный_ADJ_опасность_NOUN", - "непостижимый_ADJ_быстрота_NOUN", - "непостижимый_ADJ_образ_NOUN", - "неправильно_ADV_понять_VERB", - "неправильный_ADJ_форма_NOUN", - "непредвиденный_ADJ_обстоятельство_NOUN", - "непреклонный_ADJ_воля_NOUN", - "непременно_ADV_должный_ADJ", - "непременный_ADJ_условие_NOUN", - "непреодолимый_ADJ_желание_NOUN", - "непреодолимый_ADJ_преграда_NOUN", - "непреодолимый_ADJ_препятствие_NOUN", - "непреодолимый_ADJ_сила_NOUN", - "непрерывный_ADJ_движение_NOUN", - "непрерывный_ADJ_поток_NOUN", - "непривычный_ADJ_для_ADP", - "непривычный_ADJ_тишина_NOUN", - "непригодный_ADJ_для_ADP", - "неприкосновенный_ADJ_запас_NOUN", - "непримиримый_ADJ_враг_NOUN", - "непримиримый_ADJ_вражда_NOUN", - "непримиримый_ADJ_ненависть_NOUN", - "неприступный_ADJ_гора_NOUN", - "неприступный_ADJ_крепость_NOUN", - "неприступный_ADJ_скала_NOUN", - "неприступный_ADJ_стена_NOUN", - "неприятельский_ADJ_войско_NOUN", - "неприятельский_ADJ_корабль_NOUN", - "неприятельский_ADJ_отряд_NOUN", - "неприятельский_ADJ_солдат_NOUN", - "неприятельский_ADJ_судно_NOUN", - "неприятельский_ADJ_флот_NOUN", - "неприятно_ADV_поразить_VERB", - "неприятный_ADJ_воспоминание_NOUN", - "неприятный_ADJ_впечатление_NOUN", - "неприятный_ADJ_запах_NOUN", - "неприятный_ADJ_известие_NOUN", - "неприятный_ADJ_история_NOUN", - "неприятный_ADJ_неожиданность_NOUN", - "неприятный_ADJ_новость_NOUN", - "неприятный_ADJ_осадок_NOUN", - "неприятный_ADJ_ощущение_NOUN", - "неприятный_ADJ_положение_NOUN", - "неприятный_ADJ_последствие_NOUN", - "неприятный_ADJ_происшествие_NOUN", - "неприятный_ADJ_разговор_NOUN", - "неприятный_ADJ_ситуация_NOUN", - "неприятный_ADJ_сюрприз_NOUN", - "неприятный_ADJ_холодок_NOUN", - "неприятный_ADJ_чувство_NOUN", - "непроглядный_ADJ_мрак_NOUN", - "непроглядный_ADJ_ночь_NOUN", - "непроглядный_ADJ_темнота_NOUN", - "непроглядный_ADJ_тьма_NOUN", - "непродолжительный_ADJ_время_NOUN", - "непромокаемый_ADJ_плащ_NOUN", - "непроницаемый_ADJ_лицо_NOUN", - "непроницаемый_ADJ_мрак_NOUN", - "непроницаемый_ADJ_стена_NOUN", - "непроницаемый_ADJ_тьма_NOUN", - "непростительный_ADJ_ошибка_NOUN", - "непроходимый_ADJ_лес_NOUN", - "непроходимый_ADJ_чаща_NOUN", - "непрошенный_ADJ_гость_NOUN", - "непрошеный_ADJ_гость_NOUN", - "неравнодушный_ADJ_к_ADP", - "неравный_ADJ_бой_NOUN", - "неравный_ADJ_борьба_NOUN", - "неразделённый_ADJ_любовь_NOUN", - "неразлучный_ADJ_друг_NOUN", - "неразрывно_ADV_связать_VERB", - "нервно_ADV_вздрагивать_VERB", - "нервно_ADV_рассмеяться_VERB", - "нервно_ADV_теребить_VERB", - "нервный_ADJ_возбуждение_NOUN", - "нервный_ADJ_горячка_NOUN", - "нервный_ADJ_дрожь_NOUN", - "нервный_ADJ_клетка_NOUN", - "нервный_ADJ_напряжение_NOUN", - "нервный_ADJ_потрясение_NOUN", - "нервный_ADJ_почва_NOUN", - "нервный_ADJ_припадок_NOUN", - "нервный_ADJ_расстройство_NOUN", - "нервный_ADJ_система_NOUN", - "нервный_ADJ_смех_NOUN", - "нервный_ADJ_состояние_NOUN", - "нервный_ADJ_срыв_NOUN", - "нередко_ADV_бывать_VERB", - "нередко_ADV_приходиться_VERB", - "нередко_ADV_случаться_VERB", - "нерешительно_ADV_остановиться_VERB", - "нерешительно_ADV_проговорить_VERB", - "нерешительно_ADV_произнести_VERB", - "нерешительность_NOUN_остановиться_VERB", - "неровность_NOUN_почва_NOUN", - "неровный_ADJ_час_NOUN", - "несбыточный_ADJ_мечта_NOUN", - "несвойственный_ADJ_ей_PRON", - "несвойственный_ADJ_ему_PRON", - "несвязный_ADJ_слово_NOUN", - "несгораемый_ADJ_шкаф_NOUN", - "несказанно_ADV_обрадоваться_VERB", - "несказанно_ADV_рад_ADJ", - "несколько_ADV_высоко_ADJ", - "несколько_ADV_изменить_VERB", - "несколько_ADV_измениться_VERB", - "несколько_ADV_низкий_ADJ", - "несколько_ADV_поздний_ADV", - "несколько_ADV_смутить_VERB", - "несколько_ADV_успокоить_VERB", - "несколько_ADV_успокоиться_VERB", - "несколько_NUM_аккорд_NOUN", - "несколько_NUM_взмах_NOUN", - "несколько_NUM_глоток_NOUN", - "несколько_NUM_день_NOUN", - "несколько_NUM_десятилетие_NOUN", - "несколько_NUM_десяток_NOUN", - "несколько_NUM_дюйм_NOUN", - "несколько_NUM_капля_NOUN", - "несколько_NUM_квартал_NOUN", - "несколько_NUM_мгновение_NOUN", - "несколько_NUM_месяц_NOUN", - "несколько_NUM_метр_NOUN", - "несколько_NUM_миля_NOUN", - "несколько_NUM_минута_NOUN", - "несколько_NUM_минутами_NOUN", - "несколько_NUM_поодаль_ADV", - "несколько_NUM_раз_NOUN", - "несколько_NUM_саженей_NOUN", - "несколько_NUM_сантиметр_NOUN", - "несколько_NUM_секунда_NOUN", - "несколько_NUM_сотня_NOUN", - "несколько_NUM_столетие_NOUN", - "несколько_NUM_строка_NOUN", - "несколько_NUM_суток_NOUN", - "несколько_NUM_томительный_ADJ", - "несколько_NUM_шаг_NOUN", - "несколько_NUM_ярд_NOUN", - "нескромный_ADJ_вопрос_NOUN", - "неслыханный_ADJ_дерзость_NOUN", - "неслышно_ADV_подойти_VERB", - "неслышно_ADV_ступать_VERB", - "неслышный_ADJ_шаг_NOUN", - "несметный_ADJ_богатство_NOUN", - "несметный_ADJ_количество_NOUN", - "несметный_ADJ_сокровище_NOUN", - "несметный_ADJ_толпа_NOUN", - "несмотря_ADV_на_ADP", - "несомненно_ADV_принадлежать_VERB", - "несомненный_ADJ_доказательство_NOUN", - "несомненный_ADJ_признак_NOUN", - "несравненно_ADV_более_ADV", - "несравненно_ADV_больший_ADJ", - "нестерпимо_ADV_хотеться_VERB", - "нестерпимо_ADV_яркий_ADJ", - "нестерпимый_ADJ_блеск_NOUN", - "нестерпимый_ADJ_боль_NOUN", - "нестерпимый_ADJ_жар_NOUN", - "нестерпимый_ADJ_жара_NOUN", - "нести_VERB_вахта_NOUN", - "нести_VERB_ответственность_NOUN", - "нести_VERB_служба_NOUN", - "нести_VERB_яйцо_NOUN", - "нестись_VERB_вниз_ADV", - "нестись_VERB_вперёд_ADV", - "нестись_VERB_навстречу_ADV", - "нестройный_ADJ_хор_NOUN", - "несчастие_NOUN_постичь_VERB", - "несчастный_ADJ_жертва_NOUN", - "несчастный_ADJ_любовь_NOUN", - "несчастный_ADJ_пленник_NOUN", - "несчастный_ADJ_случай_NOUN", - "несчастный_ADJ_случайность_NOUN", - "несчётный_ADJ_число_NOUN", - "нет_PART_сударь_NOUN", - "нет_VERB_возврат_NOUN", - "нет_VERB_надобность_NOUN", - "нет_VERB_никакой_DET", - "нет_VERB_нужда_NOUN", - "нетактак_PROPN_наоборото_PROPN", - "нетвёрдый_ADJ_шаг_NOUN", - "нетерпеливо_ADV_ждать_VERB", - "нетерпеливо_ADV_ожидать_VERB", - "нетерпеливо_ADV_перебить_VERB", - "нетерпеливо_ADV_поглядывать_VERB", - "нетерпеливо_ADV_прервать_VERB", - "нетерпеливо_ADV_спросить_VERB", - "нетерпеливый_ADJ_движение_NOUN", - "нетерпеливый_ADJ_жест_NOUN", - "нетерпеливый_ADJ_ожидание_NOUN", - "нетерпение_NOUN_ждать_VERB", - "нетерпение_NOUN_ожидать_VERB", - "нетерпение_NOUN_поджидать_VERB", - "неторопливый_ADJ_походка_NOUN", - "неторопливый_ADJ_шаг_NOUN", - "нетрудный_ADJ_было_AUX", - "нетрудный_ADJ_догадаться_VERB", - "неуважение_NOUN_к_ADP", - "неуверенно_ADV_ответить_VERB", - "неуверенно_ADV_предложить_VERB", - "неуверенно_ADV_предположить_VERB", - "неуверенно_ADV_пробормотать_VERB", - "неуверенно_ADV_проговорить_VERB", - "неуверенно_ADV_произнести_VERB", - "неуверенно_ADV_протянуть_VERB", - "неуверенный_ADJ_голос_NOUN", - "неуверенный_ADJ_шаг_NOUN", - "неудачный_ADJ_попытка_NOUN", - "неудержимо_ADV_влечь_VERB", - "неудержимо_ADV_потянуть_VERB", - "неудержимо_ADV_тянуть_VERB", - "неудержимый_ADJ_смех_NOUN", - "неудивительный_ADJ_поэтому_ADV", - "неудивительный_ADJ_что_SCONJ", - "неудобный_ADJ_поза_NOUN", - "неудобный_ADJ_положение_NOUN", - "неуловимый_ADJ_движение_NOUN", - "неуместный_ADJ_шутка_NOUN", - "неумолимо_ADV_приближаться_VERB", - "неумолимый_ADJ_враг_NOUN", - "неурочный_ADJ_время_NOUN", - "неурочный_ADJ_час_NOUN", - "нефтяной_ADJ_король_NOUN", - "нехороший_ADJ_предчувствие_NOUN", - "нехорошо_ADV_получиться_VERB", - "нехотя_ADV_ответить_VERB", - "нехотя_ADV_подняться_VERB", - "нехотя_ADV_согласиться_VERB", - "нечаянно_ADV_задеть_VERB", - "нечаянно_ADV_наступить_VERB", - "нечаянно_ADV_уронить_VERB", - "нечего_ADV_было_AUX", - "нечего_VERB_беспокоиться_VERB", - "нечего_VERB_бояться_VERB", - "нечего_VERB_делать_VERB", - "нечего_VERB_опасаться_VERB", - "нечего_VERB_терять_VERB", - "нечеловеческий_ADJ_голос_NOUN", - "нечеловеческий_ADJ_крик_NOUN", - "нечеловеческий_ADJ_сила_NOUN", - "нечеловеческий_ADJ_усилие_NOUN", - "нечем_VERB_дышать_VERB", - "нечистый_ADJ_дух_NOUN", - "нечистый_ADJ_сила_NOUN", - "нечистый_ADJ_совесть_NOUN", - "нечленораздельный_ADJ_звук_NOUN", - "нечто_PRON_вроде_ADP", - "нечто_PRON_другое_ADJ", - "нечто_PRON_иное_ADJ", - "нечто_PRON_особенный_ADJ", - "нечто_PRON_подобный_ADJ", - "нечто_PRON_похожий_ADJ", - "нечто_PRON_средний_ADJ", - "нечто_PRON_ужасный_ADJ", - "нечувствительный_ADJ_к_ADP", - "нею_PRON_следом_ADV", - "неяркий_ADJ_свет_NOUN", - "неясный_ADJ_звук_NOUN", - "неясный_ADJ_очертание_NOUN", - "неясный_ADJ_тень_NOUN", - "неясный_ADJ_тревога_NOUN", - "неясный_ADJ_фигура_NOUN", - "неясный_ADJ_шум_NOUN", - "ни_CCONJ_бум_NOUN", - "ни_CCONJ_возьмись_VERB", - "ни_CCONJ_глянь_NOUN", - "ни_CCONJ_грамм_NOUN", - "ни_CCONJ_гу_NOUN", - "ни_CCONJ_гуг_NOUN", - "ни_CCONJ_деревца_NOUN", - "ни_CCONJ_единый_ADJ", - "ни_CCONJ_заря_NOUN", - "ни_CCONJ_звук_NOUN", - "ни_CCONJ_капелька_NOUN", - "ни_CCONJ_кровинка_NOUN", - "ни_CCONJ_крошка_NOUN", - "ни_CCONJ_крути_NOUN", - "ни_CCONJ_кустик_NOUN", - "ни_CCONJ_облачка_NOUN", - "ни_CCONJ_пера_NOUN", - "ни_CCONJ_попадя_NOUN", - "ни_CCONJ_пух_NOUN", - "ни_CCONJ_родных_NOUN", - "ни_CCONJ_фиг_NOUN", - "ни_CCONJ_фига_NOUN", - "ни_CCONJ_чуточки_NOUN", - "ни_CCONJ_шагу_NOUN", - "ни_CCONJ_шорох_NOUN", - "ни_PART_возьмись_VERB", - "ни_PART_грош_NOUN", - "ни_PART_единый_ADJ", - "ни_PART_капелька_NOUN", - "ни_PART_копейка_NOUN", - "ни_PART_малый_ADJ", - "ни_PART_одна_NUM", - "ни_PART_одного_NUM", - "ни_PART_одной_NUM", - "ни_PART_разу_NOUN", - "ни_PART_словечко_NOUN", - "ни_PART_странно_ADV", - "ни_PART_фиг_NOUN", - "ни_PART_фига_NOUN", - "ни_PART_че_NOUN", - "ни_PART_чуточки_NOUN", - "ни_PART_шагу_NOUN", - "ниагарский_ADJ_водопад_NOUN", - "нигде_ADV_нет_VERB", - "ниже_ADV_опускаться_VERB", - "ниже_ADV_опустить_VERB", - "нижний_ADJ_бельё_NOUN", - "нижний_ADJ_ветвь_NOUN", - "нижний_ADJ_ветка_NOUN", - "нижний_ADJ_губа_NOUN", - "нижний_ADJ_камера_NOUN", - "нижний_ADJ_край_NOUN", - "нижний_ADJ_новгород_PROPN", - "нижний_ADJ_палуба_NOUN", - "нижний_ADJ_площадка_NOUN", - "нижний_ADJ_полка_NOUN", - "нижний_ADJ_слой_NOUN", - "нижний_ADJ_ступень_NOUN", - "нижний_ADJ_ступенька_NOUN", - "нижний_ADJ_угол_NOUN", - "нижний_ADJ_часть_NOUN", - "нижний_ADJ_челюсть_NOUN", - "нижний_ADJ_чин_NOUN", - "нижний_ADJ_этаж_NOUN", - "нижний_ADJ_ярус_NOUN", - "нижний_ADJ_ящик_NOUN", - "низенький_ADJ_скамеечка_NOUN", - "низенький_ADJ_столик_NOUN", - "низкий_ADJ_бас_NOUN", - "низкий_ADJ_грудной_ADJ", - "низкий_ADJ_давление_NOUN", - "низкий_ADJ_колено_NOUN", - "низкий_ADJ_кустарник_NOUN", - "низкий_ADJ_нуль_NOUN", - "низкий_ADJ_облако_NOUN", - "низкий_ADJ_поклон_NOUN", - "низкий_ADJ_потолок_NOUN", - "низкий_ADJ_происхождение_NOUN", - "низкий_ADJ_раса_NOUN", - "низкий_ADJ_рост_NOUN", - "низкий_ADJ_свод_NOUN", - "низкий_ADJ_средний_ADJ", - "низкий_ADJ_ступень_NOUN", - "низкий_ADJ_температура_NOUN", - "низкий_ADJ_туча_NOUN", - "низкий_ADJ_уровень_NOUN", - "низко_ADV_висеть_VERB", - "низко_ADV_кланяться_VERB", - "низко_ADV_нависнуть_VERB", - "низко_ADV_над_ADP", - "низко_ADV_надвинуть_VERB", - "низко_ADV_наклонить_VERB", - "низко_ADV_наклониться_VERB", - "низко_ADV_низко_ADV", - "низко_ADV_опустить_VERB", - "низко_ADV_поклонившись_VERB", - "низко_ADV_поклониться_VERB", - "низко_ADV_пригнуться_VERB", - "низко_ADV_склонить_VERB", - "низко_ADV_склониться_VERB", - "низко_ADV_склоняться_VERB", - "ник_PROPN_картер_PROPN", - "ник_PROPN_ник_PROPN", - "ника_PROPN_баян_PROPN", - "никак_ADV_нельзя_ADV", - "никакого_PRON_нет_VERB", - "никакой_DET_весть_NOUN", - "никакой_DET_внимание_NOUN", - "никакой_DET_возможность_NOUN", - "никакой_DET_возражение_NOUN", - "никакой_DET_впечатление_NOUN", - "никакой_DET_вред_NOUN", - "никакой_DET_довод_NOUN", - "никакой_DET_доказательство_NOUN", - "никакой_DET_затруднение_NOUN", - "никакой_DET_значение_NOUN", - "никакой_DET_известие_NOUN", - "никакой_DET_изменение_NOUN", - "никакой_DET_надобность_NOUN", - "никакой_DET_намёк_NOUN", - "никакой_DET_опасность_NOUN", - "никакой_DET_основание_NOUN", - "никакой_DET_отношение_NOUN", - "никакой_DET_подозрение_NOUN", - "никакой_DET_польза_NOUN", - "никакой_DET_понятие_NOUN", - "никакой_DET_пощада_NOUN", - "никакой_DET_препятствие_NOUN", - "никакой_DET_претензия_NOUN", - "никакой_DET_признак_NOUN", - "никакой_DET_проблема_NOUN", - "никакой_DET_реакция_NOUN", - "никакой_DET_результат_NOUN", - "никакой_DET_след_NOUN", - "никакой_DET_смысл_NOUN", - "никакой_DET_сомнение_NOUN", - "никакой_DET_толку_NOUN", - "никакой_DET_уговор_NOUN", - "никакой_DET_ценность_NOUN", - "никакой_DET_шанс_NOUN", - "никита_PROPN_владимирович_PROPN", - "никита_PROPN_евсеевич_PROPN", - "никита_PROPN_кузьмич_PROPN", - "никита_PROPN_фёдорович_PROPN", - "никифор_PROPN_матвеевич_PROPN", - "никифор_PROPN_семёнович_PROPN", - "никой_DET_образ_NOUN", - "николай_PROPN_i_ADJ", - "николай_PROPN_ii_ADJ", - "николай_PROPN_александрович_PROPN", - "николай_PROPN_алексеевич_PROPN", - "николай_PROPN_андреевич_PROPN", - "николай_PROPN_антонович_PROPN", - "николай_PROPN_антоныч_PROPN", - "николай_PROPN_антоныча_PROPN", - "николай_PROPN_бек_PROPN", - "николай_PROPN_борисович_PROPN", - "николай_PROPN_василиевич_PROPN", - "николай_PROPN_василич_PROPN", - "николай_PROPN_викторович_PROPN", - "николай_PROPN_гаврилович_PROPN", - "николай_PROPN_григориевич_PROPN", - "николай_PROPN_дмитриевич_PROPN", - "николай_PROPN_егорович_PROPN", - "николай_PROPN_иванович_PROPN", - "николай_PROPN_константинович_PROPN", - "николай_PROPN_лукич_PROPN", - "николай_PROPN_львович_PROPN", - "николай_PROPN_матвеевич_PROPN", - "николай_PROPN_михаилович_PROPN", - "николай_PROPN_никитович_PROPN", - "николай_PROPN_николаевич_PROPN", - "николай_PROPN_павлович_PROPN", - "николай_PROPN_петрович_PROPN", - "николай_PROPN_семёнович_PROPN", - "николай_PROPN_сергеевич_PROPN", - "николай_PROPN_степанович_PROPN", - "николай_PROPN_тимофеевич_PROPN", - "николай_PROPN_христофорович_PROPN", - "николай_PROPN_чудотворец_PROPN", - "никто_PRON_кроме_ADP", - "нил_PROPN_лаврентиевич_PROPN", - "ним_PRON_гнаться_VERB", - "ним_PRON_приключиться_VERB", - "ним_PRON_присоединиться_VERB", - "ним_PRON_присоединяться_VERB", - "ними_PRON_гнаться_VERB", - "ними_PRON_закрыться_VERB", - "ними_PRON_захлопнуться_VERB", - "нина_PROPN_александрович_PROPN", - "нина_PROPN_алексеевич_PROPN", - "нина_PROPN_андреевич_PROPN", - "нина_PROPN_бек_PROPN", - "нина_PROPN_василиевич_PROPN", - "нина_PROPN_викторович_PROPN", - "нина_PROPN_владимирович_PROPN", - "нина_PROPN_григориевич_PROPN", - "нина_PROPN_грохотова_PROPN", - "нина_PROPN_иванович_PROPN", - "нина_PROPN_игнатиевич_PROPN", - "нина_PROPN_капитонович_PROPN", - "нина_PROPN_львович_PROPN", - "нина_PROPN_михаилович_PROPN", - "нина_PROPN_павлович_PROPN", - "нина_PROPN_петрович_PROPN", - "нина_PROPN_сергеевич_PROPN", - "нина_PROPN_су_PROPN", - "нина_PROPN_филиппович_PROPN", - "нино_PROPN_вахтангович_PROPN", - "ниро_PROPN_варанга_PROPN", - "них_PRON_были_PRON", - "них_PRON_самих_ADJ", - "ничто_PRON_иного_ADJ", - "ничто_PRON_особенный_ADJ", - "ничто_PRON_подобный_ADJ", - "ничто_PRON_подозрительный_ADJ", - "ничто_PRON_предосудительный_ADJ", - "ничто_PRON_примечательный_ADJ", - "ничто_PRON_путный_ADJ", - "ничто_PRON_толком_ADV", - "ничто_PRON_утешительный_ADJ", - "ничтожный_ADJ_количество_NOUN", - "ничтожный_ADJ_сумма_NOUN", - "но_CCONJ_зато_PART", - "нобелевский_ADJ_премия_NOUN", - "новенький_ADJ_блестящий_ADJ", - "новогодний_ADJ_вечер_NOUN", - "новогодний_ADJ_ночь_NOUN", - "новогодний_ADJ_подарок_NOUN", - "новогодний_ADJ_праздник_NOUN", - "новогодний_ADJ_ёлка_NOUN", - "новорождённый_ADJ_младенец_NOUN", - "новорождённый_ADJ_ребёнок_NOUN", - "новый_ADJ_гвинея_PROPN", - "новый_ADJ_год_PROPN", - "новый_ADJ_голландия_PROPN", - "новый_ADJ_жилец_NOUN", - "новый_ADJ_завет_PROPN", - "новый_ADJ_зеландия_PROPN", - "новый_ADJ_знакомая_NOUN", - "новый_ADJ_знакомец_NOUN", - "новый_ADJ_знакомого_NOUN", - "новый_ADJ_знакомой_NOUN", - "новый_ADJ_знакомому_NOUN", - "новый_ADJ_знакомые_NOUN", - "новый_ADJ_знакомый_NOUN", - "новый_ADJ_знакомым_NOUN", - "новый_ADJ_знакомых_NOUN", - "новый_ADJ_каледония_PROPN", - "новый_ADJ_конструкция_NOUN", - "новый_ADJ_мексика_PROPN", - "новый_ADJ_метод_NOUN", - "новый_ADJ_мост_PROPN", - "новый_ADJ_орлеан_PROPN", - "новый_ADJ_поколение_NOUN", - "новый_ADJ_порция_NOUN", - "новый_ADJ_приступ_NOUN", - "новый_ADJ_проект_NOUN", - "новый_ADJ_русские_NOUN", - "новый_ADJ_русских_NOUN", - "новый_ADJ_свет_PROPN", - "новый_ADJ_сорт_NOUN", - "новый_ADJ_учебный_ADJ", - "новый_ADJ_эра_NOUN", - "нога_NOUN_вязнуть_VERB", - "нога_NOUN_затечь_VERB", - "нога_NOUN_обуть_VERB", - "нога_NOUN_переломать_VERB", - "нога_NOUN_подвернуть_VERB", - "нога_NOUN_подкашиваться_VERB", - "нога_NOUN_подкоситься_VERB", - "нога_NOUN_сбиться_VERB", - "ноев_ADJ_ковчег_NOUN", - "нож_NOUN_вилка_NOUN", - "нож_NOUN_отрезать_VERB", - "нож_NOUN_резать_VERB", - "ножка_NOUN_стул_NOUN", - "ноль_NOUN_внимание_NOUN", - "ноль_NOUN_ноль_NOUN", - "номер_NOUN_восемь_NUM", - "номер_NOUN_газета_NOUN", - "номер_NOUN_журнал_NOUN", - "номер_NOUN_телефон_NOUN", - "номер_NOUN_тринадцать_NUM", - "номер_NOUN_шесть_NUM", - "нонна_PROPN_матвеевич_PROPN", - "нора_PROPN_аркадиевич_PROPN", - "норбер_PROPN_моони_PROPN", - "норд_NOUN_ост_NOUN", - "нормальный_ADJ_состояние_NOUN", - "нормальный_ADJ_человеческий_ADJ", - "нос_NOUN_воротить_VERB", - "нос_NOUN_кверху_ADV", - "нос_NOUN_очки_NOUN", - "нос_NOUN_совать_VERB", - "нос_NOUN_столкнуться_VERB", - "носить_VERB_имя_NOUN", - "носить_VERB_название_NOUN", - "носить_VERB_одежда_NOUN", - "носить_VERB_отпечаток_NOUN", - "носить_VERB_очки_NOUN", - "носить_VERB_титул_NOUN", - "носиться_VERB_взад_ADV", - "носиться_VERB_вокруг_ADP", - "носиться_VERB_над_ADP", - "носиться_VERB_по_ADP", - "носовой_ADJ_палуба_NOUN", - "носовой_ADJ_платок_NOUN", - "носовой_ADJ_платочек_NOUN", - "носовой_ADJ_часть_NOUN", - "носок_NOUN_ботинок_NOUN", - "носок_NOUN_сапог_NOUN", - "ночевать_VERB_дома_ADV", - "ночной_ADJ_бабочка_NOUN", - "ночной_ADJ_вахта_NOUN", - "ночной_ADJ_ветерок_NOUN", - "ночной_ADJ_видение_NOUN", - "ночной_ADJ_визит_NOUN", - "ночной_ADJ_вылазка_NOUN", - "ночной_ADJ_горшок_NOUN", - "ночной_ADJ_гость_NOUN", - "ночной_ADJ_дежурство_NOUN", - "ночной_ADJ_клуб_NOUN", - "ночной_ADJ_колпак_NOUN", - "ночной_ADJ_кошмар_NOUN", - "ночной_ADJ_мгла_NOUN", - "ночной_ADJ_мрак_NOUN", - "ночной_ADJ_нападение_NOUN", - "ночной_ADJ_небо_NOUN", - "ночной_ADJ_посетитель_NOUN", - "ночной_ADJ_похождение_NOUN", - "ночной_ADJ_приключение_NOUN", - "ночной_ADJ_прогулка_NOUN", - "ночной_ADJ_происшествие_NOUN", - "ночной_ADJ_прохлада_NOUN", - "ночной_ADJ_птица_NOUN", - "ночной_ADJ_роса_NOUN", - "ночной_ADJ_рубашка_NOUN", - "ночной_ADJ_свежесть_NOUN", - "ночной_ADJ_светило_NOUN", - "ночной_ADJ_смена_NOUN", - "ночной_ADJ_сорочка_NOUN", - "ночной_ADJ_столик_NOUN", - "ночной_ADJ_сторож_NOUN", - "ночной_ADJ_темнота_NOUN", - "ночной_ADJ_тишина_NOUN", - "ночной_ADJ_тишь_NOUN", - "ночной_ADJ_туфля_NOUN", - "ночной_ADJ_тьма_NOUN", - "ночной_ADJ_холод_NOUN", - "ночь_NOUN_выдаться_VERB", - "ночь_NOUN_накануне_ADP", - "ночь_NOUN_напролёт_ADV", - "ночь_NOUN_просидеть_VERB", - "ночь_NOUN_сниться_VERB", - "ноябрь_NOUN_год_NOUN", - "ну_INTJ_ка_INTJ", - "ну_INTJ_ка_NOUN", - "ну_INTJ_ка_PART", - "ну_INTJ_ну_PART", - "ну_INTJ_с_ADV", - "ну_INTJ_с_NOUN", - "ну_INTJ_с_PART", - "ну_INTJ_у_PART", - "ну_PART_здравствуй_VERB", - "ну_PART_ка_INTJ", - "ну_PART_ка_NOUN", - "ну_PART_ка_PART", - "ну_PART_ладно_PART", - "ну_PART_перестань_VERB", - "ну_PART_рассказывай_VERB", - "ну_PART_с_PART", - "ну_PART_у_PART", - "нужный_ADJ_русло_NOUN", - "нужный_ADJ_срочно_ADV", - "нуклеиновый_ADJ_кислота_NOUN", - "нынешний_ADJ_лето_NOUN", - "нырнуть_VERB_под_ADP", - "нью_ADJ_йоркский_ADJ", - "нью_PROPN_йорк_PROPN", - "нью_PROPN_мексико_PROPN", - "нэнси_PROPN_лобиньер_PROPN", - "нюхательный_ADJ_соль_NOUN", - "нюхательный_ADJ_табак_NOUN", - "нюхать_VERB_воздух_NOUN", - "нюхать_VERB_табак_NOUN", - "о_ADP_б_ADJ", - "о_ADP_боге_PROPN", - "о_ADP_всякая_DET", - "о_ADP_другом_ADJ", - "о_ADP_женитьба_NOUN", - "о_ADP_золоте_NOUN", - "о_ADP_кат_PROPN", - "о_ADP_котором_PRON", - "о_ADP_многом_NOUN", - "о_ADP_н_PROPN", - "о_ADP_нем_PRON", - "о_ADP_нём_NOUN", - "о_ADP_помилование_NOUN", - "о_ADP_пощада_NOUN", - "о_ADP_предстоящий_ADJ", - "о_ADP_прибытие_NOUN", - "о_ADP_пропажа_NOUN", - "о_ADP_пустяках_NOUN", - "о_ADP_р_PROPN", - "о_ADP_ребятах_NOUN", - "о_ADP_своём_ADJ", - "о_ADP_своём_NOUN", - "о_ADP_сем_ADJ", - "о_ADP_сем_NOUN", - "о_ADP_скалы_NOUN", - "о_ADP_сокровищах_NOUN", - "о_ADP_существование_NOUN", - "о_ADP_сём_NOUN", - "о_ADP_т_ADJ", - "о_ADP_таком_PRON", - "о_ADP_том_PRON", - "о_ADP_чуде_NOUN", - "о_ADP_чудесах_NOUN", - "о_ADP_чём_NOUN", - "о_ADV_о_NOUN", - "о_INTJ_бог_NOUN", - "о_INTJ_боже_PROPN", - "о_INTJ_господи_PROPN", - "о_INTJ_господи_VERB", - "о_INTJ_господь_INTJ", - "о_INTJ_господь_PROPN", - "о_INTJ_о_INTJ", - "о_INTJ_о_NOUN", - "о_INTJ_хо_NOUN", - "о_NOUN_о_NOUN", - "об_ADP_авария_NOUN", - "об_ADP_арест_NOUN", - "об_ADP_асфальт_NOUN", - "об_ADP_заклад_NOUN", - "об_ADP_игор_PROPN", - "об_ADP_измена_NOUN", - "об_ADP_истинный_ADJ", - "об_ADP_исчезновение_NOUN", - "об_ADP_одном_NUM", - "об_ADP_окончание_NOUN", - "об_ADP_опасность_NOUN", - "об_ADP_освобождение_NOUN", - "об_ADP_остальном_ADJ", - "об_ADP_осторожность_NOUN", - "об_ADP_отставка_NOUN", - "об_ADP_отъезд_NOUN", - "об_ADP_убийство_NOUN", - "об_ADP_устройство_NOUN", - "об_ADP_уход_NOUN", - "об_ADP_участь_NOUN", - "об_ADP_учёба_NOUN", - "об_ADP_это_PRON", - "оба_NUM_кузен_NOUN", - "оба_NUM_лопатка_NOUN", - "оба_NUM_половинка_NOUN", - "оба_NUM_полушарие_NOUN", - "оба_NUM_сторона_NOUN", - "оба_NUM_щека_NOUN", - "обагрить_VERB_кровь_NOUN", - "обвести_VERB_взгляд_NOUN", - "обвести_VERB_вокруг_ADP", - "обвести_VERB_всех_PRON", - "обвести_VERB_глаз_NOUN", - "обвиваться_VERB_вокруг_ADP", - "обвинительный_ADJ_акт_NOUN", - "обвинительный_ADJ_речь_NOUN", - "обвиться_VERB_вокруг_ADP", - "обводить_VERB_взгляд_NOUN", - "обводить_VERB_глаз_NOUN", - "обводный_ADJ_канал_NOUN", - "обворожительный_ADJ_улыбка_NOUN", - "обвязать_VERB_верёвка_NOUN", - "обвязать_VERB_вокруг_ADP", - "обглодать_VERB_кость_NOUN", - "обгонять_VERB_друг_PRON", - "обделывать_VERB_свой_DET", - "обдумать_VERB_план_NOUN", - "обдумывать_VERB_план_NOUN", - "обед_NOUN_варить_VERB", - "обед_NOUN_готовить_VERB", - "обеденный_ADJ_зал_NOUN", - "обеденный_ADJ_перерыв_NOUN", - "обеденный_ADJ_стол_NOUN", - "обежать_VERB_вокруг_ADP", - "обезопасить_VERB_себя_PRON", - "обезуметь_VERB_от_ADP", - "обер_NOUN_кондуктор_NOUN", - "обер_NOUN_лейтенант_NOUN", - "обер_NOUN_фискал_NOUN", - "обернуть_VERB_вокруг_ADP", - "обеспокоенно_ADV_спросить_VERB", - "обетованный_ADJ_земля_NOUN", - "обещай_VERB_мне_PRON", - "обещать_VERB_награда_NOUN", - "обещать_VERB_прислать_VERB", - "обжечь_VERB_солнце_NOUN", - "обида_NOUN_нанести_VERB", - "обидеть_VERB_тон_NOUN", - "обидный_ADJ_прозвище_NOUN", - "обиженно_ADV_засопеть_VERB", - "обиженно_ADV_поджать_VERB", - "обиженный_ADJ_лицо_NOUN", - "обильный_ADJ_дождь_NOUN", - "обильный_ADJ_пища_NOUN", - "обильный_ADJ_слеза_NOUN", - "обитатель_NOUN_замок_NOUN", - "обитатель_NOUN_земля_PROPN", - "обитатель_NOUN_марс_PROPN", - "обитатель_NOUN_пещера_NOUN", - "обить_VERB_железом_NOUN", - "обладать_VERB_дар_NOUN", - "обладать_VERB_огромный_ADJ", - "обладать_VERB_свойство_NOUN", - "обладать_VERB_способность_NOUN", - "обладать_VERB_удивительный_ADJ", - "облазить_VERB_весь_DET", - "облаке_NOUN_пыль_NOUN", - "облако_NOUN_дым_NOUN", - "облако_NOUN_пара_NOUN", - "облако_NOUN_плыть_VERB", - "облако_NOUN_пыль_NOUN", - "областной_ADJ_центр_NOUN", - "область_NOUN_наука_NOUN", - "облачко_NOUN_дым_NOUN", - "облачко_NOUN_пыль_NOUN", - "облачный_ADJ_небо_NOUN", - "облегчение_NOUN_вздохнуть_VERB", - "облегчение_NOUN_выдохнуть_VERB", - "облегченным_ADJ_сердце_NOUN", - "облегчить_VERB_душа_NOUN", - "облегчённо_ADV_вздохнуть_VERB", - "облегчённо_ADV_вздыхать_VERB", - "облегчённо_ADV_выдохнуть_VERB", - "облегчённо_ADV_перевести_VERB", - "облететь_VERB_весь_DET", - "облететь_VERB_вокруг_ADP", - "обливаться_VERB_кровь_NOUN", - "обливаться_VERB_потом_ADV", - "обливаться_VERB_слеза_NOUN", - "обливаться_VERB_холодный_ADJ", - "облизать_VERB_губа_NOUN", - "облизать_VERB_пересохнуть_VERB", - "облизнуть_VERB_губа_NOUN", - "облизнуть_VERB_пересохнуть_VERB", - "облизывать_VERB_губа_NOUN", - "облокотиться_VERB_о_ADP", - "обломок_NOUN_доска_NOUN", - "обломок_NOUN_кирпич_NOUN", - "обломок_NOUN_мачта_NOUN", - "обломок_NOUN_скала_NOUN", - "обмазать_VERB_глина_NOUN", - "обмакнуть_VERB_перо_NOUN", - "обман_NOUN_зрение_NOUN", - "обмануть_VERB_бдительность_NOUN", - "обмахиваться_VERB_веер_NOUN", - "обмен_NOUN_вещество_NOUN", - "обмен_NOUN_мысль_NOUN", - "обмениваться_VERB_впечатление_NOUN", - "обменный_ADJ_пункт_NOUN", - "обменяться_VERB_взгляд_NOUN", - "обменяться_VERB_несколько_NUM", - "обменяться_VERB_рукопожатие_NOUN", - "обмолвиться_VERB_о_ADP", - "обморок_NOUN_упасть_VERB", - "обмотать_VERB_вокруг_ADP", - "обнажить_VERB_меч_NOUN", - "обнажить_VERB_сабля_NOUN", - "обнажить_VERB_шпага_NOUN", - "обнаружить_VERB_пропажа_NOUN", - "обнести_VERB_высокий_ADJ", - "обнимать_VERB_целовать_VERB", - "обними_VERB_меня_PRON", - "обнюхивать_VERB_воздух_NOUN", - "обнять_VERB_ее_PRON", - "обнять_VERB_её_PRON", - "обо_ADP_всем_PRON", - "обо_ADP_всём_NOUN", - "обо_ADP_всём_PRON", - "обо_ADP_мне_PRON", - "обогнуть_VERB_дом_NOUN", - "обогнуть_VERB_мыс_NOUN", - "обогнуть_VERB_остров_NOUN", - "ободряюще_ADV_улыбнуться_VERB", - "обоего_ADJ_пол_NOUN", - "обойдемся_VERB_без_ADP", - "обойти_VERB_вокруг_ADP", - "обойти_VERB_кругом_ADV", - "обойтись_VERB_без_ADP", - "обойтись_VERB_благополучно_ADV", - "оборачиваться_VERB_назад_ADV", - "оборвать_VERB_его_PRON", - "оборотный_ADJ_сторона_NOUN", - "обочина_NOUN_дорога_NOUN", - "обрабатывать_VERB_земля_NOUN", - "обработать_VERB_поле_NOUN", - "обрадованно_ADV_воскликнуть_VERB", - "обрадовать_VERB_тем_PRON", - "образ_NOUN_действие_NOUN", - "образ_NOUN_жизнь_NOUN", - "образованный_ADJ_человек_NOUN", - "образовать_VERB_нечто_PRON", - "образоваться_VERB_отверстие_NOUN", - "образоваться_VERB_щель_NOUN", - "образцовый_ADJ_порядок_NOUN", - "обрасти_VERB_волос_NOUN", - "обрасти_VERB_мох_NOUN", - "обрати_ADJ_внимание_NOUN", - "обрати_VERB_внимание_NOUN", - "обратись_VERB_к_ADP", - "обратить_VERB_внимание_NOUN", - "обратить_VERB_особый_ADJ", - "обратиться_VERB_к_ADP", - "обратный_ADJ_адрес_NOUN", - "обратный_ADJ_билет_NOUN", - "обратный_ADJ_дорога_NOUN", - "обратный_ADJ_направление_NOUN", - "обратный_ADJ_порядок_NOUN", - "обратный_ADJ_путешествие_NOUN", - "обратный_ADJ_путь_NOUN", - "обратный_ADJ_сторона_NOUN", - "обратясь_VERB_к_ADP", - "обращай_VERB_внимание_NOUN", - "обращать_VERB_внимание_NOUN", - "обращать_VERB_никакой_DET", - "обращаться_VERB_к_ADP", - "обрести_VERB_дар_NOUN", - "обреченно_ADV_вздохнуть_VERB", - "обрубок_NOUN_дерево_NOUN", - "обручальный_ADJ_кольцо_NOUN", - "обрывистый_ADJ_берег_NOUN", - "обрывок_NOUN_бумага_NOUN", - "обрывок_NOUN_верёвка_NOUN", - "обрывок_NOUN_газета_NOUN", - "обрывок_NOUN_разговор_NOUN", - "обрывок_NOUN_фраза_NOUN", - "обслуживать_VERB_персонал_NOUN", - "обстоятельство_NOUN_измениться_VERB", - "обстоятельство_NOUN_складываться_VERB", - "обстоятельство_NOUN_сложиться_VERB", - "обстоять_VERB_дело_NOUN", - "обсудить_VERB_положение_NOUN", - "обсуждать_VERB_вопрос_NOUN", - "обсуждать_VERB_план_NOUN", - "обтекаемый_ADJ_форма_NOUN", - "обтянуть_VERB_кожа_NOUN", - "обтянуть_VERB_чёрный_ADJ", - "обух_NOUN_по_ADP", - "обхватить_VERB_голова_NOUN", - "обхватить_VERB_колено_NOUN", - "обхватить_VERB_рука_NOUN", - "обходить_VERB_вокруг_ADP", - "обходиться_VERB_без_ADP", - "обходный_ADJ_путь_NOUN", - "обшарить_VERB_весь_DET", - "обширный_ADJ_зал_NOUN", - "обширный_ADJ_пещера_NOUN", - "обширный_ADJ_площадь_NOUN", - "обширный_ADJ_поле_NOUN", - "обширный_ADJ_пространство_NOUN", - "обширный_ADJ_равнина_NOUN", - "общественный_ADJ_безопасность_NOUN", - "общественный_ADJ_деятель_NOUN", - "общественный_ADJ_жизнь_NOUN", - "общественный_ADJ_здание_NOUN", - "общественный_ADJ_место_NOUN", - "общественный_ADJ_мнение_NOUN", - "общественный_ADJ_организация_NOUN", - "общественный_ADJ_положение_NOUN", - "общественный_ADJ_работа_NOUN", - "общественный_ADJ_строй_NOUN", - "общественный_ADJ_транспорт_NOUN", - "общий_ADJ_благо_NOUN", - "общий_ADJ_веселие_NOUN", - "общий_ADJ_гул_NOUN", - "общий_ADJ_достояние_NOUN", - "общий_ADJ_зала_NOUN", - "общий_ADJ_знакомых_NOUN", - "общий_ADJ_интерес_NOUN", - "общий_ADJ_любимец_NOUN", - "общий_ADJ_любимица_NOUN", - "общий_ADJ_мнение_NOUN", - "общий_ADJ_сбор_NOUN", - "общий_ADJ_свалка_NOUN", - "общий_ADJ_сложность_NOUN", - "общий_ADJ_собрание_NOUN", - "общий_ADJ_согласие_NOUN", - "общий_ADJ_суматоха_NOUN", - "общий_ADJ_тетрадь_NOUN", - "общий_ADJ_то_ADJ", - "общий_ADJ_то_PROPN", - "общий_ADJ_усилие_NOUN", - "общий_ADJ_хохот_NOUN", - "общий_ADJ_черта_NOUN", - "общий_ADJ_чертах_NOUN", - "общий_ADJ_язык_NOUN", - "объехать_VERB_вокруг_ADP", - "объявить_VERB_вне_ADP", - "объявить_VERB_война_NOUN", - "объявить_VERB_перерыв_NOUN", - "объявление_NOUN_война_NOUN", - "объяснить_VERB_толком_ADV", - "объясняться_VERB_тем_PRON", - "объятие_NOUN_друг_PRON", - "объять_VERB_пламя_NOUN", - "объять_VERB_ужас_NOUN", - "обыденный_ADJ_жизнь_NOUN", - "обыкновенно_ADV_бывать_VERB", - "обыкновенный_ADJ_смертный_ADJ", - "обычный_ADJ_приветствие_NOUN", - "обычный_ADJ_спокойствие_NOUN", - "обычный_ADJ_хладнокровие_NOUN", - "обычный_ADJ_явление_NOUN", - "обязательно_ADV_должный_ADJ", - "обёрточный_ADJ_бумага_NOUN", - "овальный_ADJ_форма_NOUN", - "овечий_ADJ_шкура_NOUN", - "овладевать_VERB_им_PRON", - "овладеть_VERB_ею_PRON", - "овладеть_VERB_им_PRON", - "овладеть_VERB_ими_PRON", - "овладеть_VERB_мной_PRON", - "овладеть_VERB_мною_PRON", - "овладеть_VERB_себя_PRON", - "овладеть_VERB_собою_NOUN", - "овсяный_ADJ_каша_NOUN", - "овсяный_ADJ_поле_NOUN", - "овчинный_ADJ_полушубок_NOUN", - "огарок_NOUN_свеча_NOUN", - "огласить_VERB_воздух_NOUN", - "оглашать_VERB_воздух_NOUN", - "оглушительный_ADJ_взрыв_NOUN", - "оглушительный_ADJ_грохот_NOUN", - "оглушительный_ADJ_крик_NOUN", - "оглушительный_ADJ_рёв_NOUN", - "оглушительный_ADJ_треск_NOUN", - "оглушительный_ADJ_удар_NOUN", - "оглушительный_ADJ_хохот_NOUN", - "оглушительный_ADJ_шум_NOUN", - "оглушить_VERB_удар_NOUN", - "оглядеть_VERB_всех_PRON", - "оглядеть_VERB_комната_NOUN", - "оглядеть_VERB_присутствовать_VERB", - "оглядеть_VERB_ребят_NOUN", - "оглядеть_VERB_собраться_VERB", - "оглядеться_VERB_вокруг_ADV", - "оглядеться_VERB_кругом_ADV", - "оглядывать_VERB_комната_NOUN", - "оглядываться_VERB_вокруг_ADV", - "оглядываться_VERB_кругом_ADV", - "оглядываться_VERB_назад_ADV", - "оглянуться_VERB_вокруг_ADV", - "оглянуться_VERB_кругом_ADV", - "оглянуться_VERB_назад_ADV", - "огневой_ADJ_точка_NOUN", - "огненно_ADJ_красный_ADJ", - "огненно_ADJ_рыжий_ADJ", - "огненный_ADJ_буква_NOUN", - "огненный_ADJ_вихрь_NOUN", - "огненный_ADJ_земля_PROPN", - "огненный_ADJ_змея_NOUN", - "огненный_ADJ_искра_NOUN", - "огненный_ADJ_кольцо_NOUN", - "огненный_ADJ_красный_ADJ", - "огненный_ADJ_круг_NOUN", - "огненный_ADJ_макушка_PROPN", - "огненный_ADJ_муха_PROPN", - "огненный_ADJ_полоса_NOUN", - "огненный_ADJ_поток_NOUN", - "огненный_ADJ_рыжий_ADJ", - "огненный_ADJ_столб_NOUN", - "огненный_ADJ_стрела_NOUN", - "огненный_ADJ_струя_NOUN", - "огненный_ADJ_точка_NOUN", - "огненный_ADJ_цветок_PROPN", - "огненный_ADJ_шар_NOUN", - "огненный_ADJ_язык_NOUN", - "огнестрельный_ADJ_оружие_NOUN", - "ого_ADV_го_NOUN", - "огонь_NOUN_погаснуть_VERB", - "огонёк_NOUN_свеча_NOUN", - "ограбление_NOUN_банк_NOUN", - "ограничиваться_VERB_тем_PRON", - "ограничиться_VERB_лишь_PART", - "ограничиться_VERB_тем_PRON", - "огромный_ADJ_букет_NOUN", - "огромный_ADJ_валун_NOUN", - "огромный_ADJ_воронка_NOUN", - "огромный_ADJ_глыба_NOUN", - "огромный_ADJ_давление_NOUN", - "огромный_ADJ_значение_NOUN", - "огромный_ADJ_количество_NOUN", - "огромный_ADJ_лужа_NOUN", - "огромный_ADJ_масса_NOUN", - "огромный_ADJ_облегчение_NOUN", - "огромный_ADJ_пасть_NOUN", - "огромный_ADJ_пространство_NOUN", - "огромный_ADJ_прыжок_NOUN", - "огромный_ADJ_размер_NOUN", - "огромный_ADJ_скачок_NOUN", - "огромный_ADJ_скорость_NOUN", - "огромный_ADJ_сумма_NOUN", - "огромный_ADJ_территория_NOUN", - "огромный_ADJ_туша_NOUN", - "огромный_ADJ_усилие_NOUN", - "огрызок_NOUN_карандаш_NOUN", - "одержать_VERB_верх_NOUN", - "одержать_VERB_над_ADP", - "одержать_VERB_победа_NOUN", - "одерживать_VERB_верх_NOUN", - "одерживать_VERB_победа_NOUN", - "одет_VERB_он_PRON", - "одета_NOUN_она_PRON", - "одеться_VERB_тёплый_ADV", - "один_DET_неприятность_NOUN", - "один_DET_пятёрка_NOUN", - "один_DET_сутки_NOUN", - "один_DET_трус_NOUN", - "один_DET_трусиках_NOUN", - "один_NUM_знакомый_NOUN", - "один_NUM_миг_NOUN", - "один_NUM_мускул_NOUN", - "один_NUM_одинешенек_NOUN", - "один_NUM_присест_NOUN", - "один_NUM_раз_NOUN", - "одинаково_ADV_одеть_VERB", - "одинаковый_ADJ_расстояние_NOUN", - "одиннадцатый_ADJ_класс_NOUN", - "одиннадцатый_ADJ_час_NOUN", - "одиннадцать_NUM_вечер_NOUN", - "одиннадцать_NUM_год_NOUN", - "одиннадцать_NUM_месяц_NOUN", - "одиннадцать_NUM_час_NOUN", - "одинокий_ADJ_всадник_NOUN", - "одинокий_ADJ_путник_NOUN", - "одинокий_ADJ_утёс_PROPN", - "одинокий_ADJ_фигура_NOUN", - "одинокий_ADJ_ходок_PROPN", - "одиноко_ADV_сидеть_VERB", - "одиноко_ADV_стоить_VERB", - "одиноко_ADV_стоять_VERB", - "одиночный_ADJ_выстрел_NOUN", - "одиночный_ADJ_заключение_NOUN", - "одиночный_ADJ_камера_NOUN", - "одна_NUM_единственный_ADJ", - "одна_NUM_загадка_NOUN", - "одна_NUM_идея_NOUN", - "одна_NUM_одинешенька_NOUN", - "одна_NUM_просьба_NOUN", - "однажды_ADV_вечер_NOUN", - "однажды_ADV_утро_NOUN", - "одним_NUM_взмах_NOUN", - "одним_NUM_глазок_NOUN", - "одним_NUM_глоток_NOUN", - "одним_NUM_движение_NOUN", - "одним_NUM_дух_NOUN", - "одним_NUM_мах_NOUN", - "одним_NUM_прыжок_NOUN", - "одним_NUM_рывок_NOUN", - "одним_NUM_скачок_NOUN", - "одним_NUM_слово_NOUN", - "одним_NUM_удар_NOUN", - "одним_NUM_условие_NOUN", - "одними_ADJ_губа_NOUN", - "одно_NUM_другому_ADJ", - "одно_NUM_колено_NOUN", - "одно_NUM_мгновение_NOUN", - "одно_NUM_местечко_NOUN", - "одно_NUM_обстоятельство_NOUN", - "одно_NUM_средство_NOUN", - "одно_NUM_удовольствие_NOUN", - "одно_NUM_утешение_NOUN", - "одного_NUM_знакомого_NOUN", - "одного_NUM_рост_NOUN", - "одной_NUM_кровля_NOUN", - "одной_NUM_ножка_NOUN", - "одной_NUM_нота_NOUN", - "одной_NUM_парта_NOUN", - "одной_NUM_рубашонка_NOUN", - "одной_NUM_сторона_NOUN", - "однокомнатный_ADJ_квартира_NOUN", - "одном_NUM_бельё_NOUN", - "одном_NUM_воспоминание_NOUN", - "одном_NUM_дыхание_NOUN", - "одном_NUM_класс_NOUN", - "одном_NUM_место_NOUN", - "одном_NUM_направление_NOUN", - "одном_NUM_подъезд_NOUN", - "одном_NUM_угол_NOUN", - "одном_NUM_уровень_NOUN", - "одном_NUM_условие_NOUN", - "односложно_ADV_отвечать_VERB", - "одноэтажный_ADJ_дом_NOUN", - "одноэтажный_ADJ_домик_NOUN", - "одну_NUM_вещь_NOUN", - "одну_NUM_куча_NOUN", - "одну_NUM_минута_NOUN", - "одну_NUM_минутка_NOUN", - "одну_NUM_минуточка_NOUN", - "одну_NUM_попытка_NOUN", - "одну_NUM_секунда_NOUN", - "одну_NUM_точка_NOUN", - "одну_NUM_треть_NOUN", - "одну_NUM_фраза_NOUN", - "одну_NUM_шеренга_NOUN", - "одну_NUM_штука_NOUN", - "одобрительно_ADV_кивать_VERB", - "одобрительно_ADV_кивнуть_VERB", - "одобрительный_ADJ_возглас_NOUN", - "одолень_NOUN_трава_NOUN", - "одри_PROPN_бедфорд_PROPN", - "одуреть_VERB_от_ADP", - "одутловатый_ADJ_лицо_NOUN", - "одёрнуть_VERB_его_PRON", - "ожерелие_NOUN_из_ADP", - "ожесточённый_ADJ_бой_NOUN", - "ожесточённый_ADJ_борьба_NOUN", - "оживленно_ADV_беседовать_VERB", - "оживленно_ADV_болтать_VERB", - "оживленно_ADV_обсуждать_VERB", - "оживленно_ADV_разговаривать_VERB", - "оживленно_ADV_рассказывать_VERB", - "оживлённый_ADJ_беседа_NOUN", - "оживлённый_ADJ_разговор_NOUN", - "ожидать_VERB_возвращение_NOUN", - "ожидать_VERB_дальнейший_ADJ", - "ожидать_VERB_нападение_NOUN", - "ожидать_VERB_ответ_NOUN", - "ожидать_VERB_появление_NOUN", - "ожидать_VERB_прибытие_NOUN", - "ожить_VERB_мертвец_NOUN", - "озабоченно_ADV_проговорить_VERB", - "озабоченно_ADV_спросить_VERB", - "озабоченный_ADJ_вид_NOUN", - "озабоченный_ADJ_выражение_NOUN", - "озабоченный_ADJ_лицо_NOUN", - "озадаченно_ADV_посмотреть_VERB", - "озадаченно_ADV_почесать_VERB", - "озадаченно_ADV_спросить_VERB", - "озарить_VERB_солнце_NOUN", - "озираться_VERB_вокруг_ADV", - "озираться_VERB_кругом_ADV", - "озираться_VERB_по_ADP", - "ознакомиться_VERB_с_ADP", - "озябнуть_VERB_рука_NOUN", - "озёрный_ADJ_вода_NOUN", - "ой_INTJ_батюшка_NOUN", - "ой_INTJ_извинить_VERB", - "ой_INTJ_мамочка_NOUN", - "ой_INTJ_ой_INTJ", - "ой_INTJ_простить_VERB", - "ой_NOUN_ой_INTJ", - "ой_PART_как_ADV", - "ой_PROPN_мамочка_NOUN", - "оказать_VERB_помощь_NOUN", - "оказать_VERB_сопротивление_NOUN", - "оказать_VERB_услуга_NOUN", - "оказать_VERB_честь_NOUN", - "оказаться_VERB_бессильный_ADJ", - "оказаться_VERB_напрасный_ADJ", - "оказаться_VERB_недостаточно_ADV", - "оказаться_VERB_незапертый_ADJ", - "оказаться_VERB_непростой_ADJ", - "оказаться_VERB_неудачный_ADJ", - "оказаться_VERB_проворный_ADJ", - "оказаться_VERB_тщетный_ADJ", - "оказывать_VERB_влияние_NOUN", - "оказывать_VERB_помощь_NOUN", - "оказывать_VERB_сопротивление_NOUN", - "оказывать_VERB_услуга_NOUN", - "океанский_ADJ_вода_NOUN", - "океанский_ADJ_волна_NOUN", - "океанский_ADJ_пароход_NOUN", - "окидывать_VERB_взгляд_NOUN", - "окинуть_VERB_быстрый_ADJ", - "окинуть_VERB_взгляд_NOUN", - "окинуть_VERB_взор_NOUN", - "окладистый_ADJ_борода_NOUN", - "окликнуть_VERB_его_PRON", - "око_NOUN_зуб_NOUN", - "оковать_VERB_железом_NOUN", - "около_ADP_восемь_NUM", - "около_ADP_двенадцать_NUM", - "около_ADP_двести_NUM", - "около_ADP_девять_NUM", - "около_ADP_десяток_NOUN", - "около_ADP_дюжина_NOUN", - "около_ADP_километр_NOUN", - "около_ADP_метр_NOUN", - "около_ADP_миллион_NOUN", - "около_ADP_одиннадцать_NUM", - "около_ADP_полдень_NOUN", - "около_ADP_полтора_NUM", - "около_ADP_полумиля_NOUN", - "около_ADP_полуночь_NOUN", - "около_ADP_получаса_NOUN", - "около_ADP_пятьдесят_NUM", - "около_ADP_пятьсот_NUM", - "около_ADP_семь_NUM", - "около_ADP_сорок_NUM", - "около_ADP_сотня_NOUN", - "около_ADP_сто_NUM", - "около_ADP_тридцать_NUM", - "около_ADP_триста_NUM", - "около_ADP_тысяча_NOUN", - "около_ADP_четыреста_NUM", - "около_ADP_шестьдесят_NUM", - "околоточный_ADJ_надзиратель_NOUN", - "окольный_ADJ_путь_NOUN", - "оконный_ADJ_проём_NOUN", - "оконный_ADJ_рама_NOUN", - "оконный_ADJ_стекло_NOUN", - "окончание_NOUN_война_NOUN", - "окончание_NOUN_работа_NOUN", - "окончание_NOUN_школа_NOUN", - "окончательно_ADV_выбиться_VERB", - "окончательно_ADV_вывести_VERB", - "окончательно_ADV_запутаться_VERB", - "окончательно_ADV_потерять_VERB", - "окончательно_ADV_проснуться_VERB", - "окончательно_ADV_рассердиться_VERB", - "окончательно_ADV_растеряться_VERB", - "окончательно_ADV_сбить_VERB", - "окончательно_ADV_смутиться_VERB", - "окончательно_ADV_убедить_VERB", - "окончательно_ADV_убедиться_VERB", - "окончательно_ADV_успокоиться_VERB", - "окончательный_ADJ_ответ_NOUN", - "окончательный_ADJ_победа_NOUN", - "окончательный_ADJ_решение_NOUN", - "окончить_VERB_институт_NOUN", - "окончить_VERB_курс_NOUN", - "окончить_VERB_осмотр_NOUN", - "окончить_VERB_фраза_NOUN", - "окончить_VERB_чтение_NOUN", - "окончить_VERB_школа_NOUN", - "окончиться_VERB_благополучно_ADV", - "окраина_NOUN_город_NOUN", - "окраинный_ADJ_улица_NOUN", - "окрасить_VERB_кровь_NOUN", - "окраситься_VERB_кровь_NOUN", - "окрестный_ADJ_гора_NOUN", - "окрестный_ADJ_деревня_NOUN", - "окрестный_ADJ_житель_NOUN", - "окрестный_ADJ_лес_NOUN", - "округлить_VERB_глаз_NOUN", - "округлиться_VERB_глаз_NOUN", - "окружать_VERB_местность_NOUN", - "окружать_VERB_мир_NOUN", - "окружать_VERB_мрак_NOUN", - "окружать_VERB_обстановка_NOUN", - "окружать_VERB_предмет_NOUN", - "окружать_VERB_природа_NOUN", - "окружать_VERB_среда_NOUN", - "окружить_VERB_плотный_ADJ", - "окружить_VERB_толпа_NOUN", - "оксана_PROPN_григориевич_PROPN", - "октябрь_NOUN_год_NOUN", - "октябрьский_ADJ_праздник_NOUN", - "октябрьский_ADJ_революция_NOUN", - "окутать_VERB_густой_ADJ", - "окутать_VERB_дым_NOUN", - "окутать_VERB_туман_NOUN", - "оле_PROPN_закрой_PROPN", - "оле_PROPN_лукойе_PROPN", - "олег_PROPN_викторович_PROPN", - "олег_PROPN_денисович_PROPN", - "олег_PROPN_кошевой_PROPN", - "олений_ADJ_кожа_NOUN", - "олений_ADJ_рог_NOUN", - "олений_ADJ_шкура_NOUN", - "оленья_NOUN_нога_PROPN", - "оленья_PROPN_нога_PROPN", - "оливковый_ADJ_дерево_NOUN", - "оливковый_ADJ_масло_NOUN", - "олимпийский_ADJ_игра_NOUN", - "олина_PROPN_мама_NOUN", - "олицетворять_VERB_себя_PRON", - "оловянный_ADJ_солдат_NOUN", - "оловянный_ADJ_солдатик_NOUN", - "ольга_PROPN_александрович_PROPN", - "ольга_PROPN_алексеевич_PROPN", - "ольга_PROPN_борисович_PROPN", - "ольга_PROPN_василиевич_PROPN", - "ольга_PROPN_веньяминовна_PROPN", - "ольга_PROPN_денисович_PROPN", - "ольга_PROPN_дмитриевич_PROPN", - "ольга_PROPN_иванович_PROPN", - "ольга_PROPN_матвеевич_PROPN", - "ольга_PROPN_михаилович_PROPN", - "ольга_PROPN_николаевич_PROPN", - "ольга_PROPN_павлович_PROPN", - "ольга_PROPN_петрович_PROPN", - "ольга_PROPN_порфириевич_PROPN", - "ольга_PROPN_саяновна_PROPN", - "ольга_PROPN_сергеевич_PROPN", - "ольга_PROPN_степанович_PROPN", - "ольга_PROPN_фёдорович_PROPN", - "ольховый_ADJ_листоед_PROPN", - "ольховый_ADJ_чурка_PROPN", - "он_DET_ведомо_NOUN", - "он_DET_величество_NOUN", - "он_DET_виновность_NOUN", - "он_DET_высочество_NOUN", - "он_DET_императорский_ADJ", - "он_DET_лордство_NOUN", - "он_DET_мнение_NOUN", - "он_DET_превосходительство_NOUN", - "он_DET_преосвященство_NOUN", - "он_DET_преподобие_NOUN", - "он_DET_присутствие_NOUN", - "он_DET_самолюбие_NOUN", - "он_DET_святейшество_NOUN", - "он_DET_сиятельство_NOUN", - "он_DET_содержимое_NOUN", - "он_DET_щеках_NOUN", - "она_DET_величество_NOUN", - "она_DET_величество_PROPN", - "она_DET_мнение_NOUN", - "она_DET_содержимое_NOUN", - "она_DET_щекам_NOUN", - "она_DET_щеках_NOUN", - "онежский_ADJ_озеро_NOUN", - "онеметь_VERB_от_ADP", - "они_DET_взаимный_ADJ", - "они_DET_дружба_NOUN", - "они_DET_приезд_NOUN", - "они_DET_присутствие_NOUN", - "они_DET_приход_NOUN", - "они_DET_совместный_ADJ", - "они_DET_существование_NOUN", - "они_DET_число_NOUN", - "оно_PRON_само_ADJ", - "оня_PROPN_лихарева_PROPN", - "опавшие_ADJ_лист_NOUN", - "опасаться_VERB_нападение_NOUN", - "опасаться_VERB_нечего_VERB", - "опаска_NOUN_поглядывать_VERB", - "опаска_NOUN_посмотреть_VERB", - "опасливый_ADV_оглянуться_VERB", - "опасливый_ADV_поглядывать_VERB", - "опасливый_ADV_покоситься_VERB", - "опасно_ADV_больной_ADJ", - "опасно_ADV_ранить_VERB", - "опасность_NOUN_грозить_VERB", - "опасность_NOUN_миновать_VERB", - "опасность_NOUN_подвергаться_VERB", - "опасность_NOUN_угрожать_VERB", - "опасный_ADJ_близость_NOUN", - "опасный_ADJ_зона_NOUN", - "опасный_ADJ_предприятие_NOUN", - "опасный_ADJ_преступник_NOUN", - "опасный_ADJ_приключение_NOUN", - "опасный_ADJ_противник_NOUN", - "опасный_ADJ_путешествие_NOUN", - "опасный_ADJ_ситуация_NOUN", - "опасть_VERB_лист_NOUN", - "опасть_VERB_листва_NOUN", - "оперативный_ADJ_группа_NOUN", - "операционный_ADJ_стол_NOUN", - "опереться_VERB_локтями_NOUN", - "опереться_VERB_о_ADP", - "опереться_VERB_подбородок_NOUN", - "опереться_VERB_спина_NOUN", - "оперный_ADJ_театр_NOUN", - "описать_VERB_выше_ADV", - "описать_VERB_дуга_NOUN", - "описать_VERB_круг_NOUN", - "описать_VERB_нами_PRON", - "описать_VERB_полукруг_NOUN", - "описать_VERB_событие_NOUN", - "описывать_VERB_круг_NOUN", - "описывать_VERB_нами_PRON", - "опознавательный_ADJ_знак_NOUN", - "опорный_ADJ_пункт_NOUN", - "оправдать_VERB_доверие_NOUN", - "оправиться_VERB_от_ADP", - "определить_VERB_направление_NOUN", - "определить_VERB_цель_NOUN", - "определять_VERB_направление_NOUN", - "определённый_ADJ_количество_NOUN", - "определённый_ADJ_направление_NOUN", - "определённый_ADJ_план_NOUN", - "определённый_ADJ_промежуток_NOUN", - "определённый_ADJ_решение_NOUN", - "определённый_ADJ_условие_NOUN", - "определённый_ADJ_форма_NOUN", - "определённый_ADJ_цель_NOUN", - "опрокинуть_VERB_лодка_NOUN", - "опрокинуть_VERB_стул_NOUN", - "опрокинуться_VERB_навзничь_ADV", - "опрометью_NOUN_броситься_VERB", - "опрометью_NOUN_кинуться_VERB", - "оптический_ADJ_обман_NOUN", - "оптический_ADJ_прибор_NOUN", - "оптический_ADJ_прицел_NOUN", - "оптовый_ADJ_рынок_NOUN", - "опускать_VERB_голова_NOUN", - "опускаться_VERB_вниз_ADV", - "опускаться_VERB_ниже_ADV", - "опустить_VERB_бинокль_NOUN", - "опустить_VERB_веко_NOUN", - "опустить_VERB_глаз_NOUN", - "опустить_VERB_голова_NOUN", - "опустить_VERB_ресница_NOUN", - "опустить_VERB_шторы_NOUN", - "опуститься_VERB_вниз_ADV", - "опуститься_VERB_ниже_ADV", - "опушка_NOUN_лес_NOUN", - "опытный_ADJ_воин_NOUN", - "опытный_ADJ_моряк_NOUN", - "опытный_ADJ_охотник_NOUN", - "опытный_ADJ_станция_NOUN", - "опытный_ADJ_сыщик_NOUN", - "опьянеть_VERB_от_ADP", - "оранжевый_ADJ_жёлтый_ADJ", - "оранжевый_ADJ_красный_ADJ", - "оранжевый_ADJ_цвет_NOUN", - "орган_NOUN_чувство_NOUN", - "органический_ADJ_вещество_NOUN", - "органический_ADJ_жизнь_NOUN", - "орден_NOUN_красный_ADJ", - "орден_NOUN_ленин_PROPN", - "орден_NOUN_почётный_ADJ", - "орден_NOUN_святой_ADJ", - "ореховый_ADJ_дерево_NOUN", - "ореховый_ADJ_куст_NOUN", - "ореховый_ADJ_скорлупа_NOUN", - "ореховый_ADJ_скорлупка_NOUN", - "оригинал_NOUN_здесь_ADV", - "оркестр_NOUN_грянуть_VERB", - "оркестр_NOUN_заиграть_VERB", - "оркестр_NOUN_играть_VERB", - "орлиная_VERB_голова_PROPN", - "орлиный_ADJ_гнездо_NOUN", - "орлиный_ADJ_голова_PROPN", - "орлиный_ADJ_нос_NOUN", - "орлиный_ADJ_перо_NOUN", - "орлиный_ADJ_перо_PROPN", - "орудие_NOUN_пытка_NOUN", - "орудие_NOUN_труд_NOUN", - "орудийный_ADJ_выстрел_NOUN", - "орудийный_ADJ_прислуга_NOUN", - "оружейный_ADJ_мастер_NOUN", - "оружие_NOUN_которое_PRON", - "оружие_NOUN_наготове_ADV", - "осадить_VERB_город_NOUN", - "осадить_VERB_конь_NOUN", - "осадить_VERB_лошадь_NOUN", - "осадный_ADJ_положение_NOUN", - "осадочный_ADJ_порода_NOUN", - "осведомить_VERB_о_ADP", - "осведомляться_VERB_о_ADP", - "осветить_VERB_изнутри_ADV", - "осветить_VERB_луна_NOUN", - "осветить_VERB_луч_NOUN", - "осветить_VERB_окно_NOUN", - "осветить_VERB_пространство_NOUN", - "осветить_VERB_солнце_NOUN", - "осветить_VERB_фонарик_NOUN", - "осветить_VERB_фонарь_NOUN", - "осветить_VERB_электрический_ADJ", - "осветить_VERB_яркий_ADJ", - "осветиться_VERB_улыбка_NOUN", - "освободить_VERB_пленник_NOUN", - "освободиться_VERB_от_ADP", - "освобождаться_VERB_от_ADP", - "оседлать_VERB_конь_NOUN", - "оседлать_VERB_лошадь_NOUN", - "осенить_VERB_мысль_NOUN", - "осенний_ADJ_ветер_NOUN", - "осенний_ADJ_вечер_NOUN", - "осенний_ADJ_дождь_NOUN", - "осенний_ADJ_лист_NOUN", - "осенний_ADJ_листва_NOUN", - "осенний_ADJ_ночь_NOUN", - "осенний_ADJ_солнце_NOUN", - "осенять_VERB_себя_PRON", - "осиновый_ADJ_кол_NOUN", - "осиновый_ADJ_лист_NOUN", - "осиный_ADJ_гнездо_NOUN", - "осипнуть_VERB_голос_NOUN", - "оскалить_VERB_зуб_NOUN", - "оскалить_VERB_клык_NOUN", - "оскалить_VERB_морда_NOUN", - "оскар_PROPN_риго_PROPN", - "оскар_PROPN_уайльд_PROPN", - "осколок_NOUN_разбить_VERB", - "осколок_NOUN_снаряд_NOUN", - "осколок_NOUN_стекло_NOUN", - "оскорбление_NOUN_нанести_VERB", - "ослабить_VERB_хватка_NOUN", - "ослепительно_ADV_белый_ADJ", - "ослепительно_ADV_блестеть_VERB", - "ослепительно_ADV_сверкать_VERB", - "ослепительно_ADV_сиять_VERB", - "ослепительно_ADV_яркий_ADJ", - "ослепительный_ADJ_белизна_NOUN", - "ослепительный_ADJ_блеск_NOUN", - "ослепительный_ADJ_вспышка_NOUN", - "ослепительный_ADJ_красота_NOUN", - "ослепительный_ADJ_луч_NOUN", - "ослепительный_ADJ_молния_NOUN", - "ослепительный_ADJ_свет_NOUN", - "ослепительный_ADJ_солнце_NOUN", - "ослепить_VERB_яркий_ADJ", - "ослиный_ADJ_ухо_NOUN", - "осматривать_VERB_окрестность_NOUN", - "осматриваться_VERB_вокруг_ADV", - "осматриваться_VERB_кругом_ADV", - "осмелиться_VERB_напасть_VERB", - "осмотреть_VERB_местность_NOUN", - "осмотреть_VERB_окрестность_NOUN", - "осмотреть_VERB_рана_NOUN", - "осмотреться_VERB_вокруг_ADV", - "осмотреться_VERB_кругом_ADV", - "основание_NOUN_полагать_VERB", - "основание_NOUN_предполагать_VERB", - "основательный_ADJ_причина_NOUN", - "основный_ADJ_задача_NOUN", - "основный_ADJ_масса_NOUN", - "основный_ADJ_правило_NOUN", - "основный_ADJ_часть_NOUN", - "особа_NOUN_которая_PRON", - "особа_NOUN_которую_PRON", - "особенно_ADV_выделяться_VERB", - "особенно_ADV_заметный_ADJ", - "особенно_ADV_остро_ADV", - "особенно_ADV_поражать_VERB", - "особенно_ADV_привлекать_VERB", - "особенно_ADV_тщательно_ADV", - "особенно_ADV_ярко_ADV", - "особенный_ADJ_внимание_NOUN", - "особенный_ADJ_значение_NOUN", - "особенный_ADJ_удовольствие_NOUN", - "особо_ADV_важный_ADJ", - "особо_ADV_опасный_ADJ", - "особый_ADJ_внимание_NOUN", - "особый_ADJ_доверие_NOUN", - "особый_ADJ_задание_NOUN", - "особый_ADJ_значение_NOUN", - "особый_ADJ_интерес_NOUN", - "особый_ADJ_назначение_NOUN", - "особый_ADJ_отдел_NOUN", - "особый_ADJ_порода_NOUN", - "особый_ADJ_поручение_NOUN", - "особый_ADJ_прелесть_NOUN", - "особый_ADJ_примета_NOUN", - "особый_ADJ_распоряжение_NOUN", - "особый_ADJ_род_NOUN", - "особый_ADJ_свойство_NOUN", - "особый_ADJ_смысл_NOUN", - "особый_ADJ_труд_NOUN", - "особый_ADJ_удовольствие_NOUN", - "оставайся_VERB_здесь_ADV", - "оставалось_VERB_лишь_PART", - "оставалось_VERB_только_PART", - "оставаться_VERB_безнаказанный_ADJ", - "оставаться_VERB_безучастный_ADJ", - "оставаться_VERB_всего_PART", - "оставаться_VERB_загадка_NOUN", - "оставаться_VERB_наедине_ADV", - "оставаться_VERB_невозмутимый_ADJ", - "оставаться_VERB_незамеченный_ADJ", - "оставаться_VERB_неизменный_ADJ", - "оставаться_VERB_неподвижный_ADJ", - "оставаться_VERB_равнодушный_ADJ", - "оставить_VERB_записка_NOUN", - "оставлять_VERB_желать_VERB", - "оставлять_VERB_позади_ADP", - "оставлять_VERB_след_NOUN", - "оставлять_VERB_сомнение_NOUN", - "остальная_ADJ_часть_NOUN", - "остального_ADJ_мир_NOUN", - "остальной_ADJ_часть_NOUN", - "остальную_ADJ_часть_NOUN", - "остальные_ADJ_последовать_VERB", - "остальные_ADJ_участник_NOUN", - "остальные_ADJ_четверо_NUM", - "остальные_ADJ_член_NOUN", - "остальных_ADJ_ребят_NOUN", - "остальных_ADJ_член_NOUN", - "останавливаться_VERB_возле_ADP", - "останавливаться_VERB_посреди_ADP", - "останешься_VERB_здесь_ADV", - "остановившись_VERB_перед_ADP", - "остановить_VERB_конь_NOUN", - "остановить_VERB_лошадь_NOUN", - "остановить_VERB_машина_NOUN", - "остановиться_VERB_возле_ADP", - "остановиться_VERB_напротив_ADP", - "остановиться_VERB_около_ADP", - "остановиться_VERB_передохнуть_VERB", - "остановиться_VERB_поразить_VERB", - "остановиться_VERB_посреди_ADP", - "остановиться_VERB_прислушаться_VERB", - "остановка_NOUN_автобус_NOUN", - "останься_VERB_здесь_ADV", - "останьтесь_VERB_здесь_ADV", - "остаток_NOUN_древний_ADJ", - "остаток_NOUN_еда_NOUN", - "остаток_NOUN_мясо_NOUN", - "остаток_NOUN_пища_NOUN", - "остаток_NOUN_сон_NOUN", - "остаться_VERB_безнаказанный_ADJ", - "остаться_VERB_вдвоём_ADV", - "остаться_VERB_довольный_ADJ", - "остаться_VERB_наедине_ADV", - "остаться_VERB_невредимый_ADJ", - "остаться_VERB_недвижимый_ADJ", - "остаться_VERB_незамеченный_ADJ", - "остаться_VERB_нетронутый_ADJ", - "остаться_VERB_ночевать_VERB", - "остаться_VERB_один_DET", - "остаться_VERB_позади_ADV", - "остаться_VERB_равнодушный_ADJ", - "осторожно_ADV_выглядывать_VERB", - "осторожно_ADV_выглянуть_VERB", - "осторожно_ADV_вынуть_VERB", - "осторожно_ADV_высунуть_VERB", - "осторожно_ADV_двинуться_VERB", - "осторожно_ADV_дотронуться_VERB", - "осторожно_ADV_заглянуть_VERB", - "осторожно_ADV_обходить_VERB", - "осторожно_ADV_опустить_VERB", - "осторожно_ADV_осведомиться_VERB", - "осторожно_ADV_отворить_VERB", - "осторожно_ADV_ощупывать_VERB", - "осторожно_ADV_переступать_VERB", - "осторожно_ADV_погладить_VERB", - "осторожно_ADV_подкрасться_VERB", - "осторожно_ADV_поинтересоваться_VERB", - "осторожно_ADV_постучать_VERB", - "осторожно_ADV_потрогать_VERB", - "осторожно_ADV_потянуть_VERB", - "осторожно_ADV_приблизиться_VERB", - "осторожно_ADV_прикрыть_VERB", - "осторожно_ADV_приоткрыть_VERB", - "осторожно_ADV_приподнять_VERB", - "осторожно_ADV_пробираться_VERB", - "осторожно_ADV_пробраться_VERB", - "осторожно_ADV_продвигаться_VERB", - "осторожно_ADV_раздвинуть_VERB", - "осторожно_ADV_спускаться_VERB", - "осторожно_ADV_спустить_VERB", - "осторожно_ADV_спуститься_VERB", - "осторожно_ADV_ступать_VERB", - "осторожно_ADV_ступить_VERB", - "осторожно_ADV_тронуть_VERB", - "осторожный_ADJ_стук_NOUN", - "осторожный_ADJ_шаг_NOUN", - "остриё_NOUN_копьё_NOUN", - "остриё_NOUN_нож_NOUN", - "остро_ADV_отточить_VERB", - "остро_ADV_пахнуть_VERB", - "остров_NOUN_борнео_PROPN", - "остров_NOUN_горн_PROPN", - "остров_NOUN_крит_PROPN", - "остров_NOUN_линкольна_PROPN", - "остров_NOUN_лок_PROPN", - "остров_NOUN_пасха_PROPN", - "остров_NOUN_св_PROPN", - "остров_NOUN_сен_PROPN", - "остров_NOUN_сент_PROPN", - "остров_NOUN_сокровище_NOUN", - "остров_NOUN_табор_PROPN", - "остров_NOUN_цейлон_PROPN", - "остров_NOUN_эльба_PROPN", - "остров_PROPN_штат_PROPN", - "остроконечный_ADJ_крыша_NOUN", - "остроконечный_ADJ_шапка_NOUN", - "острый_ADJ_боль_NOUN", - "острый_ADJ_выступ_NOUN", - "острый_ADJ_жалость_NOUN", - "острый_ADJ_запах_NOUN", - "острый_ADJ_зрение_NOUN", - "острый_ADJ_зуб_NOUN", - "острый_ADJ_игла_NOUN", - "острый_ADJ_камень_NOUN", - "острый_ADJ_кинжал_NOUN", - "острый_ADJ_клык_NOUN", - "острый_ADJ_клюв_NOUN", - "острый_ADJ_коготь_NOUN", - "острый_ADJ_когтями_NOUN", - "острый_ADJ_край_NOUN", - "острый_ADJ_лезвие_NOUN", - "острый_ADJ_локоть_NOUN", - "острый_ADJ_меч_NOUN", - "острый_ADJ_морда_NOUN", - "острый_ADJ_мордочка_NOUN", - "острый_ADJ_нож_NOUN", - "острый_ADJ_нос_NOUN", - "острый_ADJ_носик_NOUN", - "острый_ADJ_осколок_NOUN", - "острый_ADJ_ощущение_NOUN", - "острый_ADJ_подбородок_NOUN", - "острый_ADJ_рог_NOUN", - "острый_ADJ_слух_NOUN", - "острый_ADJ_угол_NOUN", - "острый_ADJ_шип_NOUN", - "осуждать_VERB_взгляд_NOUN", - "осуждающе_ADV_покачать_VERB", - "осунуться_VERB_лицо_NOUN", - "осыпать_VERB_град_NOUN", - "от_ADP_безделье_NOUN", - "от_ADP_бессилие_NOUN", - "от_ADP_бессонница_NOUN", - "от_ADP_боль_NOUN", - "от_ADP_возбуждение_NOUN", - "от_ADP_возмущение_NOUN", - "от_ADP_волнение_NOUN", - "от_ADP_восторг_NOUN", - "от_ADP_гнев_NOUN", - "от_ADP_голод_NOUN", - "от_ADP_жара_NOUN", - "от_ADP_загар_NOUN", - "от_ADP_злость_NOUN", - "от_ADP_зноя_ADJ", - "от_ADP_избыток_NOUN", - "от_ADP_изумление_NOUN", - "от_ADP_испуг_NOUN", - "от_ADP_истощение_NOUN", - "от_ADP_копоть_NOUN", - "от_ADP_назойливый_ADJ", - "от_ADP_напряжение_NOUN", - "от_ADP_натуга_NOUN", - "от_ADP_негодование_NOUN", - "от_ADP_неожиданность_NOUN", - "от_ADP_нетерпение_NOUN", - "от_ADP_охватившего_VERB", - "от_ADP_побоев_NOUN", - "от_ADP_преследование_NOUN", - "от_ADP_простуда_NOUN", - "от_ADP_радость_NOUN", - "от_ADP_расстройство_NOUN", - "от_ADP_роду_NOUN", - "от_ADP_скука_NOUN", - "от_ADP_слёз_NOUN", - "от_ADP_смущение_NOUN", - "от_ADP_старость_NOUN", - "от_ADP_страх_NOUN", - "от_ADP_стыд_NOUN", - "от_ADP_удушье_NOUN", - "от_ADP_усердие_NOUN", - "от_ADP_усталость_NOUN", - "от_ADP_холод_NOUN", - "от_ADP_цинга_NOUN", - "от_ADP_щекотка_NOUN", - "от_ADP_ярость_NOUN", - "от_ADV_нечего_VERB", - "отбежать_VERB_далёкий_ADV", - "отбивать_VERB_такт_NOUN", - "отбиваться_VERB_от_ADP", - "отбиться_VERB_от_ADP", - "отблагодарить_VERB_вас_PRON", - "отблагодарить_VERB_тебя_PRON", - "отблеск_NOUN_огонь_NOUN", - "отбойный_ADJ_молоток_NOUN", - "отбрасывать_VERB_тень_NOUN", - "отбросить_VERB_назад_ADV", - "отважный_ADJ_исследователь_NOUN", - "отважный_ADJ_путешественник_NOUN", - "отвезти_VERB_домой_ADV", - "отвернуть_VERB_лицо_NOUN", - "отверстие_NOUN_пещера_NOUN", - "отвесить_VERB_ему_PRON", - "отвесить_VERB_низкий_ADJ", - "отвесить_VERB_поклон_NOUN", - "отвесный_ADJ_скала_NOUN", - "отвесный_ADJ_стена_NOUN", - "отвести_VERB_взгляд_NOUN", - "отвести_VERB_глаз_NOUN", - "отвести_VERB_душа_NOUN", - "ответить_VERB_барбикен_PROPN", - "ответить_VERB_белопольский_PROPN", - "ответить_VERB_камов_PROPN", - "ответить_VERB_кинтохо_PROPN", - "ответить_VERB_незнайка_PROPN", - "ответить_VERB_подменыш_NOUN", - "ответить_VERB_смок_PROPN", - "ответить_VERB_уклончиво_ADV", - "ответить_VERB_утвердительно_ADV", - "ответный_ADJ_крик_NOUN", - "ответный_ADJ_письмо_NOUN", - "ответный_ADJ_сигнал_NOUN", - "ответный_ADJ_удар_NOUN", - "ответственный_ADJ_задание_NOUN", - "ответственный_ADJ_момент_NOUN", - "ответственный_ADJ_поручение_NOUN", - "ответственный_ADJ_пост_NOUN", - "ответственный_ADJ_работник_NOUN", - "ответственный_ADJ_редактор_NOUN", - "ответь_VERB_мне_PRON", - "отвечать_VERB_илюша_PROPN", - "отвечать_VERB_канадец_NOUN", - "отвечать_VERB_курбский_PROPN", - "отвечать_VERB_невпопад_ADV", - "отвечать_VERB_односложно_ADV", - "отвечать_VERB_радикс_PROPN", - "отвечать_VERB_уклончиво_ADV", - "отвиснуть_VERB_челюсть_NOUN", - "отвлекать_VERB_внимание_NOUN", - "отвлечь_VERB_внимание_NOUN", - "отвлечься_VERB_от_ADP", - "отводить_VERB_взгляд_NOUN", - "отводить_VERB_глаз_NOUN", - "отводить_VERB_душа_NOUN", - "отворачиваться_VERB_от_ADP", - "отворить_VERB_ворота_NOUN", - "отворить_VERB_дверца_NOUN", - "отворить_VERB_дверь_NOUN", - "отворить_VERB_калитка_NOUN", - "отвориться_VERB_дверь_NOUN", - "отворять_VERB_дверь_NOUN", - "отворяться_VERB_дверь_NOUN", - "отвратительный_ADJ_запах_NOUN", - "отвратительный_ADJ_настроение_NOUN", - "отвратительный_ADJ_существо_NOUN", - "отвыкнуть_VERB_от_ADP", - "отвязать_VERB_верёвка_NOUN", - "отвязаться_VERB_от_ADP", - "отгородить_VERB_от_ADP", - "отгородиться_VERB_от_ADP", - "отдавать_VERB_дань_NOUN", - "отдавать_VERB_должное_NOUN", - "отдавать_VERB_команда_NOUN", - "отдавать_VERB_отчёт_NOUN", - "отдавать_VERB_предпочтение_NOUN", - "отдавать_VERB_приказ_NOUN", - "отдавать_VERB_приказание_NOUN", - "отдавать_VERB_распоряжение_NOUN", - "отдавать_VERB_честь_NOUN", - "отдаленно_ADV_напоминать_VERB", - "отдалиться_VERB_от_ADP", - "отдаляться_VERB_от_ADP", - "отдалённый_ADJ_гром_NOUN", - "отдалённый_ADJ_гул_NOUN", - "отдалённый_ADJ_звук_NOUN", - "отдалённый_ADJ_раскат_NOUN", - "отдалённый_ADJ_угол_NOUN", - "отдалённый_ADJ_часть_NOUN", - "отдалённый_ADJ_шум_NOUN", - "отдать_VERB_должное_NOUN", - "отдать_VERB_предпочтение_NOUN", - "отдать_VERB_приказ_NOUN", - "отдать_VERB_приказание_NOUN", - "отдать_VERB_распоряжение_NOUN", - "отдать_VERB_справедливость_NOUN", - "отдать_VERB_честь_NOUN", - "отдать_VERB_якорь_NOUN", - "отдел_NOUN_кадр_NOUN", - "отделаться_VERB_от_ADP", - "отделение_NOUN_вельча_PROPN", - "отделение_NOUN_директор_NOUN", - "отделение_NOUN_милиция_NOUN", - "отделение_NOUN_паррета_PROPN", - "отделить_VERB_друг_PRON", - "отделить_VERB_от_ADP", - "отделиться_VERB_от_ADP", - "отдельный_ADJ_группа_NOUN", - "отдельный_ADJ_домик_NOUN", - "отдельный_ADJ_издание_NOUN", - "отдельный_ADJ_кабинет_NOUN", - "отдельный_ADJ_квартира_NOUN", - "отдельный_ADJ_личность_NOUN", - "отдельный_ADJ_столик_NOUN", - "отдельный_ADJ_фраза_NOUN", - "отдельный_ADJ_часть_NOUN", - "отделяться_VERB_от_ADP", - "отдохнуть_VERB_немного_ADV", - "отдёргивать_VERB_рука_NOUN", - "отдёрнуть_VERB_занавеска_NOUN", - "отдёрнуть_VERB_рука_NOUN", - "отель_NOUN_де_PART", - "отереть_VERB_слеза_NOUN", - "отец_NOUN_антонио_PROPN", - "отец_NOUN_афанасий_PROPN", - "отец_NOUN_бертольд_PROPN", - "отец_NOUN_венедикт_PROPN", - "отец_NOUN_дьякон_NOUN", - "отец_NOUN_елисей_PROPN", - "отец_NOUN_ермолай_PROPN", - "отец_NOUN_жозеф_PROPN", - "отец_NOUN_жозефа_PROPN", - "отец_NOUN_игнатий_PROPN", - "отец_NOUN_иероним_PROPN", - "отец_NOUN_леонид_PROPN", - "отец_NOUN_настоятель_NOUN", - "отец_NOUN_никандр_PROPN", - "отец_NOUN_паисий_PROPN", - "отец_NOUN_санчес_PROPN", - "отец_NOUN_серафим_PROPN", - "отец_NOUN_сильвестр_PROPN", - "отец_NOUN_теодозий_PROPN", - "отец_NOUN_тук_PROPN", - "отец_NOUN_эмертон_PROPN", - "отец_NOUN_эсперанте_PROPN", - "отечественный_ADJ_война_NOUN", - "отзыв_NOUN_о_ADP", - "отирать_VERB_пот_NOUN", - "откажись_VERB_от_ADP", - "отказаться_VERB_наотрез_ADV", - "отказаться_VERB_от_ADP", - "отказываться_VERB_верить_VERB", - "отказываться_VERB_от_ADP", - "отказываться_VERB_служить_VERB", - "откидывать_VERB_голова_NOUN", - "откидываться_VERB_назад_ADV", - "откинуть_VERB_волос_NOUN", - "откинуть_VERB_голова_NOUN", - "откинуть_VERB_капюшон_NOUN", - "откинуть_VERB_крышка_NOUN", - "откинуть_VERB_назад_ADV", - "откинуть_VERB_одеяло_NOUN", - "откинуть_VERB_полог_NOUN", - "откинуться_VERB_назад_ADV", - "откладывать_VERB_яйцо_NOUN", - "откликнуться_VERB_варя_PROPN", - "отклонение_NOUN_от_ADP", - "отклониться_VERB_от_ADP", - "отклоняться_VERB_от_ADP", - "отключить_VERB_телефон_NOUN", - "отколоться_VERB_от_ADP", - "откровенно_ADV_говорить_VERB", - "откровенно_ADV_признаться_VERB", - "откровенно_ADV_сознаться_VERB", - "откровенный_ADJ_признание_NOUN", - "откровенный_ADJ_разговор_NOUN", - "откроить_VERB_вам_PRON", - "откроить_VERB_тебе_PRON", - "открывать_VERB_ворота_NOUN", - "открывать_VERB_глаз_NOUN", - "открывать_VERB_дверца_NOUN", - "открывать_VERB_дверь_NOUN", - "открывать_VERB_калитка_NOUN", - "открывать_VERB_рот_NOUN", - "открывать_VERB_форточка_NOUN", - "открываться_VERB_вид_NOUN", - "открываться_VERB_дверь_NOUN", - "открываться_VERB_широкий_ADJ", - "открытие_NOUN_америка_PROPN", - "открытый_ADJ_дверца_NOUN", - "открытый_ADJ_дверь_NOUN", - "открытый_ADJ_космос_NOUN", - "открытый_ADJ_люк_NOUN", - "открытый_ADJ_местность_NOUN", - "открытый_ADJ_море_NOUN", - "открытый_ADJ_настежь_ADV", - "открытый_ADJ_небо_NOUN", - "открытый_ADJ_океан_NOUN", - "открытый_ADJ_окно_NOUN", - "открытый_ADJ_пасть_NOUN", - "открытый_ADJ_поляна_NOUN", - "открытый_ADJ_пространство_NOUN", - "открытый_ADJ_равнина_NOUN", - "открытый_ADJ_рот_NOUN", - "открытый_ADJ_текст_NOUN", - "открытый_ADJ_форточка_NOUN", - "открыть_VERB_багажник_NOUN", - "открыть_VERB_ворота_NOUN", - "открыть_VERB_входной_ADJ", - "открыть_VERB_глаз_NOUN", - "открыть_VERB_дверца_NOUN", - "открыть_VERB_дверь_NOUN", - "открыть_VERB_калитка_NOUN", - "открыть_VERB_кран_NOUN", - "открыть_VERB_крышка_NOUN", - "открыть_VERB_люк_NOUN", - "открыть_VERB_настежь_ADV", - "открыть_VERB_настежь_NOUN", - "открыть_VERB_рот_NOUN", - "открыть_VERB_сейф_NOUN", - "открыть_VERB_ставень_NOUN", - "открыть_VERB_стрельба_NOUN", - "открыть_VERB_форточка_NOUN", - "открыть_VERB_холодильник_NOUN", - "открыться_VERB_дверь_NOUN", - "открыться_VERB_люк_NOUN", - "откуда_ADV_браться_VERB", - "откуда_ADV_взяться_VERB", - "откуда_ADV_доноситься_VERB", - "откуда_ADV_исходить_VERB", - "откуда_ADV_открываться_VERB", - "откуда_ADV_род_ADV", - "откуда_ADV_слышаться_VERB", - "откуда_ADV_то_ADV", - "откупиться_VERB_от_ADP", - "откупорить_VERB_бутылка_NOUN", - "откусить_VERB_кусок_NOUN", - "откусить_VERB_кусочек_NOUN", - "отлечь_VERB_от_ADP", - "отливать_VERB_золото_NOUN", - "отливать_VERB_серебро_NOUN", - "отлить_VERB_из_ADP", - "отличаться_VERB_друг_PRON", - "отличаться_VERB_необыкновенный_ADJ", - "отличаться_VERB_особенный_ADJ", - "отличаться_VERB_особый_ADJ", - "отличаться_VERB_от_ADP", - "отличие_NOUN_от_ADP", - "отличительный_ADJ_признак_NOUN", - "отличительный_ADJ_черта_NOUN", - "отлично_ADV_видный_ADJ", - "отлично_ADV_владеть_VERB", - "отлично_ADV_выспаться_VERB", - "отлично_ADV_знать_VERB", - "отлично_ADV_помнить_VERB", - "отлично_ADV_понимать_VERB", - "отлично_ADV_сознавать_VERB", - "отличный_ADJ_идея_NOUN", - "отличный_ADJ_настроение_NOUN", - "отличный_ADJ_расположение_NOUN", - "отлогий_ADJ_берег_NOUN", - "отложить_VERB_газета_NOUN", - "отложить_VERB_книга_NOUN", - "отложной_ADJ_воротник_NOUN", - "отложной_ADJ_воротничок_NOUN", - "отлучить_VERB_от_ADP", - "отлынивать_VERB_от_ADP", - "отмахиваться_VERB_от_ADP", - "отмахнуться_VERB_алёшка_PROPN", - "отмахнуться_VERB_женька_PROPN", - "отмахнуться_VERB_макар_PROPN", - "отметить_VERB_про_ADP", - "отморозить_VERB_себя_PRON", - "отнестись_VERB_к_ADP", - "относительно_ADP_того_PRON", - "относительный_ADJ_безопасность_NOUN", - "относиться_VERB_к_ADP", - "отношение_NOUN_между_ADP", - "отнять_VERB_у_ADP", - "отовсюду_ADV_слышаться_VERB", - "отодвигаться_VERB_от_ADP", - "отодвинуть_VERB_засов_NOUN", - "отодвинуть_VERB_стул_NOUN", - "отодвинуть_VERB_тарелка_NOUN", - "отодвинуться_VERB_далёкий_ADV", - "отодвинуться_VERB_от_ADP", - "отозваться_VERB_ник_PROPN", - "отозваться_VERB_олег_PROPN", - "отойти_VERB_далёкий_ADV", - "отойти_VERB_от_ADP", - "отойти_VERB_прочь_ADV", - "оторвать_VERB_взгляд_NOUN", - "оторвать_VERB_кусок_NOUN", - "оторвать_VERB_пуговица_NOUN", - "оторваться_VERB_от_ADP", - "отпереть_VERB_дверь_NOUN", - "отпереть_VERB_замок_NOUN", - "отпечаток_NOUN_палец_NOUN", - "отпирать_VERB_дверь_NOUN", - "отпить_VERB_глоток_NOUN", - "отплатить_VERB_вам_PRON", - "отплатить_VERB_тебе_PRON", - "отправить_VERB_телеграмма_NOUN", - "отправиться_VERB_восвояси_ADV", - "отправиться_VERB_домой_ADV", - "отправиться_VERB_осматривать_VERB", - "отправиться_VERB_отыскивать_VERB", - "отправиться_VERB_пешком_ADV", - "отправиться_VERB_путешествовать_VERB", - "отправиться_VERB_разыскивать_VERB", - "отправляться_VERB_домой_ADV", - "отпраздновать_VERB_свадьба_NOUN", - "отпрыгнуть_VERB_назад_ADV", - "отпрянуть_VERB_назад_ADV", - "отпрянуть_VERB_от_ADP", - "отпусти_NOUN_меня_PRON", - "отпусти_PROPN_меня_PRON", - "отравить_VERB_стрела_NOUN", - "отражать_VERB_нападение_NOUN", - "отражать_VERB_свет_NOUN", - "отразить_VERB_нападение_NOUN", - "отразить_VERB_свет_NOUN", - "отрезать_VERB_кусок_NOUN", - "отрезать_VERB_кусочек_NOUN", - "отрезать_VERB_ломоть_NOUN", - "отрекаться_VERB_от_ADP", - "отречение_NOUN_от_ADP", - "отречься_VERB_от_ADP", - "отрешиться_VERB_от_ADP", - "отрицательно_ADV_замотать_VERB", - "отрицательно_ADV_качать_VERB", - "отрицательно_ADV_качнуть_VERB", - "отрицательно_ADV_мотнуть_VERB", - "отрицательно_ADV_покачать_VERB", - "отрицательно_ADV_помотать_VERB", - "отрицательный_ADJ_жест_NOUN", - "отрицательный_ADJ_ответ_NOUN", - "отрубить_VERB_голова_NOUN", - "отрывать_VERB_взгляд_NOUN", - "отрывать_VERB_глаз_NOUN", - "отрываться_VERB_глядеть_VERB", - "отрываться_VERB_от_ADP", - "отрываться_VERB_следить_VERB", - "отрываться_VERB_смотреть_VERB", - "отрывисто_ADV_бросить_VERB", - "отрывисто_ADV_проговорить_VERB", - "отрывисто_ADV_произнести_VERB", - "отрывистый_ADJ_фраза_NOUN", - "отрывок_NOUN_из_ADP", - "отряд_NOUN_вооружить_VERB", - "отскакивать_VERB_от_ADP", - "отскочить_VERB_назад_ADV", - "отскочить_VERB_от_ADP", - "отслужить_VERB_молебен_NOUN", - "отставать_VERB_от_ADP", - "отставной_ADJ_майор_NOUN", - "отставной_ADJ_солдат_NOUN", - "отстаивать_VERB_свой_DET", - "отстать_VERB_от_ADP", - "отстраниться_VERB_от_ADP", - "отстраняться_VERB_от_ADP", - "отступать_VERB_назад_ADV", - "отступить_VERB_назад_ADV", - "отступиться_VERB_от_ADP", - "отсутствовать_VERB_взгляд_NOUN", - "отсчитывать_VERB_секунда_NOUN", - "отсюда_ADV_выбраться_VERB", - "отсюда_ADV_открываться_VERB", - "отталкивать_VERB_друг_PRON", - "отталкиваться_VERB_от_ADP", - "отто_PROPN_резике_PROPN", - "оттого_ADJ_то_ADV", - "оттого_ADV_что_SCONJ", - "оттолкнуть_VERB_лодка_NOUN", - "оттолкнуться_VERB_нога_NOUN", - "оттолкнуться_VERB_от_ADP", - "оттопыренные_ADJ_ухо_NOUN", - "оттопыренными_ADJ_ухо_NOUN", - "оттопырить_VERB_губа_NOUN", - "оттуда_ADV_выглянуть_VERB", - "оттуда_ADV_вылезти_VERB", - "оттуда_ADV_высунуться_VERB", - "оттуда_ADV_донестись_VERB", - "оттуда_ADV_доноситься_VERB", - "оттуда_ADV_послышаться_VERB", - "отхлынуть_VERB_от_ADP", - "отход_NOUN_поезд_NOUN", - "отходить_VERB_далеко_ADV", - "отходить_VERB_от_ADP", - "отходить_VERB_поезд_NOUN", - "отцепиться_VERB_от_ADP", - "отцовский_ADJ_кабинет_NOUN", - "отчалить_VERB_от_ADP", - "отчаяние_NOUN_воскликнуть_VERB", - "отчаяние_NOUN_закричать_VERB", - "отчаяние_NOUN_крикнуть_VERB", - "отчаяние_NOUN_ломать_VERB", - "отчаяние_NOUN_овладеть_VERB", - "отчаяние_NOUN_охватить_VERB", - "отчаянно_ADV_биться_VERB", - "отчаянно_ADV_бороться_VERB", - "отчаянно_ADV_вскрикнуть_VERB", - "отчаянно_ADV_жестикулировать_VERB", - "отчаянно_ADV_закричать_VERB", - "отчаянно_ADV_замахать_VERB", - "отчаянно_ADV_замотать_VERB", - "отчаянно_ADV_защищаться_VERB", - "отчаянно_ADV_крикнуть_VERB", - "отчаянно_ADV_кричать_VERB", - "отчаянно_ADV_махать_VERB", - "отчаянно_ADV_отбиваться_VERB", - "отчаянно_ADV_смелый_ADJ", - "отчаянно_ADV_сопротивляться_VERB", - "отчаянный_ADJ_борьба_NOUN", - "отчаянный_ADJ_визг_NOUN", - "отчаянный_ADJ_вопль_NOUN", - "отчаянный_ADJ_крик_NOUN", - "отчаянный_ADJ_положение_NOUN", - "отчаянный_ADJ_попытка_NOUN", - "отчаянный_ADJ_поступок_NOUN", - "отчаянный_ADJ_прыжок_NOUN", - "отчаянный_ADJ_решимость_NOUN", - "отчаянный_ADJ_сопротивление_NOUN", - "отчаянный_ADJ_схватка_NOUN", - "отчаянный_ADJ_усилие_NOUN", - "отчаянный_ADJ_храбрость_NOUN", - "отче_NOUN_наш_DET", - "отчего_ADV_то_ADV", - "отчего_VERB_то_ADV", - "отчеканивать_VERB_каждый_DET", - "отчетливо_ADV_виднеться_VERB", - "отчетливо_ADV_видный_ADJ", - "отчетливо_ADV_выделяться_VERB", - "отчетливо_ADV_вырисовываться_VERB", - "отчетливо_ADV_произнести_VERB", - "отчетливо_ADV_слышаться_VERB", - "отчетливо_ADV_слышный_ADJ", - "отчий_ADJ_дом_NOUN", - "отчёт_NOUN_о_ADP", - "отшатнуться_VERB_назад_ADV", - "отъявленный_ADJ_негодяй_NOUN", - "отыскивать_VERB_след_NOUN", - "отяжелеть_VERB_веко_NOUN", - "офицер_NOUN_лахит_PROPN", - "офицерский_ADJ_чин_NOUN", - "официальный_ADJ_документ_NOUN", - "официальный_ADJ_тон_NOUN", - "ох_ADP_как_ADV", - "ох_INTJ_ох_INTJ", - "ох_PART_уж_PART", - "охапка_NOUN_дров_NOUN", - "охапка_NOUN_сено_NOUN", - "охапка_NOUN_солома_NOUN", - "охапка_NOUN_сухой_ADJ", - "охапка_NOUN_хворост_NOUN", - "охватить_VERB_беспокойство_NOUN", - "охватить_VERB_внезапный_ADJ", - "охватить_VERB_волнение_NOUN", - "охватить_VERB_паника_NOUN", - "охватить_VERB_панический_ADJ", - "охватить_VERB_пламя_NOUN", - "охватить_VERB_страх_NOUN", - "охватить_VERB_тревога_NOUN", - "охватить_VERB_ужас_NOUN", - "охладеть_VERB_к_ADP", - "охотничий_ADJ_азарт_NOUN", - "охотничий_ADJ_домик_NOUN", - "охотничий_ADJ_инстинкт_NOUN", - "охотничий_ADJ_костюм_NOUN", - "охотничий_ADJ_куртка_NOUN", - "охотничий_ADJ_нож_NOUN", - "охотничий_ADJ_пёс_NOUN", - "охотничий_ADJ_рог_NOUN", - "охотничий_ADJ_ружьё_NOUN", - "охотничий_ADJ_сапог_NOUN", - "охотничий_ADJ_сезон_NOUN", - "охотничий_ADJ_собака_NOUN", - "охотничий_ADJ_сумка_NOUN", - "охотно_ADV_верить_VERB", - "охотно_ADV_исполнить_VERB", - "охотно_ADV_объяснить_VERB", - "охотно_ADV_отозваться_VERB", - "охотно_ADV_принимать_VERB", - "охотно_ADV_принять_VERB", - "охотно_ADV_рассказывать_VERB", - "охотно_ADV_согласиться_VERB", - "охотно_ADV_соглашаться_VERB", - "охотный_ADJ_ряд_NOUN", - "охотный_ADV_всего_PRON", - "охотский_ADJ_море_NOUN", - "охранять_VERB_вход_NOUN", - "охрипнуть_VERB_голос_NOUN", - "охрипнуть_VERB_от_ADP", - "оценивать_VERB_взгляд_NOUN", - "оценить_VERB_обстановка_NOUN", - "оценить_VERB_ситуация_NOUN", - "оцепенеть_VERB_от_ADP", - "оч_NOUN_чень_NOUN", - "оч_NOUN_чень_PROPN", - "очаровательный_ADJ_улыбка_NOUN", - "очевидный_ADJ_намерение_NOUN", - "очень_ADV_благодарный_ADJ", - "очень_ADV_важный_ADJ", - "очень_ADV_вежливый_ADJ", - "очень_ADV_вкусный_ADJ", - "очень_ADV_гордиться_VERB", - "очень_ADV_довольный_ADJ", - "очень_ADV_довольный_VERB", - "очень_ADV_дорого_ADV", - "очень_ADV_дорожить_VERB", - "очень_ADV_жаль_ADV", - "очень_ADV_забавлять_VERB", - "очень_ADV_лестный_ADJ", - "очень_ADV_любезно_ADV", - "очень_ADV_мило_ADV", - "очень_ADV_немногие_ADJ", - "очень_ADV_нравишься_VERB", - "очень_ADV_огорчить_VERB", - "очень_ADV_огорчиться_VERB", - "очень_ADV_остроумный_ADJ", - "очень_ADV_охотный_ADJ", - "очень_ADV_полезный_ADJ", - "очень_ADV_польщен_ADJ", - "очень_ADV_понравиться_VERB", - "очень_ADV_популярный_ADJ", - "очень_ADV_признательный_ADJ", - "очень_ADV_приятный_ADJ", - "очень_ADV_простой_ADJ", - "очень_ADV_рад_ADJ", - "очень_ADV_редко_ADV", - "очень_ADV_серьезно_ADV", - "очень_ADV_симпатичный_ADJ", - "очень_ADV_сложный_ADJ", - "очень_ADV_сожалеть_VERB", - "очень_ADV_убедительно_ADV", - "очень_ADV_убедительный_ADJ", - "очень_ADV_удачно_ADV", - "очень_ADV_удивлена_ADJ", - "очень_ADV_удобный_ADJ", - "очень_ADV_умно_ADV", - "очень_ADV_хотеться_VERB", - "очень_ADV_чувствительный_ADJ", - "очередной_ADJ_жертва_NOUN", - "очередной_ADJ_номер_NOUN", - "очередной_ADJ_партия_NOUN", - "очередной_ADJ_порция_NOUN", - "очередной_ADJ_раз_NOUN", - "очередь_NOUN_дежурить_VERB", - "очередь_NOUN_дойти_VERB", - "очертя_ADV_голова_NOUN", - "очистить_VERB_от_ADP", - "очиститься_VERB_от_ADP", - "очищаться_VERB_от_ADP", - "очный_ADJ_ставка_NOUN", - "очутиться_VERB_возле_ADP", - "очутиться_VERB_подле_NOUN", - "ошалеть_VERB_от_ADP", - "ощупью_ADV_найти_VERB", - "ощущение_NOUN_будто_SCONJ", - "п_NOUN_п_NOUN", - "па_NOUN_а_NOUN", - "павел_PROPN_i_ADJ", - "павел_PROPN_александрович_PROPN", - "павел_PROPN_андреевич_PROPN", - "павел_PROPN_борисович_PROPN", - "павел_PROPN_василиевич_PROPN", - "павел_PROPN_григориевич_PROPN", - "павел_PROPN_демидович_PROPN", - "павел_PROPN_иванович_PROPN", - "павел_PROPN_максимович_PROPN", - "павел_PROPN_михаилович_PROPN", - "павел_PROPN_николаевич_PROPN", - "павел_PROPN_павлинов_PROPN", - "павел_PROPN_павлович_PROPN", - "павел_PROPN_петрович_PROPN", - "павел_PROPN_потапович_PROPN", - "павел_PROPN_сергеевич_PROPN", - "павел_PROPN_степанович_PROPN", - "павел_PROPN_яковлевич_PROPN", - "павла_PROPN_артемиевич_PROPN", - "павла_PROPN_артемьевна_PROPN", - "павлик_PROPN_морозов_PROPN", - "павлиний_ADJ_перо_NOUN", - "падать_VERB_вниз_ADV", - "падать_VERB_дух_NOUN", - "падать_VERB_звезда_NOUN", - "падать_VERB_капля_NOUN", - "падать_VERB_ниц_NOUN", - "падать_VERB_сверху_ADV", - "падать_VERB_снег_NOUN", - "падь_NOUN_золотой_ADJ", - "пай_NOUN_мальчик_NOUN", - "пакет_NOUN_молоко_NOUN", - "пал_PROPN_павлович_PROPN", - "пал_PROPN_петрович_PROPN", - "пале_PROPN_рояль_PROPN", - "палец_NOUN_толщина_NOUN", - "палить_VERB_луч_NOUN", - "палить_VERB_солнце_NOUN", - "палуба_NOUN_пароход_NOUN", - "палый_ADJ_лист_NOUN", - "пальма_NOUN_первенство_NOUN", - "пальмовый_ADJ_дерево_NOUN", - "пальмовый_ADJ_кора_PROPN", - "пальмовый_ADJ_лист_NOUN", - "пальмовый_ADJ_роща_NOUN", - "пальчик_NOUN_оближешь_VERB", - "пальчик_NOUN_облизать_VERB", - "памятник_NOUN_архитектура_NOUN", - "памятник_NOUN_поставить_VERB", - "памятник_NOUN_пушкин_PROPN", - "памятник_NOUN_старина_NOUN", - "памятный_ADJ_день_NOUN", - "память_NOUN_всплыть_VERB", - "пан_NOUN_август_PROPN", - "пан_NOUN_бучинский_PROPN", - "пан_NOUN_гетман_PROPN", - "пан_NOUN_гымза_PROPN", - "пан_NOUN_дыля_PROPN", - "пан_NOUN_полковник_NOUN", - "пан_NOUN_тарло_PROPN", - "пан_NOUN_теодор_PROPN", - "пан_PROPN_дыля_PROPN", - "пан_PROPN_тарло_PROPN", - "пан_PROPN_чак_PROPN", - "пан_PROPN_юр_PROPN", - "панически_ADV_бояться_VERB", - "панический_ADJ_бегство_NOUN", - "панический_ADJ_страх_NOUN", - "панический_ADJ_ужас_NOUN", - "панна_PROPN_марина_PROPN", - "папа_NOUN_аист_NOUN", - "папа_NOUN_карло_PROPN", - "папа_NOUN_римский_ADJ", - "папа_PROPN_карло_PROPN", - "папаша_NOUN_юферс_PROPN", - "папин_ADJ_кабинет_NOUN", - "папиросный_ADJ_бумага_NOUN", - "пара_NOUN_минута_NOUN", - "пара_NOUN_неделя_NOUN", - "пара_NOUN_пистолет_NOUN", - "пара_NOUN_пустяк_NOUN", - "пара_NOUN_секунда_NOUN", - "пара_NOUN_тройка_NOUN", - "пара_PROPN_граф_PROPN", - "парадный_ADJ_вход_NOUN", - "парадный_ADJ_дверь_NOUN", - "парадный_ADJ_зал_NOUN", - "парадный_ADJ_костюм_NOUN", - "парадный_ADJ_крыльцо_NOUN", - "парадный_ADJ_лестница_NOUN", - "парадный_ADJ_мундир_NOUN", - "парадный_ADJ_обед_NOUN", - "парадный_ADJ_подъезд_NOUN", - "парадный_ADJ_форма_NOUN", - "параллельный_ADJ_класс_NOUN", - "параллельный_ADJ_мир_NOUN", - "парижский_ADJ_коммуна_NOUN", - "парить_VERB_над_ADP", - "парк_NOUN_культура_NOUN", - "парк_PROPN_культура_NOUN", - "паркетный_ADJ_пол_NOUN", - "пармен_PROPN_иванович_PROPN", - "парный_ADJ_молоко_NOUN", - "паровозный_ADJ_гудок_NOUN", - "паровой_ADJ_двигатель_NOUN", - "паровой_ADJ_катер_NOUN", - "паровой_ADJ_котёл_NOUN", - "паровой_ADJ_машина_NOUN", - "паровой_ADJ_отопление_NOUN", - "паровой_ADJ_судно_NOUN", - "пароходный_ADJ_компания_NOUN", - "партизанский_ADJ_край_NOUN", - "партизанский_ADJ_отряд_NOUN", - "партийный_ADJ_организация_NOUN", - "партийный_ADJ_собрание_NOUN", - "парус_NOUN_надуться_VERB", - "парусный_ADJ_корабль_NOUN", - "парусный_ADJ_лодка_NOUN", - "парусный_ADJ_судно_NOUN", - "пасмурный_ADJ_день_NOUN", - "пасмурный_ADJ_небо_NOUN", - "пасмурный_ADJ_погода_NOUN", - "пассажирский_ADJ_пароход_NOUN", - "пассажирский_ADJ_поезд_NOUN", - "пассажирский_ADJ_самолёт_NOUN", - "пастись_VERB_стадо_NOUN", - "пасть_VERB_дух_NOUN", - "пасть_VERB_жертва_NOUN", - "пасть_VERB_мёртвый_ADJ", - "пасть_VERB_ниц_NOUN", - "патер_NOUN_ольмедо_PROPN", - "патер_PROPN_бруно_PROPN", - "патер_PROPN_сераковский_PROPN", - "патриарший_ADJ_пруд_NOUN", - "патрульный_ADJ_машина_NOUN", - "пау_PROPN_амма_PROPN", - "пах_PROPN_степанович_PROPN", - "пахать_VERB_земля_NOUN", - "пахнуть_VERB_дух_NOUN", - "пахнуть_VERB_дым_NOUN", - "пахнуть_VERB_жареный_ADJ", - "пахнуть_VERB_лекарство_NOUN", - "пахнуть_VERB_мёд_NOUN", - "пахнуть_VERB_свежий_ADJ", - "пахнуть_VERB_смола_NOUN", - "пахнуть_VERB_сырость_NOUN", - "пахнуть_VERB_табак_NOUN", - "пахом_PROPN_степанович_PROPN", - "пачка_NOUN_бумага_NOUN", - "пачка_NOUN_газета_NOUN", - "пачка_NOUN_деньга_NOUN", - "пачка_NOUN_папироса_NOUN", - "пачка_NOUN_письмо_NOUN", - "пачка_NOUN_сигарета_NOUN", - "пашка_PROPN_гераскин_PROPN", - "паяльный_ADJ_лампа_NOUN", - "певучий_ADJ_голос_NOUN", - "певчий_ADJ_птица_NOUN", - "педагогический_ADJ_институт_NOUN", - "педагогический_ADJ_совет_NOUN", - "пек_PROPN_чан_PROPN", - "пелагея_PROPN_федотович_PROPN", - "пение_NOUN_птица_NOUN", - "пенистый_ADJ_волна_NOUN", - "пениться_VERB_волна_NOUN", - "пепе_PROPN_ортис_PROPN", - "пепельный_ADJ_волос_NOUN", - "пепси_NOUN_кола_NOUN", - "перво_NOUN_наперво_NOUN", - "первобытный_ADJ_лес_NOUN", - "первобытный_ADJ_человек_NOUN", - "первоначальный_ADJ_план_NOUN", - "первый_ADJ_апрель_NOUN", - "первый_ADJ_встречный_ADJ", - "первый_ADJ_встречный_NOUN", - "первый_ADJ_выпуск_NOUN", - "первый_ADJ_гильдия_NOUN", - "первый_ADJ_издание_NOUN", - "первый_ADJ_май_NOUN", - "первый_ADJ_мировой_ADJ", - "первый_ADJ_очередь_NOUN", - "первый_ADJ_побуждение_NOUN", - "первый_ADJ_попасться_VERB", - "первый_ADJ_приз_NOUN", - "первый_ADJ_проблеск_NOUN", - "первый_ADJ_публикация_NOUN", - "первый_ADJ_раз_NOUN", - "первый_ADJ_разряд_NOUN", - "первый_ADJ_ранг_NOUN", - "первый_ADJ_ряд_NOUN", - "первый_ADJ_сентябрь_NOUN", - "первый_ADJ_слог_NOUN", - "первый_ADJ_сорт_NOUN", - "первый_ADJ_страница_NOUN", - "первый_ADJ_фрейлина_NOUN", - "первый_ADJ_этаж_NOUN", - "первый_ADJ_этап_NOUN", - "перебежать_VERB_дорога_NOUN", - "перебежать_VERB_улица_NOUN", - "перебежать_VERB_через_ADP", - "перебивать_VERB_друг_PRON", - "перебирать_VERB_нога_NOUN", - "перебирать_VERB_палец_NOUN", - "перебирать_VERB_струна_NOUN", - "перебираться_VERB_через_ADP", - "перебить_VERB_его_PRON", - "перебить_VERB_ее_PRON", - "перебраться_VERB_через_ADP", - "перебросить_VERB_через_ADP", - "перевалить_VERB_за_ADP", - "перевалить_VERB_через_ADP", - "перевалиться_VERB_через_ADP", - "перевернуть_VERB_вверх_ADV", - "перевернуть_VERB_лодка_NOUN", - "перевернуть_VERB_страница_NOUN", - "перевернуться_VERB_вверх_ADV", - "перевеситься_VERB_через_ADP", - "перевести_VERB_взгляд_NOUN", - "перевести_VERB_дух_NOUN", - "перевести_VERB_дыхание_NOUN", - "перевести_VERB_разговор_NOUN", - "перевести_VERB_стрелка_NOUN", - "перевод_NOUN_анна_PROPN", - "перевод_NOUN_вадим_PROPN", - "перевод_NOUN_иргебаева_PROPN", - "перевод_NOUN_означать_VERB", - "переводить_VERB_взгляд_NOUN", - "переводить_VERB_дух_NOUN", - "переводить_VERB_дыхание_NOUN", - "переводный_ADJ_картинка_NOUN", - "переворачивать_VERB_страница_NOUN", - "перевязать_VERB_рана_NOUN", - "перевязочный_ADJ_пункт_NOUN", - "перевязывать_VERB_рана_NOUN", - "перегибаться_VERB_через_ADP", - "перегнуться_VERB_через_ADP", - "переговариваться_VERB_между_ADP", - "переговорный_ADJ_устройство_NOUN", - "перегонять_VERB_друг_PRON", - "перед_ADP_алтарь_NOUN", - "перед_ADP_вами_PRON", - "перед_ADP_воротами_NOUN", - "перед_ADP_всеми_PRON", - "перед_ADP_вылет_NOUN", - "перед_ADP_другом_PRON", - "перед_ADP_заход_NOUN", - "перед_ADP_зеркало_NOUN", - "перед_ADP_икона_NOUN", - "перед_ADP_каникулами_NOUN", - "перед_ADP_крыльцом_NOUN", - "перед_ADP_мной_PRON", - "перед_ADP_мною_PRON", - "перед_ADP_мысленный_ADJ", - "перед_ADP_нами_PRON", - "перед_ADP_нею_PRON", - "перед_ADP_ним_PRON", - "перед_ADP_ними_PRON", - "перед_ADP_отлёт_NOUN", - "перед_ADP_отправка_NOUN", - "перед_ADP_отправление_NOUN", - "перед_ADP_отход_NOUN", - "перед_ADP_отъезд_NOUN", - "перед_ADP_рассвет_NOUN", - "перед_ADP_ребятами_NOUN", - "перед_ADP_самым_ADJ", - "перед_ADP_самыми_ADJ", - "перед_ADP_сон_NOUN", - "перед_ADP_старт_NOUN", - "перед_ADP_тем_PRON", - "перед_ADP_тобою_PRON", - "перед_ADP_уход_NOUN", - "передавать_VERB_друг_PRON", - "передавать_VERB_привет_NOUN", - "передайте_VERB_пожалуйста_ADV", - "передать_VERB_записка_NOUN", - "передать_VERB_привет_NOUN", - "передаться_VERB_и_PART", - "передвигать_VERB_нога_NOUN", - "передний_ADJ_зуб_NOUN", - "передний_ADJ_колесо_NOUN", - "передний_ADJ_конечность_NOUN", - "передний_ADJ_край_NOUN", - "передний_ADJ_лапа_NOUN", - "передний_ADJ_лапка_NOUN", - "передний_ADJ_мачта_NOUN", - "передний_ADJ_нога_NOUN", - "передний_ADJ_план_NOUN", - "передний_ADJ_ряд_NOUN", - "передний_ADJ_сидение_NOUN", - "передний_ADJ_стенка_NOUN", - "передний_ADJ_часть_NOUN", - "передними_VERB_лапа_NOUN", - "передовой_ADJ_отряд_NOUN", - "передовой_ADJ_позиция_NOUN", - "передовой_ADJ_пост_NOUN", - "передёрнуть_VERB_плечо_NOUN", - "переехать_VERB_сюда_ADV", - "переждать_VERB_пока_SCONJ", - "пережить_VERB_волнение_NOUN", - "пережить_VERB_ею_PRON", - "пережить_VERB_страх_NOUN", - "пережить_VERB_ужас_NOUN", - "перейти_VERB_вброд_ADV", - "перейти_VERB_граница_NOUN", - "перейти_VERB_мост_NOUN", - "перекати_NOUN_поле_NOUN", - "перекатиться_VERB_через_ADP", - "перекатываться_VERB_через_ADP", - "перекинуть_VERB_нога_NOUN", - "перекинуть_VERB_через_ADP", - "перекинуться_VERB_несколько_NUM", - "перекись_NOUN_водород_NOUN", - "перекосить_VERB_лицо_NOUN", - "перекрывать_VERB_шум_NOUN", - "перелезать_VERB_через_ADP", - "перелезть_VERB_через_ADP", - "перелетать_VERB_через_ADP", - "перелететь_VERB_через_ADP", - "переливание_NOUN_кровь_NOUN", - "перелистывать_VERB_книга_NOUN", - "перелистывать_VERB_страница_NOUN", - "перелётный_ADJ_птица_NOUN", - "перемахнуть_VERB_через_ADP", - "перемена_NOUN_погода_NOUN", - "перемена_NOUN_произойти_VERB", - "переменить_VERB_направление_NOUN", - "переменить_VERB_положение_NOUN", - "переменить_VERB_разговор_NOUN", - "переменить_VERB_тактика_NOUN", - "переменить_VERB_тема_NOUN", - "переменить_VERB_тон_NOUN", - "переменный_ADJ_успех_NOUN", - "переминаться_VERB_с_ADP", - "переносный_ADJ_смысл_NOUN", - "переплыть_VERB_река_NOUN", - "переполнить_VERB_народ_NOUN", - "переполнить_VERB_чаша_NOUN", - "перепончатый_ADJ_крыло_NOUN", - "переправа_NOUN_через_ADP", - "переправиться_VERB_через_ADP", - "переправляться_VERB_через_ADP", - "перепрыгивать_VERB_через_ADP", - "перепрыгнуть_VERB_через_ADP", - "перепугать_VERB_насмерть_ADV", - "перерезать_VERB_верёвка_NOUN", - "перерезать_VERB_горло_NOUN", - "перерыв_NOUN_между_ADP", - "перерыть_VERB_весь_DET", - "пересечь_VERB_двор_NOUN", - "пересечь_VERB_местность_NOUN", - "пересечь_VERB_площадь_NOUN", - "пересечь_VERB_улица_NOUN", - "пересилить_VERB_себя_PRON", - "перескакивать_VERB_через_ADP", - "перескочить_VERB_через_ADP", - "пересохнуть_VERB_горло_NOUN", - "пересохнуть_VERB_губа_NOUN", - "переставать_VERB_удивляться_VERB", - "переставать_VERB_улыбаться_VERB", - "переставлять_VERB_нога_NOUN", - "перестать_VERB_биться_VERB", - "перестать_VERB_грести_VERB", - "перестать_VERB_дышать_VERB", - "перестать_VERB_жевать_VERB", - "перестать_VERB_замечать_VERB", - "перестать_VERB_интересоваться_VERB", - "перестать_VERB_лаять_VERB", - "перестать_VERB_обращать_VERB", - "перестать_VERB_плакать_VERB", - "перестать_VERB_смеяться_VERB", - "перестать_VERB_стучать_VERB", - "перестать_VERB_существовать_VERB", - "перестать_VERB_улыбаться_VERB", - "переступать_VERB_порог_NOUN", - "переступать_VERB_через_ADP", - "переступить_VERB_порог_NOUN", - "переступить_VERB_через_ADP", - "пересчитать_VERB_деньга_NOUN", - "пересчитывать_VERB_деньга_NOUN", - "перехватить_VERB_взгляд_NOUN", - "перехватить_VERB_горло_NOUN", - "перехватить_VERB_дыхание_NOUN", - "перехватить_VERB_инициатива_NOUN", - "перехватывать_VERB_дыхание_NOUN", - "переход_NOUN_через_ADP", - "переходить_VERB_вброд_ADV", - "переходить_VERB_граница_NOUN", - "переходить_VERB_улица_NOUN", - "переходный_ADJ_возраст_NOUN", - "перечитать_VERB_письмо_NOUN", - "перечитывать_VERB_письмо_NOUN", - "перешагивать_VERB_через_ADP", - "перешагнуть_VERB_порог_NOUN", - "перешагнуть_VERB_через_ADP", - "перешёптываться_VERB_между_ADP", - "перила_NOUN_лестница_NOUN", - "период_NOUN_дождь_NOUN", - "перистый_ADJ_облако_NOUN", - "пернатый_ADJ_змея_NOUN", - "перо_NOUN_описать_VERB", - "перочинный_ADJ_нож_NOUN", - "перочинный_ADJ_ножик_NOUN", - "перочинный_ADJ_ножичек_NOUN", - "персидский_ADJ_залив_NOUN", - "персидский_ADJ_ковёр_NOUN", - "песенка_NOUN_которую_PRON", - "песенка_NOUN_петь_VERB", - "песенка_NOUN_про_ADP", - "песенка_NOUN_спета_NOUN", - "песня_NOUN_петь_VERB", - "песня_NOUN_распевать_VERB", - "песня_NOUN_спеть_VERB", - "песок_NOUN_пустынь_NOUN", - "песочный_ADJ_цвет_NOUN", - "песочный_ADJ_час_NOUN", - "пестряков_PROPN_валерий_PROPN", - "песчаный_ADJ_берег_NOUN", - "песчаный_ADJ_бугор_NOUN", - "песчаный_ADJ_буря_NOUN", - "песчаный_ADJ_дно_NOUN", - "песчаный_ADJ_дорожка_NOUN", - "песчаный_ADJ_дюна_NOUN", - "песчаный_ADJ_коса_NOUN", - "песчаный_ADJ_мель_NOUN", - "песчаный_ADJ_отмель_NOUN", - "песчаный_ADJ_пляж_NOUN", - "песчаный_ADJ_полоса_NOUN", - "песчаный_ADJ_пустыня_NOUN", - "песчаный_ADJ_равнина_NOUN", - "песчаный_ADJ_холм_NOUN", - "петер_PROPN_мюрфи_PROPN", - "петин_PROPN_мама_NOUN", - "петлять_VERB_между_ADP", - "петроградский_ADJ_сторона_NOUN", - "петропавловский_ADJ_крепость_NOUN", - "петушиный_ADJ_крик_NOUN", - "петь_VERB_песенка_NOUN", - "петь_VERB_песня_NOUN", - "петь_VERB_плясать_VERB", - "петь_VERB_соловей_NOUN", - "петь_VERB_хор_NOUN", - "петька_PROPN_маремуха_PROPN", - "петька_PROPN_птица_PROPN", - "петькин_PROPN_отец_NOUN", - "пехотный_ADJ_полок_NOUN", - "печально_ADV_вздохнуть_VERB", - "печально_ADV_опустить_VERB", - "печально_ADV_покачать_VERB", - "печально_ADV_проговорить_VERB", - "печально_ADV_улыбнуться_VERB", - "печальный_ADJ_весть_NOUN", - "печальный_ADJ_воспоминание_NOUN", - "печальный_ADJ_зрелище_NOUN", - "печальный_ADJ_известие_NOUN", - "печальный_ADJ_история_NOUN", - "печальный_ADJ_новость_NOUN", - "печальный_ADJ_повесть_NOUN", - "печальный_ADJ_последствие_NOUN", - "печальный_ADJ_происшествие_NOUN", - "печальный_ADJ_событие_NOUN", - "печальный_ADJ_улыбка_NOUN", - "печальный_ADJ_участь_NOUN", - "печатается_VERB_по_ADP", - "печатный_ADJ_буква_NOUN", - "печка_NOUN_топить_VERB", - "печный_ADJ_труба_NOUN", - "печь_VERB_пирог_NOUN", - "печь_VERB_хлеб_NOUN", - "печься_VERB_о_ADP", - "печёный_ADJ_картошка_NOUN", - "печёный_ADJ_яблоко_NOUN", - "пешком_ADV_дойти_VERB", - "пешком_ADV_ходить_VERB", - "пещерный_ADJ_житель_NOUN", - "пещерный_ADJ_лев_NOUN", - "пещерный_ADJ_медведь_NOUN", - "пещерный_ADJ_человек_NOUN", - "пи_NOUN_пи_NOUN", - "пивной_ADJ_бутылка_NOUN", - "пивной_ADJ_кружка_NOUN", - "пиво_NOUN_пить_VERB", - "пиковый_ADJ_дама_NOUN", - "пиковый_ADJ_дама_PROPN", - "пилить_VERB_дрова_NOUN", - "пим_PROPN_копытыч_PROPN", - "пинать_VERB_нога_NOUN", - "пинг_NOUN_понг_NOUN", - "пинок_NOUN_нога_NOUN", - "пионерский_ADJ_галстук_NOUN", - "пионерский_ADJ_горн_NOUN", - "пионерский_ADJ_дружина_NOUN", - "пионерский_ADJ_комната_NOUN", - "пионерский_ADJ_костёр_NOUN", - "пионерский_ADJ_лагер_NOUN", - "пионерский_ADJ_лагерь_NOUN", - "пионерский_ADJ_организация_NOUN", - "пионерский_ADJ_отряд_NOUN", - "пионерский_ADJ_правда_NOUN", - "пионерский_ADJ_сбор_NOUN", - "пир_NOUN_гора_NOUN", - "пиратский_ADJ_корабль_NOUN", - "пиратский_ADJ_судно_NOUN", - "пирог_NOUN_печь_VERB", - "писатель_NOUN_пе_PROPN", - "писатель_PROPN_пе_PROPN", - "писать_VERB_заявление_NOUN", - "писать_VERB_машинка_NOUN", - "писать_VERB_письмо_NOUN", - "писать_VERB_сочинение_NOUN", - "писать_VERB_статья_NOUN", - "писать_VERB_стих_NOUN", - "пискливый_ADJ_голос_NOUN", - "писклявый_ADJ_голос_NOUN", - "пистолетный_ADJ_выстрел_NOUN", - "письменный_ADJ_прибор_NOUN", - "письменный_ADJ_принадлежность_NOUN", - "письменный_ADJ_стол_NOUN", - "письменный_ADJ_столик_NOUN", - "письмо_NOUN_адресовать_VERB", - "письмо_NOUN_которое_PRON", - "письмо_NOUN_прислать_VERB", - "питательный_ADJ_вещество_NOUN", - "питательный_ADJ_крем_NOUN", - "питать_VERB_надежда_NOUN", - "питаться_VERB_исключительно_ADV", - "питейный_ADJ_дом_NOUN", - "пить_VERB_вино_NOUN", - "пить_VERB_водка_NOUN", - "пить_VERB_кофе_NOUN", - "пить_VERB_молоко_NOUN", - "пить_VERB_пиво_NOUN", - "пить_VERB_чай_NOUN", - "пить_VERB_шампанское_NOUN", - "питьевой_ADJ_вода_NOUN", - "пищевой_ADJ_продукт_NOUN", - "плавательный_ADJ_бассейн_NOUN", - "плавать_VERB_туннель_NOUN", - "плавно_ADV_опускаться_VERB", - "плавно_ADV_опуститься_VERB", - "плавно_ADV_покачиваться_VERB", - "плавно_ADV_скользить_VERB", - "плавный_ADJ_движение_NOUN", - "плавучий_ADJ_лёд_NOUN", - "плавучий_ADJ_остров_NOUN", - "плакать_VERB_горько_ADV", - "плакать_VERB_навзрыд_PROPN", - "плаксивый_ADJ_голос_NOUN", - "плакучий_ADJ_ива_NOUN", - "пламенный_ADJ_речь_NOUN", - "пламя_NOUN_костёр_NOUN", - "пламя_NOUN_свеча_NOUN", - "план_NOUN_бегство_NOUN", - "план_NOUN_действие_NOUN", - "план_NOUN_месть_NOUN", - "план_NOUN_операция_NOUN", - "план_NOUN_относительно_ADP", - "план_NOUN_побег_NOUN", - "планета_NOUN_земля_PROPN", - "планета_NOUN_марс_PROPN", - "планета_NOUN_солнечный_ADJ", - "планетный_ADJ_система_NOUN", - "пласт_NOUN_земля_NOUN", - "пластиковый_ADJ_бутылка_NOUN", - "пластиковый_ADJ_пакет_NOUN", - "пластический_ADJ_операция_NOUN", - "платить_VERB_дань_NOUN", - "платить_VERB_деньга_NOUN", - "платить_VERB_налог_NOUN", - "платок_NOUN_вытереть_VERB", - "платон_PROPN_сергеевич_PROPN", - "платон_PROPN_филиппович_PROPN", - "платье_NOUN_которое_PRON", - "платье_NOUN_сшить_VERB", - "платяной_ADJ_шкаф_NOUN", - "плачевный_ADJ_состояние_NOUN", - "плачущий_ADJ_голос_NOUN", - "плащ_NOUN_палатка_NOUN", - "плевал_VERB_я_PRON", - "племя_NOUN_обезьяна_NOUN", - "плеск_NOUN_вода_NOUN", - "плеск_NOUN_волна_NOUN", - "плескаться_VERB_вода_NOUN", - "плестись_VERB_сзади_ADV", - "плетёный_ADJ_корзина_NOUN", - "плетёный_ADJ_корзинка_NOUN", - "плетёный_ADJ_кресло_NOUN", - "плешивый_ADJ_голова_NOUN", - "плитка_NOUN_шоколад_NOUN", - "плодовый_ADJ_дерево_NOUN", - "плодовый_ADJ_тело_NOUN", - "плодородный_ADJ_земля_NOUN", - "плоский_ADJ_вершина_NOUN", - "плоский_ADJ_камень_NOUN", - "плоский_ADJ_крыша_NOUN", - "плоскогорье_NOUN_дальний_ADJ", - "плотно_ADV_закрывать_VERB", - "плотно_ADV_закрыть_VERB", - "плотно_ADV_запереть_VERB", - "плотно_ADV_затворить_VERB", - "плотно_ADV_набить_VERB", - "плотно_ADV_облегать_VERB", - "плотно_ADV_прижать_VERB", - "плотно_ADV_прижаться_VERB", - "плотно_ADV_прикрыть_VERB", - "плотно_ADV_прилегать_VERB", - "плотно_ADV_притворить_VERB", - "плотно_ADV_сжатый_ADJ", - "плотно_ADV_сжать_VERB", - "плотно_ADV_сомкнуть_VERB", - "плотный_ADJ_бумага_NOUN", - "плотный_ADJ_кольцо_NOUN", - "плотный_ADJ_масса_NOUN", - "плотный_ADJ_ряд_NOUN", - "плотный_ADJ_слой_NOUN", - "плотный_ADJ_стена_NOUN", - "плотный_ADJ_ткань_NOUN", - "плотный_ADJ_толпа_NOUN", - "плотный_ADJ_фигура_NOUN", - "плотный_ADV_прижаться_VERB", - "плохо_ADV_вооружить_VERB", - "плохо_ADV_воспитать_VERB", - "плохо_ADV_житься_VERB", - "плохо_ADV_кончиться_VERB", - "плохо_ADV_кормить_VERB", - "плохо_ADV_одеть_VERB", - "плохо_ADV_осветить_VERB", - "плохо_ADV_получаться_VERB", - "плохо_ADV_разбираться_VERB", - "плохо_ADV_скрывать_VERB", - "плохо_ADV_скрытый_ADJ", - "плохо_ADV_слушаться_VERB", - "плохо_ADV_соображать_VERB", - "плохо_ADV_удаваться_VERB", - "плохо_ADV_учиться_VERB", - "плохой_ADJ_настроение_NOUN", - "плохой_ADJ_отметка_NOUN", - "плохой_ADJ_погода_NOUN", - "плохой_ADJ_примета_NOUN", - "плохой_ADJ_чем_SCONJ", - "плохой_ADV_всего_PRON", - "плохой_ADV_всех_PRON", - "плохой_ADV_других_ADJ", - "плохой_ADV_некуда_ADV", - "плохой_ADV_чем_SCONJ", - "площадка_NOUN_лестница_NOUN", - "плюхнуться_VERB_рядом_ADV", - "плясать_VERB_вокруг_ADP", - "плёвый_ADJ_дело_NOUN", - "пнуть_VERB_нога_NOUN", - "по_ADP_алгебра_NOUN", - "по_ADP_арифметика_NOUN", - "по_ADP_башка_NOUN", - "по_ADP_бел_NOUN", - "по_ADP_болотам_NOUN", - "по_ADP_болоту_NOUN", - "по_ADP_бревну_NOUN", - "по_ADP_вагонам_NOUN", - "по_ADP_ванта_NOUN", - "по_ADP_ведру_NOUN", - "по_ADP_веление_NOUN", - "по_ADP_вертикаль_NOUN", - "по_ADP_верхушкам_NOUN", - "по_ADP_ветвям_NOUN", - "по_ADP_вод_NOUN", - "по_ADP_временам_NOUN", - "по_ADP_всему_PRON", - "по_ADP_горизонталь_NOUN", - "по_ADP_данному_ADJ", - "по_ADP_дешёвка_NOUN", - "по_ADP_джунглям_NOUN", - "по_ADP_диагональ_NOUN", - "по_ADP_долинам_NOUN", - "по_ADP_железу_NOUN", - "по_ADP_жребию_NOUN", - "по_ADP_задворкам_NOUN", - "по_ADP_зале_NOUN", - "по_ADP_звездам_NOUN", - "по_ADP_избам_NOUN", - "по_ADP_инерция_NOUN", - "по_ADP_истечение_NOUN", - "по_ADP_какому_PRON", - "по_ADP_карманам_NOUN", - "по_ADP_каютам_NOUN", - "по_ADP_клавиша_NOUN", - "по_ADP_кличка_NOUN", - "по_ADP_коленкам_NOUN", - "по_ADP_колену_NOUN", - "по_ADP_коленям_NOUN", - "по_ADP_комнатам_NOUN", - "по_ADP_косточкам_NOUN", - "по_ADP_кумпол_NOUN", - "по_ADP_лестница_NOUN", - "по_ADP_листьям_NOUN", - "по_ADP_лугам_NOUN", - "по_ADP_мановение_NOUN", - "по_ADP_маслу_NOUN", - "по_ADP_минутам_NOUN", - "по_ADP_многу_NOUN", - "по_ADP_моему_PRON", - "по_ADP_морям_NOUN", - "по_ADP_мосткам_NOUN", - "по_ADP_мостовая_NOUN", - "по_ADP_наклонный_ADJ", - "по_ADP_направление_NOUN", - "по_ADP_наследство_NOUN", - "по_ADP_настояние_NOUN", - "по_ADP_наущение_NOUN", - "по_ADP_неопытность_NOUN", - "по_ADP_нервам_NOUN", - "по_ADP_нескольку_NUM", - "по_ADP_нраву_NOUN", - "по_ADP_нутру_NOUN", - "по_ADP_обыкновение_NOUN", - "по_ADP_огородам_NOUN", - "по_ADP_одеялу_NOUN", - "по_ADP_окончание_NOUN", - "по_ADP_отдельность_NOUN", - "по_ADP_палатам_NOUN", - "по_ADP_пальцам_NOUN", - "по_ADP_партам_NOUN", - "по_ADP_перилам_NOUN", - "по_ADP_периметр_NOUN", - "по_ADP_пескам_NOUN", - "по_ADP_плечам_NOUN", - "по_ADP_плечи_NOUN", - "по_ADP_плитам_NOUN", - "по_ADP_повод_NOUN", - "по_ADP_полочкам_NOUN", - "по_ADP_привычка_NOUN", - "по_ADP_прозвание_NOUN", - "по_ADP_прозвище_NOUN", - "по_ADP_прошествие_NOUN", - "по_ADP_пята_NOUN", - "по_ADP_пятам_NOUN", - "по_ADP_радио_NOUN", - "по_ADP_рассеянность_NOUN", - "по_ADP_ребрам_NOUN", - "по_ADP_руслу_NOUN", - "по_ADP_ручью_NOUN", - "по_ADP_селам_NOUN", - "по_ADP_склонам_NOUN", - "по_ADP_слог_NOUN", - "по_ADP_слогам_NOUN", - "по_ADP_совместительство_NOUN", - "по_ADP_соседство_NOUN", - "по_ADP_сравнение_NOUN", - "по_ADP_средам_NOUN", - "по_ADP_старинка_NOUN", - "по_ADP_стволам_NOUN", - "по_ADP_стеночка_NOUN", - "по_ADP_степям_NOUN", - "по_ADP_стопам_NOUN", - "по_ADP_строчок_NOUN", - "по_ADP_ступеням_NOUN", - "по_ADP_сугробам_NOUN", - "по_ADP_суть_NOUN", - "по_ADP_сходням_NOUN", - "по_ADP_телек_NOUN", - "по_ADP_телик_NOUN", - "по_ADP_трап_NOUN", - "по_ADP_ухабам_NOUN", - "по_ADP_ушам_NOUN", - "по_ADP_уши_NOUN", - "по_ADP_цельсий_PROPN", - "по_ADP_чашкам_NOUN", - "по_ADP_чину_NOUN", - "по_ADP_шахматам_NOUN", - "по_ADP_швам_NOUN", - "по_ADP_шею_NOUN", - "по_ADP_шпалам_NOUN", - "по_ADP_щекам_NOUN", - "по_ADP_щиколотку_NOUN", - "по_ADP_щучий_ADJ", - "по_ADV_американски_ADV", - "по_ADV_английски_ADV", - "по_ADV_арабски_ADV", - "по_ADV_бабий_ADV", - "по_ADV_божески_ADV", - "по_ADV_братски_ADV", - "по_ADV_ваш_ADV", - "по_ADV_весенний_ADV", - "по_ADV_взрослый_ADV", - "по_ADV_видимому_ADV", - "по_ADV_видимый_ADJ", - "по_ADV_военный_ADV", - "по_ADV_волчий_ADV", - "по_ADV_всякому_ADV", - "по_ADV_голландски_ADV", - "по_ADV_городской_ADV", - "по_ADV_гречески_ADV", - "по_ADV_грузински_ADV", - "по_ADV_деловой_ADV", - "по_ADV_деревенски_ADV", - "по_ADV_детски_ADV", - "по_ADV_добрый_ADV", - "по_ADV_домашний_ADV", - "по_ADV_дорожный_ADV", - "по_ADV_другой_ADV", - "по_ADV_дружески_ADV", - "по_ADV_дурацки_ADV", - "по_ADV_европейски_ADV", - "по_ADV_женски_ADV", - "по_ADV_звериный_ADV", - "по_ADV_зимний_ADV", - "по_ADV_змеиный_ADV", - "по_ADV_индейски_ADV", - "по_ADV_иной_ADV", - "по_ADV_испански_ADV", - "по_ADV_итальянски_ADV", - "по_ADV_ихний_ADV", - "по_ADV_китайски_ADV", - "по_ADV_королевски_ADV", - "по_ADV_кошачий_ADV", - "по_ADV_крайний_ADJ", - "по_ADV_латынь_ADV", - "по_ADV_латынь_NOUN", - "по_ADV_латышски_ADV", - "по_ADV_летний_ADV", - "по_ADV_любой_ADV", - "по_ADV_людски_ADV", - "по_ADV_малый_ADJ", - "по_ADV_мальчишески_ADV", - "по_ADV_моему_PRON", - "по_ADV_мой_ADV", - "по_ADV_морской_ADV", - "по_ADV_мужски_ADV", - "по_ADV_настоящему_ADV", - "по_ADV_научный_ADV", - "по_ADV_наш_ADV", - "по_ADV_немецки_ADV", - "по_ADV_новому_ADV", - "по_ADV_о_ADV", - "по_ADV_осенний_ADV", - "по_ADV_особенный_ADV", - "по_ADV_особый_ADV", - "по_ADV_отечески_ADV", - "по_ADV_пионерски_ADV", - "по_ADV_пластунски_ADV", - "по_ADV_польски_ADV", - "по_ADV_португальски_ADV", - "по_ADV_походный_ADV", - "по_ADV_праздничный_ADV", - "по_ADV_прежний_ADV", - "по_ADV_приятельски_ADV", - "по_ADV_простой_ADV", - "по_ADV_птичий_ADV", - "по_ADV_пустой_ADV", - "по_ADV_разный_ADV", - "по_ADV_родственный_ADV", - "по_ADV_русски_ADV", - "по_ADV_рыцарски_ADV", - "по_ADV_санскритски_ADV", - "по_ADV_свой_ADV", - "по_ADV_свойски_ADV", - "по_ADV_серьёзный_ADV", - "по_ADV_собачий_ADV", - "по_ADV_собачьи_NOUN", - "по_ADV_солдатски_ADV", - "по_ADV_соседски_ADV", - "по_ADV_стариковски_ADV", - "по_ADV_старинный_ADV", - "по_ADV_старому_ADV", - "по_ADV_татарски_ADV", - "по_ADV_твой_ADV", - "по_ADV_тихий_ADV", - "по_ADV_товарищеский_ADV", - "по_ADV_турецки_ADV", - "по_ADV_украински_ADV", - "по_ADV_французски_ADV", - "по_ADV_хозяйски_ADV", - "по_ADV_хороший_ADV", - "по_ADV_христиански_ADV", - "по_ADV_царски_ADV", - "по_ADV_человечески_ADV", - "по_ADV_человечий_ADV", - "по_ADV_честному_ADV", - "по_ADV_чёрный_ADV", - "по_ADV_японски_ADV", - "побарабанить_VERB_палец_NOUN", - "победа_NOUN_над_ADP", - "победный_ADJ_конец_NOUN", - "победный_ADJ_крик_NOUN", - "победоносный_ADJ_вид_NOUN", - "побежать_VERB_вдоль_ADP", - "побежать_VERB_вниз_ADV", - "побежать_VERB_догонять_VERB", - "побежать_VERB_домой_ADV", - "побежать_VERB_мурашка_NOUN", - "побежать_VERB_наверх_ADV", - "побежать_VERB_навстречу_ADV", - "побежать_VERB_обратно_ADV", - "побежать_VERB_открывать_VERB", - "побежать_VERB_прочь_ADV", - "побежать_VERB_следом_ADV", - "побелевшими_VERB_губа_NOUN", - "побелеть_VERB_губа_NOUN", - "побеспокоить_VERB_вас_PRON", - "побить_VERB_собака_NOUN", - "побледнеть_VERB_губа_NOUN", - "побольше_NUM_воздух_NOUN", - "побольше_NUM_деньга_NOUN", - "побрести_VERB_вдоль_ADP", - "побрести_VERB_далёкий_ADV", - "побрести_VERB_домой_ADV", - "побрести_VERB_обратно_ADV", - "побрести_VERB_прочь_ADV", - "побродить_VERB_по_ADP", - "побудительный_ADJ_причина_NOUN", - "побыть_VERB_один_DET", - "повалить_VERB_густой_ADJ", - "повалить_VERB_дерево_NOUN", - "поваренный_ADJ_соль_NOUN", - "поведать_VERB_о_ADP", - "повезло_VERB_тебе_PRON", - "повелительно_ADV_крикнуть_VERB", - "повелительный_ADJ_голос_NOUN", - "повелительный_ADJ_жест_NOUN", - "повелительный_ADJ_тон_NOUN", - "поверите_VERB_ли_PART", - "повернулся_VERB_к_ADP", - "повернуть_VERB_влево_ADV", - "повернуть_VERB_вправо_ADV", - "повернуть_VERB_выключатель_NOUN", - "повернуть_VERB_голова_NOUN", - "повернуть_VERB_ключ_NOUN", - "повернуть_VERB_конь_NOUN", - "повернуть_VERB_назад_ADV", - "повернуть_VERB_налево_ADV", - "повернуть_VERB_направо_ADV", - "повернуть_VERB_обратно_ADV", - "повернуть_VERB_рукоятка_NOUN", - "повернуть_VERB_руль_NOUN", - "повернуть_VERB_ручка_NOUN", - "повернуть_VERB_рычаг_NOUN", - "повернуться_VERB_к_ADP", - "повернуться_VERB_спина_NOUN", - "повертеть_VERB_голова_NOUN", - "повертеть_VERB_палец_NOUN", - "поверх_ADP_очко_NOUN", - "поверхностный_ADJ_слой_NOUN", - "поверхность_NOUN_венера_PROPN", - "поверхность_NOUN_вода_NOUN", - "поверхность_NOUN_земля_NOUN", - "поверхность_NOUN_земля_PROPN", - "поверхность_NOUN_луна_PROPN", - "поверхность_NOUN_марс_PROPN", - "поверхность_NOUN_море_NOUN", - "поверхность_NOUN_озеро_NOUN", - "поверхность_NOUN_океан_NOUN", - "поверхность_NOUN_планета_NOUN", - "поверхность_NOUN_пруд_NOUN", - "поверь_NOUN_мне_PRON", - "поверь_VERB_мне_PRON", - "повесить_VERB_трубка_NOUN", - "повествовать_VERB_о_ADP", - "повести_VERB_плечо_NOUN", - "повестка_NOUN_день_NOUN", - "повидаться_VERB_со_ADP", - "повинный_ADJ_человек_NOUN", - "повиноваться_VERB_приказ_NOUN", - "повиноваться_VERB_приказание_NOUN", - "повиснуть_VERB_над_ADP", - "повиснуть_VERB_пауза_NOUN", - "повиснуть_VERB_тишина_NOUN", - "повлечь_VERB_за_ADP", - "поводить_VERB_нос_NOUN", - "поводить_VERB_ухо_NOUN", - "повозка_NOUN_запрячь_VERB", - "поворачивать_VERB_голова_NOUN", - "поворачивать_VERB_назад_ADV", - "поворачивать_VERB_обратно_ADV", - "поворот_NOUN_дорога_NOUN", - "поворот_NOUN_событие_NOUN", - "поворот_NOUN_тропинка_NOUN", - "повседневный_ADJ_жизнь_NOUN", - "повскакать_VERB_со_ADP", - "повсюду_ADV_валяться_VERB", - "повсюду_ADV_виднеться_VERB", - "повтори_VERB_раз_NOUN", - "повтори_VERB_упражнение_NOUN", - "повысить_VERB_голос_NOUN", - "повышать_VERB_голос_NOUN", - "повышение_NOUN_температура_NOUN", - "повязать_VERB_платок_NOUN", - "погасить_VERB_лампа_NOUN", - "погасить_VERB_огонь_NOUN", - "погасить_VERB_свет_NOUN", - "погасить_VERB_свеча_NOUN", - "погасить_VERB_фонарь_NOUN", - "погаснуть_VERB_свет_NOUN", - "погибнуть_VERB_безвозвратно_ADV", - "погладить_VERB_борода_NOUN", - "погладить_VERB_её_PRON", - "поглаживать_VERB_борода_NOUN", - "погнать_VERB_конь_NOUN", - "погнать_VERB_лошадь_NOUN", - "погнаться_VERB_за_ADP", - "поговаривать_VERB_о_ADP", - "поговорим_VERB_о_ADP", - "поговорить_VERB_наедине_ADV", - "погода_NOUN_испортиться_VERB", - "погоди_VERB_ка_PROPN", - "погоди_VERB_погодить_VERB", - "погодить_VERB_минутка_NOUN", - "погодить_VERB_погодить_VERB", - "погожий_ADJ_день_NOUN", - "погонщик_NOUN_мул_NOUN", - "погонять_VERB_лошадь_NOUN", - "погрести_VERB_под_ADP", - "погрозить_VERB_ей_PRON", - "погрозить_VERB_ему_PRON", - "погрозить_VERB_кулак_NOUN", - "погрозить_VERB_палец_NOUN", - "под_ADP_аккомпанемент_NOUN", - "под_ADP_арест_NOUN", - "под_ADP_арка_NOUN", - "под_ADP_балдахин_NOUN", - "под_ADP_благовидный_ADJ", - "под_ADP_боком_NOUN", - "под_ADP_брезент_NOUN", - "под_ADP_брюхом_NOUN", - "под_ADP_валежник_NOUN", - "под_ADP_венец_NOUN", - "под_ADP_влияние_NOUN", - "под_ADP_водою_NOUN", - "под_ADP_воздействие_NOUN", - "под_ADP_вымышленный_ADJ", - "под_ADP_гипноз_NOUN", - "под_ADP_гнёт_NOUN", - "под_ADP_давление_NOUN", - "под_ADP_диктовка_NOUN", - "под_ADP_днище_NOUN", - "под_ADP_душ_NOUN", - "под_ADP_дых_NOUN", - "под_ADP_завязка_NOUN", - "под_ADP_заглавие_NOUN", - "под_ADP_защита_NOUN", - "под_ADP_землею_NOUN", - "под_ADP_зонт_NOUN", - "под_ADP_киль_NOUN", - "под_ADP_кодовый_ADJ", - "под_ADP_козырёк_NOUN", - "под_ADP_коленками_NOUN", - "под_ADP_командование_NOUN", - "под_ADP_конвой_NOUN", - "под_ADP_консервов_NOUN", - "под_ADP_контроль_NOUN", - "под_ADP_копыт_NOUN", - "под_ADP_кран_NOUN", - "под_ADP_кровать_NOUN", - "под_ADP_кровом_NOUN", - "под_ADP_крылышком_NOUN", - "под_ADP_крыльцом_NOUN", - "под_ADP_купол_NOUN", - "под_ADP_курск_PROPN", - "под_ADP_личина_NOUN", - "под_ADP_ложечка_NOUN", - "под_ADP_матрац_NOUN", - "под_ADP_микроскоп_NOUN", - "под_ADP_мышка_NOUN", - "под_ADP_мышками_NOUN", - "под_ADP_навес_NOUN", - "под_ADP_надзор_NOUN", - "под_ADP_название_NOUN", - "под_ADP_напор_NOUN", - "под_ADP_натиск_NOUN", - "под_ADP_нога_NOUN", - "под_ADP_нос_NOUN", - "под_ADP_обрывом_NOUN", - "под_ADP_обстрел_NOUN", - "под_ADP_одеяло_NOUN", - "под_ADP_окошком_NOUN", - "под_ADP_опека_NOUN", - "под_ADP_откос_NOUN", - "под_ADP_охрана_NOUN", - "под_ADP_пальмами_NOUN", - "под_ADP_перекрёстный_ADJ", - "под_ADP_подушка_NOUN", - "под_ADP_покров_NOUN", - "под_ADP_покровительство_NOUN", - "под_ADP_покрывалом_NOUN", - "под_ADP_пола_NOUN", - "под_ADP_полтава_PROPN", - "под_ADP_потолок_NOUN", - "под_ADP_предводительство_NOUN", - "под_ADP_предлог_NOUN", - "под_ADP_председательство_NOUN", - "под_ADP_прикрытие_NOUN", - "под_ADP_присмотр_NOUN", - "под_ADP_пристальный_ADJ", - "под_ADP_прицел_NOUN", - "под_ADP_проливный_ADJ", - "под_ADP_псевдоним_NOUN", - "под_ADP_развалинами_NOUN", - "под_ADP_расписка_NOUN", - "под_ADP_ребро_NOUN", - "под_ADP_ред_NOUN", - "под_ADP_руководство_NOUN", - "под_ADP_свод_NOUN", - "под_ADP_сень_NOUN", - "под_ADP_смоленск_PROPN", - "под_ADP_сталинград_PROPN", - "под_ADP_стража_NOUN", - "под_ADP_тахта_NOUN", - "под_ADP_тент_NOUN", - "под_ADP_тропиками_NOUN", - "под_ADP_тяжесть_NOUN", - "под_ADP_угроза_NOUN", - "под_ADP_уздцы_NOUN", - "под_ADP_уклон_NOUN", - "под_ADP_шумок_NOUN", - "под_ADP_яблоня_NOUN", - "подавать_VERB_вид_NOUN", - "подавать_VERB_знак_NOUN", - "подавать_VERB_команда_NOUN", - "подавать_VERB_надежда_NOUN", - "подавать_VERB_признак_NOUN", - "подавать_VERB_пример_NOUN", - "подавать_VERB_сигнал_NOUN", - "подавить_VERB_вздох_NOUN", - "подавить_VERB_крик_NOUN", - "подавить_VERB_состояние_NOUN", - "подавленно_ADV_молчать_VERB", - "подавлять_VERB_вздох_NOUN", - "подавляющее_ADJ_большинство_NOUN", - "подарок_NOUN_судьба_NOUN", - "подать_VERB_голос_NOUN", - "подать_VERB_жалоба_NOUN", - "подать_VERB_заявление_NOUN", - "подать_VERB_знак_NOUN", - "подать_VERB_команда_NOUN", - "подать_VERB_прошение_NOUN", - "подать_VERB_сигнал_NOUN", - "податься_VERB_вперёд_ADV", - "податься_VERB_назад_ADV", - "подбегать_VERB_к_ADP", - "подбежать_VERB_запыхаться_VERB", - "подбежать_VERB_к_ADP", - "подбирать_VERB_слово_NOUN", - "подбираться_VERB_к_ADP", - "подбрасывать_VERB_вверх_ADV", - "подбросить_VERB_вверх_ADV", - "подвальный_ADJ_окно_NOUN", - "подвальный_ADJ_помещение_NOUN", - "подвальный_ADJ_этаж_NOUN", - "подвенечный_ADJ_платье_NOUN", - "подвергать_VERB_опасность_NOUN", - "подвергать_VERB_себя_PRON", - "подвергаться_VERB_опасность_NOUN", - "подвергнуться_VERB_нападение_NOUN", - "подвернуть_VERB_нога_NOUN", - "подвернуться_VERB_под_ADP", - "подвести_VERB_итог_NOUN", - "подветренный_ADJ_сторона_NOUN", - "подвиг_NOUN_совершить_VERB", - "подвигаться_VERB_вперёд_ADV", - "подвигаться_VERB_медленно_ADV", - "подвинуться_VERB_близкий_ADV", - "подвинуться_VERB_вперёд_ADV", - "подводить_VERB_итог_NOUN", - "подводный_ADJ_док_NOUN", - "подводный_ADJ_жилище_NOUN", - "подводный_ADJ_камень_NOUN", - "подводный_ADJ_корабль_NOUN", - "подводный_ADJ_лодка_NOUN", - "подводный_ADJ_мир_NOUN", - "подводный_ADJ_плавание_NOUN", - "подводный_ADJ_путешествие_NOUN", - "подводный_ADJ_риф_NOUN", - "подводный_ADJ_скала_NOUN", - "подводный_ADJ_судно_NOUN", - "подводный_ADJ_труба_NOUN", - "подводный_ADJ_царство_NOUN", - "подводный_ADJ_часть_NOUN", - "подгонять_VERB_ветер_NOUN", - "подготовительный_ADJ_курс_NOUN", - "подготовительный_ADJ_работа_NOUN", - "подготовиться_VERB_к_ADP", - "подготовка_NOUN_к_ADP", - "подготовка_NOUN_текст_NOUN", - "поддаваться_VERB_никакой_DET", - "поддаваться_VERB_описание_NOUN", - "поддаться_VERB_искушение_NOUN", - "подделываться_VERB_под_ADP", - "поддержать_VERB_её_PRON", - "поддержать_VERB_разговор_NOUN", - "поддерживать_VERB_огонь_NOUN", - "поддерживать_VERB_связь_NOUN", - "поделить_VERB_между_ADP", - "поделиться_VERB_впечатление_NOUN", - "поделиться_VERB_новость_NOUN", - "поджать_VERB_губа_NOUN", - "поджать_VERB_нога_NOUN", - "поджать_VERB_под_ADP", - "поджать_VERB_хвост_NOUN", - "поджимать_VERB_губа_NOUN", - "подземный_ADJ_галерея_NOUN", - "подземный_ADJ_гул_NOUN", - "подземный_ADJ_зал_NOUN", - "подземный_ADJ_коридор_NOUN", - "подземный_ADJ_крепость_NOUN", - "подземный_ADJ_лабиринт_NOUN", - "подземный_ADJ_озеро_NOUN", - "подземный_ADJ_переход_NOUN", - "подземный_ADJ_пещера_NOUN", - "подземный_ADJ_помещение_NOUN", - "подземный_ADJ_река_NOUN", - "подземный_ADJ_рудокоп_NOUN", - "подземный_ADJ_страна_NOUN", - "подземный_ADJ_толчок_NOUN", - "подземный_ADJ_тюрьма_NOUN", - "подземный_ADJ_ход_NOUN", - "подземный_ADJ_царство_NOUN", - "подзорный_ADJ_труба_NOUN", - "поди_NOUN_ка_PROPN", - "поди_VERB_ж_PART", - "поди_VERB_ка_PART", - "поди_VERB_сюда_ADV", - "подкатить_VERB_к_ADP", - "подкатиться_VERB_к_ADP", - "подкатываться_VERB_к_ADP", - "подкашиваться_VERB_нога_NOUN", - "подключиться_VERB_к_ADP", - "подкоситься_VERB_нога_NOUN", - "подкрадываться_VERB_к_ADP", - "подкрасться_VERB_к_ADP", - "подкрасться_VERB_сзади_ADV", - "подкрепить_VERB_сила_NOUN", - "подкрутить_VERB_ус_NOUN", - "подле_NOUN_него_PRON", - "подле_NOUN_нее_PRON", - "подлежать_VERB_сомнение_NOUN", - "подлезть_VERB_под_ADP", - "подлетать_VERB_к_ADP", - "подлететь_VERB_к_ADP", - "подливать_VERB_масло_NOUN", - "подлить_VERB_масло_NOUN", - "подложить_VERB_под_ADP", - "подлокотник_NOUN_кресло_NOUN", - "подлый_ADJ_поступок_NOUN", - "подлый_ADJ_трус_NOUN", - "подмести_VERB_пол_NOUN", - "подметать_VERB_пол_NOUN", - "подмигнуть_VERB_ребятам_NOUN", - "подмять_VERB_под_ADP", - "поднести_VERB_к_ADP", - "поднимать_VERB_бровь_NOUN", - "поднимать_VERB_вверх_ADV", - "поднимать_VERB_голова_NOUN", - "поднимать_VERB_парус_NOUN", - "поднимать_VERB_шум_NOUN", - "подниматься_VERB_вверх_ADV", - "подниматься_VERB_выше_ADV", - "подниматься_VERB_кверху_ADV", - "подниматься_VERB_наверх_ADV", - "подниматься_VERB_пар_NOUN", - "подними_VERB_рука_NOUN", - "подножие_NOUN_гора_NOUN", - "подножие_NOUN_скала_NOUN", - "подножие_NOUN_холм_NOUN", - "поднырнуть_VERB_под_ADP", - "поднять_VERB_бокал_NOUN", - "поднять_VERB_бровь_NOUN", - "поднять_VERB_вверх_ADV", - "поднять_VERB_воротник_NOUN", - "поднять_VERB_восстание_NOUN", - "поднять_VERB_голова_NOUN", - "поднять_VERB_кверху_ADV", - "поднять_VERB_кверху_NOUN", - "поднять_VERB_крышка_NOUN", - "поднять_VERB_парус_NOUN", - "поднять_VERB_тревога_NOUN", - "поднять_VERB_указательный_ADJ", - "поднять_VERB_хобот_NOUN", - "поднять_VERB_якорь_NOUN", - "подняться_VERB_вверх_ADV", - "подняться_VERB_высоко_ADV", - "подняться_VERB_выше_ADV", - "подняться_VERB_дыбом_ADV", - "подняться_VERB_кверху_ADV", - "подняться_VERB_наверх_ADV", - "подняться_VERB_невообразимый_ADJ", - "подняться_VERB_суматоха_NOUN", - "поднёс_VERB_к_ADP", - "подобие_NOUN_улыбка_NOUN", - "подобно_ADP_другим_ADJ", - "подобно_ADP_тому_PRON", - "подобный_ADJ_вещь_NOUN", - "подобный_ADJ_зрелище_NOUN", - "подобный_ADJ_образ_NOUN", - "подобный_ADJ_обстоятельство_NOUN", - "подобный_ADJ_предположение_NOUN", - "подобный_ADJ_род_NOUN", - "подобный_ADJ_ситуация_NOUN", - "подобный_ADJ_случай_NOUN", - "подобный_ADJ_явление_NOUN", - "подобраться_VERB_близкий_ADV", - "подобраться_VERB_к_ADP", - "подобру_NOUN_поздорову_NOUN", - "подобру_NOUN_поздорову_PROPN", - "пододвинуть_VERB_к_ADP", - "пододвинуться_VERB_к_ADP", - "подождав_NOUN_пока_SCONJ", - "подождать_VERB_минутка_NOUN", - "подождать_VERB_немного_ADV", - "подождать_VERB_подождать_VERB", - "подождать_VERB_пока_SCONJ", - "подожди_PROPN_немного_ADV", - "подожди_PROPN_остановить_VERB", - "подожди_PROPN_подождать_VERB", - "подозрение_NOUN_относительно_ADP", - "подозрение_NOUN_пасть_VERB", - "подозрительно_ADV_взглянуть_VERB", - "подозрительно_ADV_коситься_VERB", - "подозрительно_ADV_оглядеть_VERB", - "подозрительно_ADV_поглядывать_VERB", - "подозрительно_ADV_покоситься_VERB", - "подозрительно_ADV_посмотреть_VERB", - "подозрительно_ADV_спросить_VERB", - "подозрительный_ADJ_взгляд_NOUN", - "подозрительный_ADJ_личность_NOUN", - "подозрительный_ADJ_тип_NOUN", - "подозрительный_ADJ_шорох_NOUN", - "подоить_VERB_корова_NOUN", - "подойти_VERB_близкий_ADV", - "подойти_VERB_вплотную_ADV", - "подойти_VERB_к_ADP", - "подол_NOUN_платье_NOUN", - "подол_NOUN_юбка_NOUN", - "подолгу_ADV_сидеть_VERB", - "подолгу_ADV_смотреть_VERB", - "подолгу_ADV_стоять_VERB", - "подоспеть_VERB_вовремя_ADV", - "подоспеть_VERB_помощь_NOUN", - "подошва_NOUN_гора_NOUN", - "подошва_NOUN_холм_NOUN", - "подошёл_NOUN_к_ADP", - "подпадать_VERB_под_ADP", - "подпасть_VERB_под_ADP", - "подперев_VERB_голова_NOUN", - "подперев_VERB_кулак_NOUN", - "подперев_VERB_рука_NOUN", - "подперев_VERB_щека_NOUN", - "подпереть_VERB_голова_NOUN", - "подпереть_VERB_щека_NOUN", - "подписать_VERB_бумага_NOUN", - "подписать_VERB_договор_NOUN", - "подписаться_VERB_под_ADP", - "подплывать_VERB_к_ADP", - "подплыть_VERB_близкий_ADV", - "подплыть_VERB_к_ADP", - "подползать_VERB_к_ADP", - "подползти_VERB_близкий_ADV", - "подползти_VERB_к_ADP", - "подпольный_ADJ_организация_NOUN", - "подпольный_ADJ_работа_NOUN", - "подражать_VERB_крик_NOUN", - "подразумевать_VERB_под_ADP", - "подрастать_VERB_поколение_NOUN", - "подробно_ADV_изложить_VERB", - "подробно_ADV_объяснить_VERB", - "подробно_ADV_объяснять_VERB", - "подробно_ADV_описать_VERB", - "подробно_ADV_описывать_VERB", - "подробно_ADV_рассказать_VERB", - "подробно_ADV_рассказывать_VERB", - "подробно_ADV_расспрашивать_VERB", - "подробно_ADV_расспросить_VERB", - "подробный_ADJ_описание_NOUN", - "подробный_ADJ_отчёт_NOUN", - "подробный_ADJ_письмо_NOUN", - "подробный_ADJ_план_NOUN", - "подробный_ADJ_рассказ_NOUN", - "подробный_ADJ_сведение_NOUN", - "подростковый_ADJ_возраст_NOUN", - "подрулить_VERB_к_ADP", - "подсаживаться_VERB_к_ADP", - "подсесть_VERB_близкий_ADV", - "подсесть_VERB_к_ADP", - "подсказать_VERB_алёшка_PROPN", - "подскакать_VERB_к_ADP", - "подскочить_VERB_к_ADP", - "подслеповатый_ADJ_глаз_NOUN", - "подслушать_VERB_разговор_NOUN", - "подслушивать_VERB_разговор_NOUN", - "подслушивать_VERB_устройство_NOUN", - "подсмеиваться_VERB_над_ADP", - "подсобный_ADJ_помещение_NOUN", - "подсолнечный_ADJ_масло_NOUN", - "подставить_VERB_ладонь_NOUN", - "подстрелить_VERB_птица_NOUN", - "подступ_NOUN_к_ADP", - "подступать_VERB_к_ADP", - "подступить_VERB_к_ADP", - "подсунуть_VERB_под_ADP", - "подсчитать_VERB_сколько_NUM", - "подталкивать_VERB_друг_PRON", - "подтрунивать_VERB_над_ADP", - "подумайте_VERB_сами_ADJ", - "подумайте_VERB_только_PART", - "подумать_VERB_ларик_PROPN", - "подумать_VERB_филя_PROPN", - "подумать_VERB_хорошенько_ADV", - "подумать_VERB_яр_PROPN", - "подумывать_VERB_о_ADP", - "подуть_VERB_ветер_NOUN", - "подуть_VERB_сильный_ADJ", - "подуть_VERB_холодный_ADJ", - "подхватить_VERB_женька_PROPN", - "подхватить_VERB_настя_PROPN", - "подхватить_VERB_чемодан_NOUN", - "подход_NOUN_к_ADP", - "подходить_VERB_близкий_ADV", - "подходить_VERB_близко_ADV", - "подходить_VERB_вплотную_ADV", - "подходить_VERB_к_ADP", - "подходящий_ADJ_место_NOUN", - "подходящий_ADJ_момент_NOUN", - "подчинить_VERB_себя_PRON", - "подчинять_VERB_себя_PRON", - "подшутить_VERB_над_ADP", - "подшучивать_VERB_над_ADP", - "подъезжать_VERB_к_ADP", - "подъехать_VERB_близкий_ADV", - "подъехать_VERB_к_ADP", - "подъехать_VERB_машина_NOUN", - "подъёмный_ADJ_кран_NOUN", - "подъёмный_ADJ_машина_NOUN", - "подъёмный_ADJ_мост_NOUN", - "подъёмный_ADJ_сила_NOUN", - "подыматься_VERB_вверх_ADV", - "подыскивать_VERB_слово_NOUN", - "подышать_VERB_воздух_NOUN", - "подышать_VERB_свежий_ADJ", - "подышать_VERB_чистый_ADJ", - "подёргать_VERB_дверь_NOUN", - "поезд_NOUN_мчаться_VERB", - "поезд_NOUN_отходить_VERB", - "поезд_NOUN_тронуться_VERB", - "поехать_VERB_верхом_ADV", - "поехать_VERB_домой_ADV", - "пожалеть_VERB_об_ADP", - "пожаловать_VERB_сюда_ADV", - "пожалуйте_VERB_сюда_ADV", - "пожарный_ADJ_каланча_NOUN", - "пожарный_ADJ_команда_NOUN", - "пожарный_ADJ_лестница_NOUN", - "пожарный_ADJ_машина_NOUN", - "пожатие_NOUN_рука_NOUN", - "пожать_VERB_друг_PRON", - "пожать_VERB_плечо_NOUN", - "пожать_VERB_протянутую_ADJ", - "пожевать_VERB_губа_NOUN", - "пожелать_VERB_спокойный_ADJ", - "пожелтеть_VERB_лист_NOUN", - "пожертвовать_VERB_всем_PRON", - "пожертвовать_VERB_жизнь_NOUN", - "поживем_PROPN_увидеть_VERB", - "пожизненный_ADJ_заключение_NOUN", - "пожилой_ADJ_господин_NOUN", - "пожилой_ADJ_дама_NOUN", - "пожилой_ADJ_джентльмен_NOUN", - "пожилой_ADJ_женщина_NOUN", - "пожилой_ADJ_мужчина_NOUN", - "пожилой_ADJ_рабочий_NOUN", - "пожилой_ADJ_человек_NOUN", - "пожимать_VERB_друг_PRON", - "пожимать_VERB_плечо_NOUN", - "пожимать_VERB_рука_NOUN", - "пожирать_VERB_друг_PRON", - "позаботиться_VERB_о_ADP", - "позаботиться_VERB_об_ADP", - "позаботиться_VERB_обо_ADP", - "позаботься_VERB_о_ADP", - "позаботьтесь_VERB_о_ADP", - "позабыть_VERB_о_ADP", - "позабыть_VERB_обо_ADP", - "позабыть_VERB_про_ADP", - "позавидовать_VERB_любой_DET", - "позади_ADP_всех_PRON", - "позади_ADP_него_PRON", - "позади_ADP_них_PRON", - "позаимствовать_VERB_у_ADP", - "позапрошлый_ADJ_век_NOUN", - "позапрошлый_ADJ_год_NOUN", - "позарез_VERB_нужный_ADJ", - "позволите_VERB_ли_PART", - "позволить_VERB_позволить_VERB", - "позволить_VERB_представиться_VERB", - "позволь_NOUN_мне_PRON", - "позволь_PROPN_мне_PRON", - "позволь_VERB_мне_PRON", - "позвоночный_ADJ_животное_NOUN", - "поздний_ADJ_вечер_NOUN", - "поздний_ADJ_ночь_NOUN", - "поздний_ADJ_осень_NOUN", - "поздний_ADJ_час_NOUN", - "поздно_ADV_вечер_NOUN", - "поздравлять_VERB_вас_PRON", - "поздравлять_VERB_друг_PRON", - "поздравлять_VERB_тебя_PRON", - "позеленеть_VERB_от_ADP", - "познакомить_VERB_вас_PRON", - "познакомиться_VERB_близкий_ADV", - "позорный_ADJ_смерть_NOUN", - "позорный_ADJ_столб_NOUN", - "поиздеваться_VERB_над_ADP", - "поинтересоваться_VERB_даша_PROPN", - "поинтересоваться_VERB_олег_PROPN", - "поиск_NOUN_добыча_NOUN", - "поиск_NOUN_клад_NOUN", - "поиск_NOUN_пища_NOUN", - "поиск_NOUN_пропасть_VERB", - "поискал_VERB_глаз_NOUN", - "поисковый_ADJ_группа_NOUN", - "поисковый_ADJ_партия_NOUN", - "поить_VERB_кормить_VERB", - "пойдешь_VERB_со_ADP", - "пойти_VERB_медленный_ADV", - "пойти_VERB_напрямик_ADV", - "пойти_VERB_насмарку_NOUN", - "пойти_VERB_пешком_ADV", - "пойти_VERB_погулять_VERB", - "пойти_VERB_прогуляться_VERB", - "пойти_VERB_прочь_ADV", - "показалось_VERB_что_SCONJ", - "показание_NOUN_прибор_NOUN", - "показать_VERB_ка_VERB", - "показаться_VERB_знакомым_NOUN", - "показаться_VERB_подозрительный_ADJ", - "показывать_VERB_фокус_NOUN", - "покатить_VERB_далёкий_ADV", - "покатиться_VERB_вниз_ADV", - "покатиться_VERB_по_ADP", - "покатиться_VERB_со_ADP", - "покатываться_VERB_со_ADP", - "покачать_VERB_голова_NOUN", - "покачивать_VERB_голова_NOUN", - "покивать_VERB_голова_NOUN", - "покидать_VERB_ощущение_NOUN", - "покинуть_VERB_лагерь_NOUN", - "покинуть_VERB_париж_PROPN", - "покинуть_VERB_родина_NOUN", - "покладая_VERB_рука_NOUN", - "поклянись_VERB_мне_PRON", - "поклясться_VERB_отомстить_VERB", - "покойный_ADJ_жена_NOUN", - "покойный_ADJ_король_NOUN", - "покойный_ADJ_кресло_NOUN", - "покойный_ADJ_мать_NOUN", - "покойный_ADJ_муж_NOUN", - "покойный_ADJ_ночь_NOUN", - "покойный_ADJ_отец_NOUN", - "покорить_VERB_сердце_NOUN", - "покориться_VERB_судьба_NOUN", - "покорнейше_NOUN_просить_VERB", - "покорно_ADV_благодарить_VERB", - "покорно_ADV_кивнуть_VERB", - "покорно_ADV_склонить_VERB", - "покорно_ADV_согласиться_VERB", - "покорность_NOUN_судьба_NOUN", - "покорный_ADJ_слуга_NOUN", - "покривить_VERB_душа_NOUN", - "покровительственный_ADJ_тон_NOUN", - "покрутить_VERB_голова_NOUN", - "покрутить_VERB_палец_NOUN", - "покрывать_VERB_поцелуй_NOUN", - "покрыть_VERB_вечный_ADJ", - "покрыть_VERB_грязь_NOUN", - "покрыть_VERB_густой_ADJ", - "покрыть_VERB_иней_NOUN", - "покрыть_VERB_ковёр_NOUN", - "покрыть_VERB_лак_NOUN", - "покрыть_VERB_лёд_NOUN", - "покрыть_VERB_мелкий_ADJ", - "покрыть_VERB_мох_NOUN", - "покрыть_VERB_мрак_NOUN", - "покрыть_VERB_пена_NOUN", - "покрыть_VERB_пыль_NOUN", - "покрыть_VERB_роскошный_ADJ", - "покрыть_VERB_слой_NOUN", - "покрыть_VERB_снег_NOUN", - "покрыть_VERB_толстый_ADJ", - "покрыть_VERB_тонкий_ADJ", - "покрыть_VERB_шерсть_NOUN", - "покрыться_VERB_густой_ADJ", - "покрыться_VERB_красный_ADJ", - "покрыться_VERB_холодный_ADJ", - "покупать_VERB_билет_NOUN", - "покуривать_VERB_трубка_NOUN", - "покусывать_VERB_губа_NOUN", - "пол_NOUN_валяться_VERB", - "пол_NOUN_мыть_VERB", - "пол_NUM_лица_NOUN", - "полагать_VERB_что_SCONJ", - "полгода_NOUN_назад_ADV", - "полгода_NOUN_тому_ADV", - "поле_NOUN_битва_NOUN", - "поле_NOUN_бой_NOUN", - "поле_NOUN_брань_NOUN", - "поле_NOUN_деятельность_NOUN", - "поле_NOUN_засеять_VERB", - "поле_NOUN_зрение_NOUN", - "поле_NOUN_сражение_NOUN", - "поле_NOUN_тяготение_NOUN", - "полевой_ADJ_бинокль_NOUN", - "полевой_ADJ_мышь_NOUN", - "полевой_ADJ_орудие_NOUN", - "полевой_ADJ_почта_NOUN", - "полевой_ADJ_работа_NOUN", - "полевой_ADJ_стан_NOUN", - "полевой_ADJ_сумка_NOUN", - "полевой_ADJ_телефон_NOUN", - "полевой_ADJ_цвет_NOUN", - "полевой_ADJ_цветок_NOUN", - "полевой_ADJ_шпат_NOUN", - "полежать_VERB_немного_ADV", - "полезный_ADJ_вещь_NOUN", - "полезный_ADJ_ископаемое_NOUN", - "полезный_ADJ_ископаемый_ADJ", - "полезный_ADJ_сведение_NOUN", - "полезный_ADJ_совет_NOUN", - "полезть_VERB_вверх_ADV", - "полезть_VERB_наверх_ADV", - "поленница_NOUN_дров_NOUN", - "полететь_VERB_вверх_ADV", - "полететь_VERB_вниз_ADV", - "полететь_VERB_кувырок_NOUN", - "полететь_VERB_прочь_ADV", - "ползать_VERB_по_ADP", - "ползти_VERB_вверх_ADV", - "ползучий_ADJ_растение_NOUN", - "поливать_VERB_цветок_NOUN", - "полина_PROPN_аркадиевич_PROPN", - "полина_PROPN_василиевич_PROPN", - "политехнический_ADJ_институт_NOUN", - "политический_ADJ_деятель_NOUN", - "политический_ADJ_событие_NOUN", - "политический_ADJ_убеждение_NOUN", - "полить_VERB_дождь_NOUN", - "полицейский_ADJ_агент_NOUN", - "полицейский_ADJ_врач_NOUN", - "полицейский_ADJ_инспектор_NOUN", - "полицейский_ADJ_комиссар_NOUN", - "полицейский_ADJ_офицер_NOUN", - "полицейский_ADJ_пост_NOUN", - "полицейский_ADJ_управление_NOUN", - "полицейский_ADJ_участок_NOUN", - "полицейский_ADJ_чин_NOUN", - "полицейский_ADJ_чиновник_NOUN", - "полиэтиленовый_ADJ_пакет_NOUN", - "полковник_NOUN_егоров_PROPN", - "полковник_NOUN_милиция_NOUN", - "полковник_NOUN_мунро_PROPN", - "полковник_NOUN_оболенский_PROPN", - "полковник_NOUN_росс_PROPN", - "полковник_NOUN_шито_PROPN", - "полковой_ADJ_командир_NOUN", - "полковой_ADJ_лошадь_NOUN", - "полно_ADV_народ_NOUN", - "полно_ADV_полно_ADV", - "полно_PROPN_полно_ADV", - "полновластный_ADJ_хозяин_NOUN", - "полноводный_ADJ_река_NOUN", - "полноправный_ADJ_член_NOUN", - "полностью_ADV_доверять_VERB", - "полностью_ADV_поглотить_VERB", - "полностью_ADV_согласный_ADJ", - "полный_ADJ_безмолвие_NOUN", - "полный_ADJ_безопасность_NOUN", - "полный_ADJ_безразличие_NOUN", - "полный_ADJ_беспомощность_NOUN", - "полный_ADJ_беспорядок_NOUN", - "полный_ADJ_бессилие_NOUN", - "полный_ADJ_бред_NOUN", - "полный_ADJ_вооружение_NOUN", - "полный_ADJ_восторг_NOUN", - "полный_ADJ_выздоровление_NOUN", - "полный_ADJ_горсть_NOUN", - "полный_ADJ_готовность_NOUN", - "полный_ADJ_громкость_NOUN", - "полный_ADJ_грудь_NOUN", - "полный_ADJ_доверие_NOUN", - "полный_ADJ_довольство_NOUN", - "полный_ADJ_идиот_NOUN", - "полный_ADJ_изнеможение_NOUN", - "полный_ADJ_иллюзия_NOUN", - "полный_ADJ_исправность_NOUN", - "полный_ADJ_катушка_NOUN", - "полный_ADJ_комплект_NOUN", - "полный_ADJ_лишение_NOUN", - "полный_ADJ_луна_NOUN", - "полный_ADJ_мера_NOUN", - "полный_ADJ_молчание_NOUN", - "полный_ADJ_мощность_NOUN", - "полный_ADJ_мрак_NOUN", - "полный_ADJ_набор_NOUN", - "полный_ADJ_неведение_NOUN", - "полный_ADJ_невозможность_NOUN", - "полный_ADJ_недоумение_NOUN", - "полный_ADJ_ненависть_NOUN", - "полный_ADJ_неожиданность_NOUN", - "полный_ADJ_неподвижность_NOUN", - "полный_ADJ_оборот_NOUN", - "полный_ADJ_одиночество_NOUN", - "полный_ADJ_откровенность_NOUN", - "полный_ADJ_отсутствие_NOUN", - "полный_ADJ_отчаяние_NOUN", - "полный_ADJ_парад_NOUN", - "полный_ADJ_полно_ADV", - "полный_ADJ_порядок_NOUN", - "полный_ADJ_презрение_NOUN", - "полный_ADJ_провал_NOUN", - "полный_ADJ_программа_NOUN", - "полный_ADJ_противоположность_NOUN", - "полный_ADJ_равнодушие_NOUN", - "полный_ADJ_разгар_NOUN", - "полный_ADJ_разгром_NOUN", - "полный_ADJ_разорение_NOUN", - "полный_ADJ_растерянность_NOUN", - "полный_ADJ_расцвет_NOUN", - "полный_ADJ_решимость_NOUN", - "полный_ADJ_рост_NOUN", - "полный_ADJ_свобода_NOUN", - "полный_ADJ_серьёз_NOUN", - "полный_ADJ_скорбь_NOUN", - "полный_ADJ_скорость_NOUN", - "полный_ADJ_смятение_NOUN", - "полный_ADJ_согласие_NOUN", - "полный_ADJ_состав_NOUN", - "полный_ADJ_сохранность_NOUN", - "полный_ADJ_спокойствие_NOUN", - "полный_ADJ_темнота_NOUN", - "полный_ADJ_тишина_NOUN", - "полный_ADJ_тьма_NOUN", - "полный_ADJ_уверенность_NOUN", - "полный_ADJ_удовлетворение_NOUN", - "полный_ADJ_уединение_NOUN", - "полный_ADJ_ход_NOUN", - "полный_ADJ_чаша_NOUN", - "полный_ADJ_штиль_NOUN", - "полный_ADJ_ясность_NOUN", - "половина_NOUN_восьмой_ADJ", - "половина_NOUN_двенадцатый_ADJ", - "половина_NOUN_девятый_ADJ", - "половина_NOUN_десятый_ADJ", - "половина_NOUN_метр_NOUN", - "половина_NOUN_одиннадцатый_ADJ", - "половина_NOUN_пятый_ADJ", - "половина_NOUN_седьмой_ADJ", - "половина_NOUN_тысяча_NOUN", - "половина_NOUN_человечество_NOUN", - "половина_NOUN_четвёртый_ADJ", - "половина_NOUN_шестой_ADJ", - "половой_ADJ_акт_NOUN", - "половой_ADJ_контакт_NOUN", - "половой_ADJ_орган_NOUN", - "половой_ADJ_созревание_NOUN", - "половой_ADJ_тряпка_NOUN", - "пологий_ADJ_берег_NOUN", - "пологий_ADJ_склон_NOUN", - "пологий_ADJ_холм_NOUN", - "положа_VERB_рука_NOUN", - "положение_NOUN_вещь_NOUN", - "положенный_ADJ_срок_NOUN", - "положительно_ADV_невозможный_ADJ", - "положительный_ADJ_качество_NOUN", - "положительный_ADJ_ответ_NOUN", - "положительный_ADJ_результат_NOUN", - "положительный_ADJ_эмоция_NOUN", - "положить_VERB_трубка_NOUN", - "полоса_NOUN_свет_NOUN", - "полосатый_ADJ_тельняшка_NOUN", - "полоска_NOUN_бумага_NOUN", - "полоска_NOUN_свет_NOUN", - "полоскать_VERB_бельё_NOUN", - "полотно_NOUN_железный_ADJ", - "полпути_NOUN_между_ADP", - "полтора_NUM_год_NOUN", - "полтора_NUM_десяток_NOUN", - "полтора_NUM_километр_NOUN", - "полтора_NUM_месяц_NOUN", - "полтора_NUM_метр_NOUN", - "полтора_NUM_миллион_NOUN", - "полтора_NUM_миля_NOUN", - "полтора_NUM_сотня_NOUN", - "полтора_NUM_тысяча_NOUN", - "полтора_NUM_час_NOUN", - "полуденный_ADJ_зной_NOUN", - "полуденный_ADJ_солнце_NOUN", - "полузакрыв_VERB_глаз_NOUN", - "полузакрытыми_ADJ_глаз_NOUN", - "полукилометре_NOUN_от_ADP", - "полукруглый_ADJ_окно_NOUN", - "полуметре_NOUN_от_ADP", - "полумиля_NOUN_от_ADP", - "полуоткрытую_VERB_дверь_NOUN", - "полуоткрытый_ADJ_дверь_NOUN", - "полуоткрытым_VERB_рот_NOUN", - "полутёмный_ADJ_зал_NOUN", - "полутёмный_ADJ_комната_NOUN", - "полутёмный_ADJ_коридор_NOUN", - "получать_VERB_двойка_NOUN", - "получать_VERB_жалование_NOUN", - "получать_VERB_письмо_NOUN", - "получать_VERB_пятёрка_NOUN", - "получать_VERB_удовольствие_NOUN", - "получить_VERB_возможность_NOUN", - "получить_VERB_выговор_NOUN", - "получить_VERB_двойка_NOUN", - "получить_VERB_депеша_NOUN", - "получить_VERB_диплом_NOUN", - "получить_VERB_доступ_NOUN", - "получить_VERB_задание_NOUN", - "получить_VERB_звание_NOUN", - "получить_VERB_известие_NOUN", - "получить_VERB_инструкция_NOUN", - "получить_VERB_информация_NOUN", - "получить_VERB_награда_NOUN", - "получить_VERB_название_NOUN", - "получить_VERB_назначение_NOUN", - "получить_VERB_наследство_NOUN", - "получить_VERB_образование_NOUN", - "получить_VERB_ответ_NOUN", - "получить_VERB_отказ_NOUN", - "получить_VERB_отпуск_NOUN", - "получить_VERB_письмо_NOUN", - "получить_VERB_позволение_NOUN", - "получить_VERB_премия_NOUN", - "получить_VERB_приглашение_NOUN", - "получить_VERB_приказ_NOUN", - "получить_VERB_приказание_NOUN", - "получить_VERB_пятёрка_NOUN", - "получить_VERB_разрешение_NOUN", - "получить_VERB_сведение_NOUN", - "получить_VERB_согласие_NOUN", - "получить_VERB_телеграмма_NOUN", - "получить_VERB_утвердительный_ADJ", - "полчаса_NOUN_назад_ADV", - "полчаса_NOUN_спустя_ADP", - "полчаса_NOUN_тому_ADV", - "полый_ADJ_вода_NOUN", - "поль_PROPN_дарнала_PROPN", - "поль_PROPN_де_PART", - "поль_PROPN_леруа_PROPN", - "поль_PROPN_луи_PROPN", - "польза_NOUN_приносить_VERB", - "пользоваться_VERB_всеобщий_ADJ", - "пользоваться_VERB_дурной_ADJ", - "пользоваться_VERB_ею_PRON", - "пользоваться_VERB_ими_PRON", - "пользоваться_VERB_отсутствие_NOUN", - "пользоваться_VERB_репутация_NOUN", - "пользоваться_VERB_тем_PRON", - "пользоваться_VERB_уважение_NOUN", - "пользоваться_VERB_услуга_NOUN", - "польский_ADJ_король_NOUN", - "полюбить_VERB_друг_PRON", - "полярный_ADJ_звезда_NOUN", - "полярный_ADJ_исследователь_NOUN", - "полярный_ADJ_круг_NOUN", - "полярный_ADJ_лёд_NOUN", - "полярный_ADJ_море_NOUN", - "полярный_ADJ_ночь_NOUN", - "полярный_ADJ_область_NOUN", - "полярный_ADJ_сияние_NOUN", - "полярный_ADJ_станция_NOUN", - "полярный_ADJ_страна_NOUN", - "полярный_ADJ_экспедиция_NOUN", - "полёт_NOUN_стрела_NOUN", - "поманить_VERB_палец_NOUN", - "поматывать_VERB_голова_NOUN", - "помахать_VERB_ею_PRON", - "помахать_VERB_им_PRON", - "помахать_VERB_рука_NOUN", - "помахать_VERB_хвост_NOUN", - "помахивать_VERB_хвост_NOUN", - "помедлить_VERB_немного_ADV", - "поменяться_VERB_место_NOUN", - "поменяться_VERB_роль_NOUN", - "помериться_VERB_сила_NOUN", - "померяться_VERB_сила_NOUN", - "помещичий_ADJ_дом_NOUN", - "помидор_PROPN_иванович_PROPN", - "помилуй_PROPN_бог_PROPN", - "помилуй_VERB_нас_PRON", - "помимо_ADP_воля_NOUN", - "помимо_ADP_того_PRON", - "поминать_VERB_лихом_NOUN", - "помине_NOUN_нет_VERB", - "поминутно_ADV_оглядываться_VERB", - "поминутно_ADV_останавливаться_VERB", - "помни_VERB_что_SCONJ", - "помнить_VERB_наизусть_ADV", - "помнишь_VERB_ли_PART", - "помогать_VERB_друг_PRON", - "помоги_NOUN_мне_PRON", - "помоги_NOUN_нам_PRON", - "помойный_ADJ_ведро_NOUN", - "помойный_ADJ_яма_NOUN", - "помолиться_VERB_бог_PROPN", - "помолчав_VERB_спросить_VERB", - "помолчать_VERB_добавить_VERB", - "помолчать_VERB_немного_ADV", - "помотать_VERB_голова_NOUN", - "помощник_NOUN_капитан_NOUN", - "помощник_NOUN_комендант_NOUN", - "помощник_NOUN_машинист_NOUN", - "помощник_NOUN_начальник_NOUN", - "помощник_NOUN_палач_NOUN", - "помощник_NOUN_режиссёр_NOUN", - "помощь_NOUN_специальный_ADJ", - "помчаться_VERB_вдоль_ADP", - "помчаться_VERB_вниз_ADV", - "помчаться_VERB_вперёд_ADV", - "помчаться_VERB_вслед_ADV", - "помчаться_VERB_галоп_NOUN", - "помчаться_VERB_домой_ADV", - "помчаться_VERB_навстречу_ADV", - "помчаться_VERB_обратно_ADV", - "помчаться_VERB_прочь_ADV", - "помыть_VERB_посуда_NOUN", - "помышлять_VERB_о_ADP", - "помянуть_VERB_мой_DET", - "понаблюдать_VERB_за_ADP", - "поневоле_ADV_должный_ADJ", - "поневоле_ADV_прийтись_VERB", - "поневоле_ADV_приходиться_VERB", - "понедельник_NOUN_утро_NOUN", - "понести_VERB_наказание_NOUN", - "понестись_VERB_вниз_ADV", - "понестись_VERB_вперёд_ADV", - "понестись_VERB_прочь_ADV", - "понижать_VERB_голос_NOUN", - "понижение_NOUN_температура_NOUN", - "понизить_VERB_голос_NOUN", - "поникнуть_VERB_голова_NOUN", - "понимание_NOUN_того_PRON", - "понимающе_ADV_кивнуть_VERB", - "понимающе_ADV_улыбнуться_VERB", - "понимающе_PROPN_кивнуть_VERB", - "понтонный_ADJ_мост_NOUN", - "понурить_VERB_голова_NOUN", - "понюхать_VERB_воздух_NOUN", - "понятие_NOUN_о_ADP", - "понять_VERB_намёк_NOUN", - "пообещать_VERB_алёшка_PROPN", - "попадаться_VERB_навстречу_ADV", - "попасть_VERB_впросак_ADV", - "попасться_VERB_навстречу_ADV", - "поперёк_ADP_горло_NOUN", - "поперёк_ADP_дорога_NOUN", - "поперёк_ADP_туловище_NOUN", - "попирать_VERB_нога_NOUN", - "попить_VERB_чай_NOUN", - "попить_VERB_чайка_NOUN", - "поплатиться_VERB_жизнь_NOUN", - "поплатиться_VERB_за_ADP", - "поплестись_VERB_домой_ADV", - "поплыть_VERB_вверх_ADV", - "поплыть_VERB_вдоль_ADP", - "поплыть_VERB_вниз_ADV", - "поплыть_VERB_обратно_ADV", - "поползти_VERB_вверх_ADV", - "поползти_VERB_вниз_ADV", - "поползти_VERB_вперёд_ADV", - "пополнить_VERB_запас_NOUN", - "поправить_VERB_волос_NOUN", - "поправить_VERB_очки_NOUN", - "поправить_VERB_подушка_NOUN", - "поправить_VERB_причёска_NOUN", - "поправлять_VERB_волос_NOUN", - "поправлять_VERB_очки_NOUN", - "попробовать_VERB_ка_NOUN", - "попробовать_VERB_ка_PART", - "попросить_VERB_позволение_NOUN", - "попросить_VERB_прощение_NOUN", - "попросить_VERB_разрешение_NOUN", - "попросту_PART_говорить_VERB", - "попрошу_VERB_вас_PRON", - "попугаев_PROPN_вовка_PROPN", - "попутный_ADJ_ветер_NOUN", - "попутный_ADJ_машина_NOUN", - "попытать_VERB_счастие_NOUN", - "попытаться_VERB_возразить_VERB", - "попытаться_VERB_вырваться_VERB", - "попытаться_VERB_выяснить_VERB", - "попытаться_VERB_объяснить_VERB", - "попытаться_VERB_остановить_VERB", - "попытаться_VERB_пошутить_VERB", - "попытаться_VERB_представить_VERB", - "попытаться_VERB_проникнуть_VERB", - "попытаться_VERB_успокоить_VERB", - "попытаться_VERB_утешить_VERB", - "попытка_NOUN_проникнуть_VERB", - "попыхивать_VERB_трубка_NOUN", - "попятиться_VERB_назад_ADV", - "пор_PROPN_дье_PROPN", - "пора_NOUN_кончать_VERB", - "поработать_VERB_над_ADP", - "поравняться_VERB_с_ADP", - "поравняться_VERB_со_ADP", - "поразительно_ADV_похожий_ADJ", - "поразительный_ADJ_быстрота_NOUN", - "поразительный_ADJ_красота_NOUN", - "поразительный_ADJ_сходство_NOUN", - "поразить_VERB_гром_NOUN", - "поразить_VERB_молния_NOUN", - "поразить_VERB_неожиданный_ADJ", - "поразить_VERB_ужас_NOUN", - "порасти_VERB_густой_ADJ", - "порасти_VERB_мох_NOUN", - "порасти_VERB_трава_NOUN", - "порезать_VERB_палец_NOUN", - "порог_NOUN_возникнуть_VERB", - "порог_NOUN_показаться_VERB", - "порог_NOUN_появиться_VERB", - "порог_NOUN_стоять_VERB", - "порой_ADV_бывать_VERB", - "пороховой_ADJ_дым_NOUN", - "пороховой_ADJ_погреб_NOUN", - "порт_NOUN_тоннель_NOUN", - "порт_PROPN_артур_PROPN", - "портмен_PROPN_сквер_PROPN", - "портняжный_ADJ_переулок_NOUN", - "порто_PROPN_феррайо_PROPN", - "портовый_ADJ_город_NOUN", - "портрет_NOUN_висеть_VERB", - "портрет_NOUN_ленин_PROPN", - "поручать_VERB_вам_PRON", - "поручение_NOUN_которое_PRON", - "поручить_VERB_передать_VERB", - "порхать_VERB_над_ADP", - "порция_NOUN_мороженое_NOUN", - "порыв_NOUN_ветер_NOUN", - "порыв_NOUN_гнев_NOUN", - "порыв_NOUN_отчаяние_NOUN", - "порывисто_ADV_вскочить_VERB", - "порывисто_ADV_встать_VERB", - "порывисто_ADV_обнять_VERB", - "порывистый_ADJ_ветер_NOUN", - "порывистый_ADJ_движение_NOUN", - "порядок_NOUN_навести_VERB", - "порядок_NOUN_наводить_VERB", - "порядок_NOUN_надоесть_VERB", - "порядочно_ADV_таки_PART", - "порядочный_ADJ_количество_NOUN", - "порядочный_ADJ_кусок_NOUN", - "порядочный_ADJ_расстояние_NOUN", - "порядочный_ADJ_сумма_NOUN", - "порядочный_ADJ_человек_NOUN", - "посадочный_ADJ_площадка_NOUN", - "посветить_VERB_фонарик_NOUN", - "посередине_ADV_комната_NOUN", - "посереть_VERB_от_ADP", - "посидеть_VERB_немного_ADV", - "посиди_VERB_здесь_ADV", - "посинеть_VERB_губа_NOUN", - "посинеть_VERB_от_ADP", - "поскакать_VERB_вперёд_ADV", - "поскакать_VERB_галоп_NOUN", - "поскакать_VERB_далёкий_ADV", - "поскользнуться_VERB_упасть_VERB", - "послать_VERB_гонец_NOUN", - "послать_VERB_телеграмма_NOUN", - "после_ADP_бессонный_ADJ", - "после_ADP_взятие_NOUN", - "после_ADP_возвращение_NOUN", - "после_ADP_война_NOUN", - "после_ADP_вчерашний_ADJ", - "после_ADP_гибель_NOUN", - "после_ADP_длительный_ADJ", - "после_ADP_дневный_ADJ", - "после_ADP_долгий_ADJ", - "после_ADP_завтрак_NOUN", - "после_ADP_закат_NOUN", - "после_ADP_занятие_NOUN", - "после_ADP_заход_NOUN", - "после_ADP_каникул_NOUN", - "после_ADP_кончина_NOUN", - "после_ADP_краткий_ADJ", - "после_ADP_купание_NOUN", - "после_ADP_минутный_ADJ", - "после_ADP_мытьё_NOUN", - "после_ADP_недавний_ADJ", - "после_ADP_недолгий_ADJ", - "после_ADP_непродолжительный_ADJ", - "после_ADP_неудачный_ADJ", - "после_ADP_обед_NOUN", - "после_ADP_обедня_NOUN", - "после_ADP_окончание_NOUN", - "после_ADP_осмотр_NOUN", - "после_ADP_отбой_NOUN", - "после_ADP_отъезд_NOUN", - "после_ADP_падение_NOUN", - "после_ADP_пауза_NOUN", - "после_ADP_полдень_NOUN", - "после_ADP_полуночь_NOUN", - "после_ADP_получение_NOUN", - "после_ADP_посещение_NOUN", - "после_ADP_похорон_NOUN", - "после_ADP_приезд_NOUN", - "после_ADP_пробуждение_NOUN", - "после_ADP_продолжительный_ADJ", - "после_ADP_разгром_NOUN", - "после_ADP_ранение_NOUN", - "после_ADP_революция_NOUN", - "после_ADP_свадьба_NOUN", - "после_ADP_секундный_ADJ", - "после_ADP_смерть_NOUN", - "после_ADP_спектакль_NOUN", - "после_ADP_стольких_ADJ", - "после_ADP_сытный_ADJ", - "после_ADP_того_PRON", - "после_ADP_тренировка_NOUN", - "после_ADP_тщательный_ADJ", - "после_ADP_ужин_NOUN", - "после_ADP_урок_NOUN", - "после_ADP_утомительный_ADJ", - "после_ADP_уход_NOUN", - "послевоенный_ADJ_год_NOUN", - "последить_VERB_за_ADP", - "последний_ADJ_акт_NOUN", - "последний_ADJ_аргумент_NOUN", - "последний_ADJ_вздох_NOUN", - "последний_ADJ_десятилетие_NOUN", - "последний_ADJ_известие_NOUN", - "последний_ADJ_издыхание_NOUN", - "последний_ADJ_капля_NOUN", - "последний_ADJ_крайность_NOUN", - "последний_ADJ_мода_NOUN", - "последний_ADJ_момент_NOUN", - "последний_ADJ_надежда_NOUN", - "последний_ADJ_наставление_NOUN", - "последний_ADJ_новость_NOUN", - "последний_ADJ_парта_NOUN", - "последний_ADJ_проблеск_NOUN", - "последний_ADJ_прощальный_ADJ", - "последний_ADJ_раз_NOUN", - "последний_ADJ_рейс_NOUN", - "последний_ADJ_страница_NOUN", - "последний_ADJ_строчка_NOUN", - "последний_ADJ_фраза_NOUN", - "последний_ADJ_шанс_NOUN", - "последний_ADJ_экзамен_NOUN", - "последовать_VERB_за_ADP", - "последовать_VERB_ответ_NOUN", - "последовать_VERB_пример_NOUN", - "последовать_VERB_совет_NOUN", - "последующий_ADJ_день_NOUN", - "последующий_ADJ_событие_NOUN", - "послеобеденный_ADJ_время_NOUN", - "послужить_VERB_повод_NOUN", - "послужить_VERB_причина_NOUN", - "послужить_VERB_сигнал_NOUN", - "послушать_VERB_послушать_VERB", - "послушаться_VERB_совет_NOUN", - "послушно_ADV_сесть_VERB", - "послышаться_VERB_возглас_NOUN", - "послышаться_VERB_возня_NOUN", - "послышаться_VERB_глухой_ADJ", - "послышаться_VERB_голос_NOUN", - "послышаться_VERB_громкий_ADJ", - "послышаться_VERB_грохот_NOUN", - "послышаться_VERB_гул_NOUN", - "послышаться_VERB_звон_NOUN", - "послышаться_VERB_звонкий_ADJ", - "послышаться_VERB_звук_NOUN", - "послышаться_VERB_знакомый_ADJ", - "послышаться_VERB_крик_NOUN", - "послышаться_VERB_лай_NOUN", - "послышаться_VERB_лязг_NOUN", - "послышаться_VERB_насмешливый_ADJ", - "послышаться_VERB_негромкий_ADJ", - "послышаться_VERB_недовольный_ADJ", - "послышаться_VERB_отдалённый_ADJ", - "послышаться_VERB_плеск_NOUN", - "послышаться_VERB_резкий_ADJ", - "послышаться_VERB_свист_NOUN", - "послышаться_VERB_сердитый_ADJ", - "послышаться_VERB_сзади_ADV", - "послышаться_VERB_смех_NOUN", - "послышаться_VERB_стон_NOUN", - "послышаться_VERB_стук_NOUN", - "послышаться_VERB_тихий_ADJ", - "послышаться_VERB_топот_NOUN", - "послышаться_VERB_торопливый_ADJ", - "послышаться_VERB_треск_NOUN", - "послышаться_VERB_хриплый_ADJ", - "послышаться_VERB_хруст_NOUN", - "послышаться_VERB_чей_DET", - "послышаться_VERB_шаг_NOUN", - "послышаться_VERB_шорох_NOUN", - "послышаться_VERB_шум_NOUN", - "посмеиваться_VERB_над_ADP", - "посметь_VERB_ослушаться_VERB", - "посметь_VERB_тронуть_VERB", - "посмеяться_VERB_над_ADP", - "посмотреть_VERB_внимательный_ADV", - "посоветовать_VERB_алёшка_PROPN", - "посоветуйся_VERB_с_ADP", - "поспевать_VERB_за_ADP", - "поспеть_VERB_вовремя_ADV", - "поспешить_VERB_вмешаться_VERB", - "поспешить_VERB_воспользоваться_VERB", - "поспешить_VERB_домой_ADV", - "поспешить_VERB_заверить_VERB", - "поспешить_VERB_исполнить_VERB", - "поспешить_VERB_навстречу_ADV", - "поспешить_VERB_скрыться_VERB", - "поспешить_VERB_следом_ADV", - "поспешить_VERB_удалиться_VERB", - "поспешить_VERB_успокоить_VERB", - "поспешно_ADV_добавить_VERB", - "поспешно_ADV_направиться_VERB", - "поспешно_ADV_одеваться_VERB", - "поспешно_ADV_одеться_VERB", - "поспешно_ADV_отступить_VERB", - "поспешно_ADV_удалиться_VERB", - "поспешный_ADJ_бегство_NOUN", - "поспешный_ADJ_шаг_NOUN", - "посреди_ADP_двор_NOUN", - "посреди_ADP_дорога_NOUN", - "посреди_ADP_зал_NOUN", - "посреди_ADP_комната_NOUN", - "посреди_ADP_площадь_NOUN", - "посреди_ADP_поле_NOUN", - "посреди_ADP_поляна_NOUN", - "посреди_ADP_тротуар_NOUN", - "посреди_ADP_улица_NOUN", - "посредине_ADV_комната_NOUN", - "посредине_NOUN_комната_NOUN", - "посредник_NOUN_между_ADP", - "посредством_ADP_которого_PRON", - "посредством_ADP_которых_PRON", - "пост_NOUN_гаи_PROPN", - "поставить_VERB_ведро_NOUN", - "поставить_VERB_двойка_NOUN", - "поставить_VERB_диагноз_NOUN", - "поставить_VERB_памятник_NOUN", - "поставить_VERB_парус_NOUN", - "поставить_VERB_пятёрка_NOUN", - "поставить_VERB_самовар_NOUN", - "поставить_VERB_точка_NOUN", - "поставить_VERB_чайник_NOUN", - "поставить_VERB_чашка_NOUN", - "постановка_NOUN_вопрос_NOUN", - "постараться_VERB_придать_VERB", - "постараться_VERB_скрыть_VERB", - "постараться_VERB_успокоить_VERB", - "постель_NOUN_больного_NOUN", - "постельный_ADJ_бельё_NOUN", - "постепенно_ADV_исчезать_VERB", - "постепенно_ADV_опускаться_VERB", - "постепенно_ADV_переходить_VERB", - "постепенно_ADV_превращаться_VERB", - "постепенно_ADV_приближаться_VERB", - "постепенно_ADV_становиться_VERB", - "постепенно_ADV_увеличиваться_VERB", - "постепенно_ADV_удаляться_VERB", - "постепенно_ADV_уменьшаться_VERB", - "постичь_VERB_неудача_NOUN", - "постный_ADJ_масло_NOUN", - "постовой_ADJ_милиционер_NOUN", - "постой_ADJ_постоять_VERB", - "постойте_VERB_постоять_VERB", - "посторонний_ADJ_вход_NOUN", - "посторонний_ADJ_звук_NOUN", - "посторонний_ADJ_помощь_NOUN", - "посторонний_ADJ_предмет_NOUN", - "посторонний_ADJ_человек_NOUN", - "постояв_PROPN_немного_ADV", - "постоялый_ADJ_двор_NOUN", - "постоянно_ADV_менять_VERB", - "постоянно_ADV_меняться_VERB", - "постоянно_ADV_находиться_VERB", - "постоянно_ADV_носить_VERB", - "постоянно_ADV_оглядываться_VERB", - "постоянно_ADV_твердить_VERB", - "постоянный_ADJ_борьба_NOUN", - "постоянный_ADJ_посетитель_NOUN", - "постоянный_ADJ_страх_NOUN", - "постоять_VERB_возле_ADP", - "постоять_VERB_минутка_NOUN", - "постоять_VERB_немного_ADV", - "постоять_VERB_постоять_VERB", - "построить_VERB_плот_NOUN", - "постукивать_VERB_палец_NOUN", - "поступать_VERB_иначе_ADV", - "поступать_VERB_правильно_ADV", - "поступить_VERB_дурно_ADV", - "поступить_VERB_иначе_ADV", - "поступить_VERB_правильно_ADV", - "постучать_VERB_карандаш_NOUN", - "постучать_VERB_кулак_NOUN", - "постучать_VERB_палец_NOUN", - "постыдиться_VERB_бы_AUX", - "посуда_NOUN_мыть_VERB", - "посудить_VERB_сами_ADJ", - "посчастливиться_VERB_найти_VERB", - "посыпать_VERB_песок_NOUN", - "посыпать_VERB_соль_NOUN", - "посыпаться_VERB_вопрос_NOUN", - "посыпаться_VERB_град_NOUN", - "посыпаться_VERB_искра_NOUN", - "пот_NOUN_выступить_VERB", - "пот_NOUN_град_NOUN", - "пот_NOUN_катиться_VERB", - "пот_NOUN_лить_VERB", - "пот_NOUN_со_ADP", - "пот_NOUN_струиться_VERB", - "потайной_ADJ_дверь_NOUN", - "потайной_ADJ_карман_NOUN", - "потайной_ADJ_фонарь_NOUN", - "потайной_ADJ_ход_NOUN", - "потемнеть_VERB_небо_NOUN", - "потереть_VERB_ладонь_NOUN", - "потереть_VERB_лоб_NOUN", - "потереть_VERB_рука_NOUN", - "потереться_VERB_о_ADP", - "потерпевших_NOUN_крушение_NOUN", - "потерпеть_VERB_авария_NOUN", - "потерпеть_VERB_кораблекрушение_NOUN", - "потерпеть_VERB_крушение_NOUN", - "потерпеть_VERB_неудача_NOUN", - "потерпеть_VERB_поражение_NOUN", - "потеря_NOUN_кровь_NOUN", - "потеря_NOUN_сознание_NOUN", - "потерянный_ADJ_долина_PROPN", - "потерять_VERB_бдительность_NOUN", - "потерять_VERB_вера_NOUN", - "потерять_VERB_дар_NOUN", - "потерять_VERB_интерес_NOUN", - "потерять_VERB_много_NUM", - "потерять_VERB_надежда_NOUN", - "потерять_VERB_равновесие_NOUN", - "потерять_VERB_рассудок_NOUN", - "потерять_VERB_самообладание_NOUN", - "потерять_VERB_сознание_NOUN", - "потерять_VERB_способность_NOUN", - "потерять_VERB_терпение_NOUN", - "потерять_VERB_управление_NOUN", - "потечь_VERB_кровь_NOUN", - "потечь_VERB_слеза_NOUN", - "потешаться_VERB_над_ADP", - "потирать_VERB_ладонь_NOUN", - "потирать_VERB_лоб_NOUN", - "потирать_VERB_рука_NOUN", - "потирать_VERB_ушибить_VERB", - "потный_ADJ_лицо_NOUN", - "потный_ADJ_лоб_NOUN", - "поток_NOUN_вода_NOUN", - "поток_NOUN_воздух_NOUN", - "поток_NOUN_кровь_NOUN", - "поток_NOUN_лава_NOUN", - "поток_NOUN_хлынуть_VERB", - "потолок_NOUN_свисать_VERB", - "потом_ADV_раздумать_VERB", - "потомок_NOUN_древний_ADJ", - "потому_ADV_что_SCONJ", - "потребовать_VERB_объяснение_NOUN", - "потребовать_VERB_чтобы_SCONJ", - "потрескаться_VERB_губа_NOUN", - "потрогать_VERB_палец_NOUN", - "потрясать_VERB_кулак_NOUN", - "потрясать_VERB_оружие_NOUN", - "потрясающее_ADJ_впечатление_NOUN", - "потрясти_VERB_кулак_NOUN", - "потупить_VERB_взгляд_NOUN", - "потупить_VERB_взор_NOUN", - "потупить_VERB_глаз_NOUN", - "потупить_VERB_голова_NOUN", - "потусторонний_ADJ_мир_NOUN", - "потусторонний_ADJ_сила_NOUN", - "потухнуть_VERB_вулкан_NOUN", - "потухнуть_VERB_костёр_NOUN", - "потухнуть_VERB_трубка_NOUN", - "потушить_VERB_лампа_NOUN", - "потушить_VERB_огонь_NOUN", - "потушить_VERB_свет_NOUN", - "потушить_VERB_свеча_NOUN", - "потянуть_VERB_нос_NOUN", - "потянуться_VERB_зевнуть_VERB", - "потянуться_VERB_к_ADP", - "похлопать_VERB_ладонь_NOUN", - "похлопать_VERB_себя_PRON", - "похлопывать_VERB_себя_PRON", - "поход_NOUN_против_ADP", - "походить_VERB_походить_VERB", - "походный_ADJ_аптечка_NOUN", - "походный_ADJ_кровать_NOUN", - "походный_ADJ_кухня_NOUN", - "походный_ADJ_сумка_NOUN", - "похоронный_ADJ_марш_NOUN", - "похоронный_ADJ_процессия_NOUN", - "поцеловать_VERB_ее_PRON", - "почему_ADV_либо_ADV", - "почему_ADV_то_ADV", - "почернеть_VERB_от_ADP", - "почесать_VERB_затылок_NOUN", - "почесать_VERB_нос_NOUN", - "почесать_VERB_подбородок_NOUN", - "почистить_VERB_зуб_NOUN", - "почище_NOUN_чем_SCONJ", - "почтальон_NOUN_печкин_PROPN", - "почтальон_NOUN_принести_VERB", - "почтальон_PROPN_печкин_PROPN", - "почтенный_ADJ_академик_NOUN", - "почтенный_ADJ_возраст_NOUN", - "почтенный_ADJ_дама_NOUN", - "почтенный_ADJ_джентльмен_NOUN", - "почтенный_ADJ_старец_NOUN", - "почтенный_ADJ_старик_NOUN", - "почти_ADV_бег_NOUN", - "почти_ADV_беззвучно_ADV", - "почти_ADV_беспрерывно_ADV", - "почти_ADV_бессознательно_ADV", - "почти_ADV_бесшумно_ADV", - "почти_ADV_вдвое_ADV", - "почти_ADV_вертикально_ADV", - "почти_ADV_вплотную_ADV", - "почти_ADV_ежедневно_ADV", - "почти_ADV_исключительно_ADV", - "почти_ADV_насильно_ADV", - "почти_ADV_невесомый_ADJ", - "почти_ADV_невозможный_ADJ", - "почти_ADV_незаметный_ADJ", - "почти_ADV_непроходимый_ADJ", - "почти_ADV_неразличимый_ADJ", - "почти_ADV_неслышно_ADV", - "почти_ADV_неуловимый_ADJ", - "почти_ADV_одновременно_ADV", - "почти_ADV_отвесно_ADV", - "почти_ADV_отвесный_ADJ", - "почти_ADV_полностью_ADV", - "почти_ADV_сплошь_ADV", - "почти_ADV_физически_ADV", - "почти_ADV_целиком_ADV", - "почтительно_ADV_кланяться_VERB", - "почтительно_ADV_поклонившись_VERB", - "почтительно_ADV_поклониться_VERB", - "почтительно_ADV_поцеловать_VERB", - "почтительно_ADV_склонить_VERB", - "почтительно_ADV_склониться_VERB", - "почтительный_ADJ_отдаление_NOUN", - "почтительный_ADJ_поза_NOUN", - "почтительный_ADJ_поклон_NOUN", - "почтительный_ADJ_расстояние_NOUN", - "почтовый_ADJ_бумага_NOUN", - "почтовый_ADJ_голубь_NOUN", - "почтовый_ADJ_карета_NOUN", - "почтовый_ADJ_контора_NOUN", - "почтовый_ADJ_марка_NOUN", - "почтовый_ADJ_отделение_NOUN", - "почтовый_ADJ_станция_NOUN", - "почтовый_ADJ_ящик_NOUN", - "почувствовать_VERB_неладный_ADJ", - "почувствовать_VERB_облегчение_NOUN", - "почувствовать_VERB_приближение_NOUN", - "почувствовать_VERB_прикосновение_NOUN", - "почувствовать_VERB_прилив_NOUN", - "почувствовать_VERB_усталость_NOUN", - "почудиться_VERB_будто_SCONJ", - "почуять_VERB_запах_NOUN", - "почём_ADV_знать_VERB", - "почём_ADV_зря_ADV", - "почёсывать_VERB_затылок_NOUN", - "почётный_ADJ_гость_NOUN", - "почётный_ADJ_грамота_NOUN", - "почётный_ADJ_звание_NOUN", - "почётный_ADJ_караул_NOUN", - "почётный_ADJ_место_NOUN", - "почётный_ADJ_член_NOUN", - "пошарить_VERB_рука_NOUN", - "пошевелить_VERB_губа_NOUN", - "пошевелить_VERB_палец_NOUN", - "пошутить_VERB_нельзя_ADV", - "пощупать_VERB_пульс_NOUN", - "поэма_NOUN_гомера_PROPN", - "пояс_NOUN_астероид_NOUN", - "пояс_NOUN_заткнуть_VERB", - "пояс_NOUN_кинжал_NOUN", - "пояс_NOUN_нож_NOUN", - "пояс_NOUN_пистолет_NOUN", - "поёживаться_VERB_от_ADP", - "правда_NOUN_ли_PART", - "правда_NOUN_матка_NOUN", - "правдивый_ADJ_история_NOUN", - "правду_PROPN_говорить_VERB", - "праведный_ADJ_гнев_NOUN", - "правило_NOUN_игра_NOUN", - "правило_NOUN_искусство_NOUN", - "правило_NOUN_поведение_NOUN", - "правило_NOUN_приличие_NOUN", - "правило_NOUN_уличный_ADJ", - "правило_NOUN_этикет_NOUN", - "правильно_ADV_подобрать_VERB", - "правильно_ADV_поступить_VERB", - "правильно_ADV_рассчитать_VERB", - "правильно_ADV_сделать_VERB", - "правильный_ADJ_выбор_NOUN", - "правильный_ADJ_одобрить_VERB", - "правильный_ADJ_поддержать_VERB", - "правильный_ADJ_подтвердить_VERB", - "правильный_ADJ_решение_NOUN", - "правильный_ADJ_ряд_NOUN", - "правильный_ADJ_согласиться_VERB", - "правильный_ADJ_черта_NOUN", - "правитель_NOUN_баранов_PROPN", - "правительственный_ADJ_войско_NOUN", - "править_VERB_лошадь_NOUN", - "править_VERB_страна_NOUN", - "правление_NOUN_колхоз_NOUN", - "право_NOUN_собственность_NOUN", - "правоохранительный_ADJ_орган_NOUN", - "православный_ADJ_церковь_NOUN", - "правый_ADJ_бок_NOUN", - "правый_ADJ_борт_NOUN", - "правый_ADJ_галс_NOUN", - "правый_ADJ_крот_PROPN", - "правый_ADJ_крыло_NOUN", - "правый_ADJ_рука_NOUN", - "правый_ADJ_фланг_NOUN", - "правый_ADJ_щека_NOUN", - "празднично_ADV_одеть_VERB", - "праздничный_ADJ_наряд_NOUN", - "праздничный_ADJ_настроение_NOUN", - "праздничный_ADJ_обед_NOUN", - "праздничный_ADJ_одежда_NOUN", - "праздничный_ADJ_платье_NOUN", - "праздничный_ADJ_стол_NOUN", - "праздновать_VERB_победа_NOUN", - "праздный_ADJ_жизнь_NOUN", - "праздный_ADJ_любопытство_NOUN", - "практически_ADV_невозможный_ADJ", - "практический_ADJ_занятие_NOUN", - "прасковья_PROPN_иванович_PROPN", - "превеликий_ADJ_удовольствие_NOUN", - "превзойти_VERB_самого_ADJ", - "превозмогать_VERB_боль_NOUN", - "превосходить_VERB_всякий_DET", - "превосходить_VERB_сила_NOUN", - "превосходство_NOUN_над_ADP", - "превратность_NOUN_судьба_NOUN", - "превыше_ADJ_всего_PRON", - "преградить_VERB_дорога_NOUN", - "преградить_VERB_ей_PRON", - "преградить_VERB_ему_PRON", - "преградить_VERB_им_PRON", - "преградить_VERB_путь_NOUN", - "преграждать_VERB_дорога_NOUN", - "преграждать_VERB_им_PRON", - "преграждать_VERB_путь_NOUN", - "пред_ADP_нами_PRON", - "пред_ADP_ним_PRON", - "пред_ADP_ними_PRON", - "пред_ADV_мной_PRON", - "пред_ADV_мною_PRON", - "предаваться_VERB_воспоминание_NOUN", - "предаваться_VERB_отчаяние_NOUN", - "преданно_ADV_глядеть_VERB", - "преданный_ADJ_друг_NOUN", - "преданный_ADJ_слуга_NOUN", - "предать_VERB_забвение_NOUN", - "предать_VERB_смерть_NOUN", - "предать_VERB_суд_NOUN", - "предварительный_ADJ_заключение_NOUN", - "предвещать_VERB_ничто_PRON", - "предвкушать_VERB_удовольствие_NOUN", - "предводитель_NOUN_дворянство_NOUN", - "предводитель_NOUN_шайка_NOUN", - "предельный_ADJ_скорость_NOUN", - "предместье_NOUN_сент_PROPN", - "предмет_NOUN_роскошь_NOUN", - "предназначаться_VERB_для_ADP", - "предназначить_VERB_для_ADP", - "предоставить_VERB_самим_ADJ", - "предоставить_VERB_самой_ADJ", - "предоставить_VERB_самому_ADJ", - "предоставлять_VERB_вам_PRON", - "предостерегающе_PROPN_поднять_VERB", - "предохранять_VERB_от_ADP", - "предположить_VERB_алёшка_PROPN", - "предпочесть_VERB_бы_AUX", - "предпринять_VERB_против_ADP", - "предпринять_VERB_путешествие_NOUN", - "предприятие_NOUN_которое_PRON", - "председатель_NOUN_колхоз_NOUN", - "председатель_NOUN_комиссия_NOUN", - "председатель_NOUN_правление_NOUN", - "председатель_NOUN_пушечный_ADJ", - "председатель_NOUN_сельсовет_NOUN", - "председатель_NOUN_совет_NOUN", - "председатель_NOUN_совет_PROPN", - "председатель_NOUN_суд_NOUN", - "председательский_ADJ_место_NOUN", - "предсказывать_VERB_будущее_NOUN", - "предсмертный_ADJ_агония_NOUN", - "предсмертный_ADJ_крик_NOUN", - "предсмертный_ADJ_судорога_NOUN", - "представать_VERB_перед_ADP", - "представитель_NOUN_власть_NOUN", - "представитель_NOUN_закон_NOUN", - "представитель_NOUN_семейство_NOUN", - "представить_VERB_себя_PRON", - "представиться_VERB_возможность_NOUN", - "представиться_VERB_случай_NOUN", - "представиться_VERB_удобный_ADJ", - "представление_NOUN_о_ADP", - "представление_NOUN_об_ADP", - "представлять_VERB_себя_PRON", - "представлять_VERB_собою_NOUN", - "представляться_VERB_возможность_NOUN", - "представляться_VERB_возможный_ADJ", - "представь_VERB_себя_PRON", - "предстать_VERB_перед_ADP", - "предстать_VERB_пред_ADP", - "предстоять_VERB_долгий_ADJ", - "предстоящий_ADJ_встреча_NOUN", - "предстоящий_ADJ_разлука_NOUN", - "предубеждение_NOUN_против_ADP", - "предупреждать_VERB_вас_PRON", - "предупреждать_VERB_об_ADP", - "предчувствие_NOUN_беда_NOUN", - "предъявить_VERB_документ_NOUN", - "предыдущий_ADJ_глава_NOUN", - "предыдущий_ADJ_ночь_NOUN", - "прежде_ADV_всего_PRON", - "прежде_ADV_нежели_SCONJ", - "прежде_ADV_чем_SCONJ", - "прежний_ADJ_владелец_NOUN", - "прежний_ADJ_место_NOUN", - "прежний_ADJ_поза_NOUN", - "прежний_ADJ_положение_NOUN", - "прежний_ADJ_уверенность_NOUN", - "прежний_ADJ_хозяин_NOUN", - "президент_NOUN_академия_PROPN", - "президент_NOUN_республика_NOUN", - "президент_NOUN_соединить_VERB", - "презрительно_ADV_бросить_VERB", - "презрительно_ADV_пожать_VERB", - "презрительно_ADV_скривить_VERB", - "презрительно_ADV_улыбнуться_VERB", - "презрительно_ADV_усмехнуться_VERB", - "презрительно_ADV_фыркнуть_VERB", - "презрительно_ADV_хмыкнуть_VERB", - "презрительный_ADJ_взгляд_NOUN", - "презрительный_ADJ_тон_NOUN", - "презрительный_ADJ_улыбка_NOUN", - "презрительный_ADJ_усмешка_NOUN", - "преимущество_NOUN_перед_ADP", - "преклонение_NOUN_перед_ADP", - "преклонить_VERB_голова_NOUN", - "преклонить_VERB_колено_NOUN", - "преклониться_VERB_перед_ADP", - "преклонный_ADJ_возраст_NOUN", - "преклонный_ADJ_год_NOUN", - "преклоняться_VERB_перед_ADP", - "прекрасно_ADV_владеть_VERB", - "прекрасно_ADV_вооружить_VERB", - "прекрасно_ADV_знать_VERB", - "прекрасно_ADV_помнить_VERB", - "прекрасно_ADV_понимать_VERB", - "прекрасно_ADV_разбираться_VERB", - "прекрасно_ADV_сознавать_VERB", - "прекрасно_ADV_сохраниться_VERB", - "прекрасный_ADJ_дама_NOUN", - "прекрасный_ADJ_королевна_NOUN", - "прекрасный_ADJ_настроение_NOUN", - "прекрасный_ADJ_незнакомка_NOUN", - "прекрасный_ADJ_принц_NOUN", - "прекрасный_ADJ_расположение_NOUN", - "прекрасный_ADJ_садовница_NOUN", - "прекрасный_ADJ_царевна_NOUN", - "прекратить_VERB_работа_NOUN", - "прекратить_VERB_разговор_NOUN", - "прекращать_VERB_работа_NOUN", - "прелестный_ADJ_головка_NOUN", - "прелестный_ADJ_девушка_NOUN", - "прелестный_ADJ_дитя_NOUN", - "прелестный_ADJ_личико_NOUN", - "прелестный_ADJ_создание_NOUN", - "прелый_ADJ_лист_NOUN", - "премьер_NOUN_министр_NOUN", - "пренебрежительно_ADV_махнуть_VERB", - "преодолевать_VERB_сопротивление_NOUN", - "преподаватель_NOUN_физкультура_NOUN", - "преподобный_ADJ_отец_NOUN", - "прервать_VERB_молчание_NOUN", - "прервать_VERB_появление_NOUN", - "прервать_VERB_разговор_NOUN", - "прервать_VERB_чтение_NOUN", - "прерывать_VERB_молчание_NOUN", - "прерывающимся_VERB_голос_NOUN", - "прерывающимся_VERB_от_ADP", - "прерывистый_ADJ_голос_NOUN", - "прерывистый_ADJ_дыхание_NOUN", - "прерывистый_ADV_вздохнуть_VERB", - "прерывистый_ADV_дышать_VERB", - "пресвятой_ADJ_богородица_PROPN", - "пресвятой_ADJ_дева_PROPN", - "преследовать_VERB_беглец_NOUN", - "пресный_ADJ_вода_NOUN", - "пресс_NOUN_конференция_NOUN", - "пресс_NOUN_папье_NOUN", - "преступление_NOUN_совершить_VERB", - "преступный_ADJ_группа_NOUN", - "преступный_ADJ_деятельность_NOUN", - "преступный_ADJ_замысел_NOUN", - "преступный_ADJ_мир_NOUN", - "префект_NOUN_полиция_NOUN", - "при_ADP_взлёт_NOUN", - "при_ADP_взятие_NOUN", - "при_ADP_вид_NOUN", - "при_ADP_встреча_NOUN", - "при_ADP_всякая_DET", - "при_ADP_въезд_NOUN", - "при_ADP_выезд_NOUN", - "при_ADP_выполнение_NOUN", - "при_ADP_данных_ADJ", - "при_ADP_дневный_ADJ", - "при_ADP_желание_NOUN", - "при_ADP_звуках_NOUN", - "при_ADP_изготовление_NOUN", - "при_ADP_исполнение_NOUN", - "при_ADP_коммунизм_NOUN", - "при_ADP_крещение_NOUN", - "при_ADP_лунный_ADJ", - "при_ADP_наличие_NOUN", - "при_ADP_необходимость_NOUN", - "при_ADP_нём_PROPN", - "при_ADP_обыск_NOUN", - "при_ADP_падение_NOUN", - "при_ADP_переправа_NOUN", - "при_ADP_помощь_NOUN", - "при_ADP_попутный_ADJ", - "при_ADP_посадка_NOUN", - "при_ADP_посредство_NOUN", - "при_ADP_посторонний_ADJ", - "при_ADP_поступление_NOUN", - "при_ADP_появление_NOUN", - "при_ADP_приближение_NOUN", - "при_ADP_раскопка_NOUN", - "при_ADP_расставание_NOUN", - "при_ADP_содействие_NOUN", - "при_ADP_упоминание_NOUN", - "при_ADP_условие_NOUN", - "при_ADP_ходьба_NOUN", - "при_ADP_чём_NOUN", - "прибавить_VERB_газ_NOUN", - "прибавить_VERB_скорость_NOUN", - "прибавить_VERB_ход_NOUN", - "прибавить_VERB_шаг_NOUN", - "прибавить_VERB_шагу_NOUN", - "прибавлять_VERB_ход_NOUN", - "прибавлять_VERB_шаг_NOUN", - "прибавлять_VERB_шагу_NOUN", - "прибегать_VERB_к_ADP", - "прибегнуть_VERB_к_ADP", - "прибежать_VERB_домой_ADV", - "прибиться_VERB_к_ADP", - "приближаться_VERB_к_ADP", - "приближение_NOUN_враг_NOUN", - "приблизительно_ADV_около_ADP", - "приблизить_VERB_к_ADP", - "приблизиться_VERB_вплотную_ADV", - "приблизиться_VERB_к_ADP", - "прибор_NOUN_невесомость_NOUN", - "приборный_ADJ_доска_NOUN", - "прибрежный_ADJ_житель_NOUN", - "прибрежный_ADJ_камень_NOUN", - "прибрежный_ADJ_куст_NOUN", - "прибрежный_ADJ_песок_NOUN", - "прибрежный_ADJ_полоса_NOUN", - "прибрежный_ADJ_скала_NOUN", - "прибрежный_ADJ_утёс_NOUN", - "прибыть_VERB_сюда_ADV", - "привалиться_VERB_к_ADP", - "привалиться_VERB_спина_NOUN", - "привезти_VERB_сюда_ADV", - "привести_VERB_сюда_ADV", - "приветливо_ADV_встретить_VERB", - "приветливо_ADV_кивать_VERB", - "приветливо_ADV_кивнуть_VERB", - "приветливо_ADV_махать_VERB", - "приветливо_ADV_поздороваться_VERB", - "приветливо_ADV_улыбаться_VERB", - "приветливо_ADV_улыбнуться_VERB", - "приветливый_ADJ_улыбка_NOUN", - "приветственный_ADJ_крик_NOUN", - "приветствовать_VERB_вас_PRON", - "привинтить_VERB_к_ADP", - "привлекать_VERB_внимание_NOUN", - "привлечь_VERB_внимание_NOUN", - "приводить_VERB_пример_NOUN", - "привокзальный_ADJ_площадь_NOUN", - "привольный_ADJ_жизнь_NOUN", - "привыкать_VERB_к_ADP", - "привыкнуть_VERB_к_ADP", - "привыкший_VERB_к_ADP", - "привычный_ADJ_движение_NOUN", - "привычный_ADJ_жест_NOUN", - "привязать_VERB_верёвка_NOUN", - "привязать_VERB_к_ADP", - "привязаться_VERB_к_ADP", - "привязываться_VERB_к_ADP", - "пригладить_VERB_волос_NOUN", - "пригласительный_ADJ_билет_NOUN", - "пригласить_VERB_гость_NOUN", - "приглашать_VERB_жест_NOUN", - "приглушенный_ADJ_голос_NOUN", - "приглушенным_ADJ_голос_NOUN", - "приглушить_VERB_голос_NOUN", - "приглядывать_VERB_за_ADP", - "приглядываться_VERB_к_ADP", - "пригнуть_VERB_голова_NOUN", - "приговор_NOUN_суд_NOUN", - "приговорить_VERB_к_ADP", - "пригодный_ADJ_для_ADP", - "приготовительный_ADJ_класс_NOUN", - "приготовить_VERB_завтрак_NOUN", - "приготовить_VERB_заранее_ADV", - "приготовить_VERB_обед_NOUN", - "приготовить_VERB_ужин_NOUN", - "приготовить_VERB_урок_NOUN", - "приготовиться_VERB_встретить_VERB", - "приготовиться_VERB_слушать_VERB", - "приготовление_NOUN_пища_NOUN", - "приготовление_NOUN_урок_NOUN", - "придавать_VERB_ему_PRON", - "придавать_VERB_значение_NOUN", - "придавать_VERB_им_PRON", - "придавать_VERB_особый_ADJ", - "придать_VERB_значение_NOUN", - "придать_VERB_им_PRON", - "придвигать_VERB_к_ADP", - "придвигаться_VERB_к_ADP", - "придвинуть_VERB_к_ADP", - "придвинуть_VERB_стул_NOUN", - "придвинуться_VERB_близкий_ADV", - "придвинуться_VERB_к_ADP", - "придворный_ADJ_дама_NOUN", - "придержать_VERB_конь_NOUN", - "придержать_VERB_лошадь_NOUN", - "придется_VERB_вам_PRON", - "придирчивый_ADV_осмотреть_VERB", - "придорожный_ADJ_канава_NOUN", - "придорожный_ADJ_куст_NOUN", - "придумывать_VERB_всякий_DET", - "придумывать_VERB_разный_ADJ", - "приезжать_VERB_сюда_ADV", - "приехать_VERB_сюда_ADV", - "прижать_VERB_к_ADP", - "прижать_VERB_ладонь_NOUN", - "прижать_VERB_палец_NOUN", - "прижать_VERB_ухо_NOUN", - "прижаться_VERB_друг_PRON", - "прижаться_VERB_к_ADP", - "прижаться_VERB_лоб_NOUN", - "прижаться_VERB_спина_NOUN", - "прижаться_VERB_ухом_NOUN", - "прижаться_VERB_щека_NOUN", - "прижимать_VERB_к_ADP", - "прижиматься_VERB_друг_PRON", - "прижиматься_VERB_к_ADP", - "прижиматься_VERB_щека_NOUN", - "прижимая_VERB_к_ADP", - "признак_NOUN_жизнь_NOUN", - "признаться_VERB_алёшка_PROPN", - "призрачный_ADJ_свет_NOUN", - "призывный_ADJ_крик_NOUN", - "прийти_VERB_сюда_ADV", - "прийтись_VERB_довольствоваться_VERB", - "прийтись_VERB_задержаться_VERB", - "прийтись_VERB_испытать_VERB", - "прийтись_VERB_недолго_ADV", - "прийтись_VERB_отложить_VERB", - "прийтись_VERB_пережить_VERB", - "прийтись_VERB_повозиться_VERB", - "прийтись_VERB_подчиниться_VERB", - "прийтись_VERB_пожертвовать_VERB", - "прийтись_VERB_покориться_VERB", - "прийтись_VERB_поработать_VERB", - "прийтись_VERB_потратить_VERB", - "прийтись_VERB_прибегнуть_VERB", - "прийтись_VERB_расстаться_VERB", - "прийтись_VERB_смириться_VERB", - "прийтись_VERB_уступить_VERB", - "прикажете_VERB_делать_VERB", - "приказ_NOUN_командир_NOUN", - "приказать_VERB_кучер_NOUN", - "приказать_VERB_спустить_VERB", - "прикасаться_VERB_к_ADP", - "прикинуться_VERB_будто_SCONJ", - "приклад_NOUN_ружьё_NOUN", - "прикладываться_VERB_к_ADP", - "приклеиться_VERB_к_ADP", - "приключенческий_ADJ_роман_NOUN", - "приковать_VERB_к_ADP", - "прикомандировать_VERB_к_ADP", - "прикоснуться_VERB_губа_NOUN", - "прикоснуться_VERB_к_ADP", - "прикрепить_VERB_к_ADP", - "прикрепляться_VERB_к_ADP", - "прикрывать_VERB_рот_NOUN", - "прикрыть_VERB_глаз_NOUN", - "прикрыть_VERB_дверь_NOUN", - "прикрыть_VERB_ладонь_NOUN", - "прикрыть_VERB_рот_NOUN", - "прикрыть_VERB_сверху_ADV", - "прикусить_VERB_губа_NOUN", - "прикусить_VERB_нижний_ADJ", - "прикусить_VERB_язык_NOUN", - "прилагать_VERB_весь_DET", - "прилегать_VERB_к_ADP", - "прилежно_ADV_работать_VERB", - "прилежно_ADV_учиться_VERB", - "прилежный_ADJ_ученик_NOUN", - "прилепиться_VERB_к_ADP", - "прилететь_VERB_сюда_ADV", - "прилечь_VERB_отдохнуть_VERB", - "прилив_NOUN_кровь_NOUN", - "прилив_NOUN_сила_NOUN", - "приливный_ADJ_волна_NOUN", - "прилипать_VERB_к_ADP", - "прилипнуть_VERB_к_ADP", - "прилично_ADV_одеть_VERB", - "приличный_ADJ_расстояние_NOUN", - "приложить_VERB_ладонь_NOUN", - "приложить_VERB_палец_NOUN", - "приложить_VERB_рука_NOUN", - "приложить_VERB_ухо_NOUN", - "приложиться_VERB_к_ADP", - "прильнуть_VERB_к_ADP", - "применительно_ADV_к_ADP", - "пример_NOUN_последовать_VERB", - "примерно_ADV_наказать_VERB", - "примерно_ADV_через_ADP", - "примерный_ADJ_поведение_NOUN", - "примечание_NOUN_для_ADP", - "примирительно_ADV_сказать_VERB", - "примирительный_ADJ_тон_NOUN", - "примириться_VERB_с_ADP", - "примириться_VERB_со_ADP", - "примкнуть_VERB_к_ADP", - "приморский_ADJ_бульвар_NOUN", - "приморский_ADJ_город_NOUN", - "примыкать_VERB_к_ADP", - "примять_VERB_трава_NOUN", - "примёрзнуть_VERB_к_ADP", - "принадлежать_VERB_другому_ADJ", - "принадлежать_VERB_одному_NUM", - "принести_VERB_вред_NOUN", - "принести_VERB_польза_NOUN", - "приник_NOUN_к_ADP", - "приникать_VERB_к_ADP", - "приникнуть_VERB_к_ADP", - "принимать_VERB_ванна_NOUN", - "принимать_VERB_всерьёз_ADV", - "принимать_VERB_вызов_NOUN", - "принимать_VERB_гость_NOUN", - "принимать_VERB_деятельный_ADJ", - "принимать_VERB_душ_NOUN", - "принимать_VERB_мера_NOUN", - "принимать_VERB_пища_NOUN", - "принимать_VERB_поздравление_NOUN", - "принимать_VERB_решение_NOUN", - "принимать_VERB_участие_NOUN", - "приниматься_VERB_за_ADP", - "приноравливаться_VERB_к_ADP", - "приносить_VERB_жертва_NOUN", - "приносить_VERB_несчастие_NOUN", - "приносить_VERB_плод_NOUN", - "приносить_VERB_польза_NOUN", - "приносить_VERB_счастие_NOUN", - "приносить_VERB_удача_NOUN", - "принудить_VERB_были_AUX", - "принужден_ADJ_быть_AUX", - "принуждена_ADJ_быть_AUX", - "принуждены_ADJ_были_AUX", - "принц_NOUN_генрих_PROPN", - "принц_NOUN_конде_PROPN", - "принц_NOUN_руперт_PROPN", - "принцесса_NOUN_елизавета_PROPN", - "принцесса_NOUN_конде_PROPN", - "принцесса_NOUN_маргарита_PROPN", - "принятый_ADJ_называть_VERB", - "принятый_ADJ_считать_VERB", - "принять_VERB_ванна_NOUN", - "принять_VERB_вызов_NOUN", - "принять_VERB_душ_NOUN", - "принять_VERB_единогласно_ADV", - "принять_VERB_командование_NOUN", - "принять_VERB_мера_NOUN", - "принять_VERB_окончательный_ADJ", - "принять_VERB_предложение_NOUN", - "принять_VERB_приглашение_NOUN", - "принять_VERB_решение_NOUN", - "принять_VERB_участие_NOUN", - "принять_VERB_христианство_NOUN", - "приняться_VERB_вытирать_VERB", - "приняться_VERB_готовить_VERB", - "приняться_VERB_грызть_VERB", - "приняться_VERB_жевать_VERB", - "приняться_VERB_изучать_VERB", - "приняться_VERB_колотить_VERB", - "приняться_VERB_копать_VERB", - "приняться_VERB_лихорадочно_ADV", - "приняться_VERB_обдумывать_VERB", - "приняться_VERB_обсуждать_VERB", - "приняться_VERB_объяснять_VERB", - "приняться_VERB_осматривать_VERB", - "приняться_VERB_разбирать_VERB", - "приняться_VERB_разглядывать_VERB", - "приняться_VERB_рассказывать_VERB", - "приняться_VERB_рассматривать_VERB", - "приняться_VERB_расспрашивать_VERB", - "приняться_VERB_расхаживать_VERB", - "приняться_VERB_рыть_VERB", - "приняться_VERB_рыться_VERB", - "приняться_VERB_тереть_VERB", - "приняться_VERB_трясти_VERB", - "приняться_VERB_убирать_VERB", - "приняться_VERB_усердно_ADV", - "приняться_VERB_успокаивать_VERB", - "приняться_VERB_хохотать_VERB", - "приняться_VERB_чистить_VERB", - "приняться_VERB_шарить_VERB", - "приобщиться_VERB_к_ADP", - "приотворить_VERB_дверь_NOUN", - "приоткрытой_ADJ_дверь_NOUN", - "приоткрытую_ADJ_дверь_NOUN", - "приоткрыть_VERB_дверца_NOUN", - "приоткрыть_VERB_дверь_NOUN", - "приоткрыть_VERB_один_NUM", - "приоткрыть_VERB_рот_NOUN", - "приоткрыться_VERB_дверь_NOUN", - "припадать_VERB_к_ADP", - "припадок_NOUN_безумие_NOUN", - "припасти_VERB_для_ADP", - "припасть_VERB_к_ADP", - "припасть_VERB_ухо_NOUN", - "приплыть_VERB_сюда_ADV", - "приплюснутый_ADJ_нос_NOUN", - "приплюснуть_VERB_нос_NOUN", - "приподнимать_VERB_голова_NOUN", - "приподнятом_ADJ_настроение_NOUN", - "приподнять_VERB_бровь_NOUN", - "приподнять_VERB_голова_NOUN", - "приподнять_VERB_край_NOUN", - "приподнять_VERB_крышка_NOUN", - "приподнять_VERB_шляпа_NOUN", - "прирасти_VERB_к_ADP", - "природа_NOUN_создать_VERB", - "природный_ADJ_богатство_NOUN", - "природный_ADJ_условие_NOUN", - "присаживаться_VERB_рядом_ADV", - "присваивать_VERB_себя_PRON", - "присвоить_VERB_звание_NOUN", - "присвоить_VERB_себя_PRON", - "присесть_VERB_возле_ADP", - "присесть_VERB_отдохнуть_VERB", - "присесть_VERB_рядом_ADV", - "прислать_VERB_письмо_NOUN", - "прислать_VERB_сюда_ADV", - "прислонившись_VERB_к_ADP", - "прислонить_VERB_к_ADP", - "прислониться_VERB_к_ADP", - "прислониться_VERB_спина_NOUN", - "прислонясь_VERB_к_ADP", - "прислоняться_VERB_к_ADP", - "прислушайся_VERB_к_ADP", - "прислушиваться_VERB_к_ADP", - "присматривать_VERB_за_ADP", - "присматриваться_VERB_к_ADP", - "присмотреть_VERB_за_ADP", - "присмотреться_VERB_внимательный_ADV", - "присниться_VERB_будто_SCONJ", - "присниться_VERB_сон_NOUN", - "присоединить_VERB_к_ADP", - "присоединиться_VERB_к_ADP", - "присоединяться_VERB_к_ADP", - "присосаться_VERB_к_ADP", - "приспосабливаться_VERB_к_ADP", - "приспособить_VERB_для_ADP", - "приспособиться_VERB_к_ADP", - "приспособление_NOUN_для_ADP", - "приставать_VERB_к_ADP", - "приставить_VERB_к_ADP", - "приставить_VERB_лестница_NOUN", - "приставной_ADJ_лестница_NOUN", - "пристально_ADV_вглядеться_VERB", - "пристально_ADV_вглядываться_VERB", - "пристально_ADV_взглянуть_VERB", - "пристально_ADV_всматриваться_VERB", - "пристально_ADV_глядеть_VERB", - "пристально_ADV_наблюдать_VERB", - "пристально_ADV_поглядеть_VERB", - "пристально_ADV_посмотреть_VERB", - "пристально_ADV_разглядывать_VERB", - "пристально_ADV_рассматривать_VERB", - "пристально_ADV_следить_VERB", - "пристально_ADV_смотреть_VERB", - "пристально_ADV_уставиться_VERB", - "пристальный_ADJ_взгляд_NOUN", - "пристальный_ADJ_взор_NOUN", - "пристальный_ADJ_внимание_NOUN", - "пристраститься_VERB_к_ADP", - "пристроиться_VERB_рядом_ADV", - "приступ_NOUN_кашель_NOUN", - "приступ_NOUN_лихорадка_NOUN", - "приступать_VERB_к_ADP", - "приступить_VERB_к_ADP", - "присутствие_NOUN_дух_NOUN", - "присутствовать_VERB_при_ADP", - "присущей_VERB_ему_PRON", - "притащить_VERB_сюда_ADV", - "притворить_VERB_дверь_NOUN", - "притворить_VERB_за_ADP", - "притвориться_VERB_будто_SCONJ", - "притвориться_VERB_мёртвый_ADJ", - "притвориться_VERB_спать_VERB", - "притворяться_VERB_будто_SCONJ", - "притворяться_VERB_спать_VERB", - "приткнуться_VERB_к_ADP", - "приток_NOUN_свежий_ADJ", - "притопывать_VERB_нога_NOUN", - "притрагиваться_VERB_к_ADP", - "притронуться_VERB_к_ADP", - "притягательный_ADJ_сила_NOUN", - "притянуть_VERB_к_ADP", - "прихлёбывать_VERB_чай_NOUN", - "приходите_VERB_завтра_ADV", - "приходить_VERB_сюда_ADV", - "приходиться_VERB_выслушивать_VERB", - "приходиться_VERB_довольствоваться_VERB", - "приходиться_VERB_мириться_VERB", - "приходиться_VERB_прибегать_VERB", - "приходиться_VERB_пробираться_VERB", - "приходиться_VERB_сталкиваться_VERB", - "приходиться_VERB_терпеть_VERB", - "приходиться_VERB_туго_ADV", - "прихожая_NOUN_раздаться_VERB", - "прицепиться_VERB_к_ADP", - "причалить_VERB_к_ADP", - "причастность_NOUN_к_ADP", - "причастный_ADJ_к_ADP", - "причина_NOUN_гибель_NOUN", - "причина_NOUN_побудить_VERB", - "причинить_VERB_боль_NOUN", - "причинить_VERB_вам_PRON", - "причинить_VERB_вред_NOUN", - "причинить_VERB_ей_PRON", - "причинить_VERB_зло_NOUN", - "причинять_VERB_боль_NOUN", - "причинять_VERB_вред_NOUN", - "причислить_VERB_к_ADP", - "причудливый_ADJ_тень_NOUN", - "причудливый_ADJ_узор_NOUN", - "причудливый_ADJ_форма_NOUN", - "пришивать_VERB_пуговица_NOUN", - "пришпорить_VERB_конь_NOUN", - "пришпорить_VERB_лошадь_NOUN", - "прищурить_VERB_глаз_NOUN", - "прищурить_VERB_один_NUM", - "прищёлкнуть_VERB_язык_NOUN", - "приятельский_ADJ_отношение_NOUN", - "приятно_ADV_пахнуть_VERB", - "приятно_ADV_поразить_VERB", - "приятный_ADJ_аппетит_NOUN", - "приятный_ADJ_аромат_NOUN", - "приятный_ADJ_воспоминание_NOUN", - "приятный_ADJ_впечатление_NOUN", - "приятный_ADJ_запах_NOUN", - "приятный_ADJ_известие_NOUN", - "приятный_ADJ_наружность_NOUN", - "приятный_ADJ_неожиданность_NOUN", - "приятный_ADJ_новость_NOUN", - "приятный_ADJ_ощущение_NOUN", - "приятный_ADJ_прохлада_NOUN", - "приятный_ADJ_сюрприз_NOUN", - "приятный_ADJ_теплота_NOUN", - "приём_NOUN_оказать_VERB", - "приём_NOUN_пища_NOUN", - "приёмный_ADJ_дочь_NOUN", - "приёмный_ADJ_зал_NOUN", - "приёмный_ADJ_комиссия_NOUN", - "приёмный_ADJ_мать_NOUN", - "приёмный_ADJ_отец_NOUN", - "приёмный_ADJ_покой_NOUN", - "приёмный_ADJ_родитель_NOUN", - "приёмный_ADJ_сын_NOUN", - "про_ADP_запас_NOUN", - "пробегать_VERB_мимо_ADP", - "пробегать_VERB_мимо_ADV", - "пробежать_VERB_дрожь_NOUN", - "пробежать_VERB_мимо_ADP", - "пробежать_VERB_мимо_ADV", - "пробежать_VERB_мурашка_NOUN", - "пробежать_VERB_тень_NOUN", - "пробежать_VERB_холодок_NOUN", - "пробежаться_VERB_по_ADP", - "пробивать_VERB_себя_PRON", - "пробиваться_VERB_свет_NOUN", - "пробиваться_VERB_сквозь_ADP", - "пробиваться_VERB_через_ADP", - "пробираться_VERB_вдоль_ADP", - "пробираться_VERB_вперёд_ADV", - "пробираться_VERB_между_ADP", - "пробираться_VERB_сквозь_ADP", - "пробираться_VERB_среди_ADP", - "пробираться_VERB_через_ADP", - "пробить_VERB_брешь_NOUN", - "пробить_VERB_восемь_NUM", - "пробить_VERB_двенадцать_NUM", - "пробить_VERB_девять_NUM", - "пробить_VERB_десять_NUM", - "пробить_VERB_одиннадцать_NUM", - "пробить_VERB_полночь_NOUN", - "пробить_VERB_половина_NOUN", - "пробить_VERB_пуля_NOUN", - "пробиться_VERB_сквозь_ADP", - "пробковый_ADJ_шлем_NOUN", - "пробормотать_VERB_вадька_PROPN", - "пробормотать_VERB_мурка_PROPN", - "пробормотать_VERB_сева_PROPN", - "пробраться_VERB_сквозь_ADP", - "пробыть_VERB_здесь_ADV", - "провалиться_VERB_сквозь_ADP", - "проверка_NOUN_орфография_NOUN", - "проверять_VERB_документ_NOUN", - "проверять_VERB_тетрадь_NOUN", - "провести_VERB_ладонь_NOUN", - "провести_VERB_операция_NOUN", - "провести_VERB_остаток_NOUN", - "провести_VERB_рукою_NOUN", - "провиниться_VERB_перед_ADP", - "провинциальный_ADJ_городок_NOUN", - "провожать_VERB_взгляд_NOUN", - "провозить_VERB_вас_PRON", - "провозить_VERB_тебя_PRON", - "проволочный_ADJ_заграждение_NOUN", - "проволочный_ADJ_сетка_NOUN", - "проворно_ADV_вскочить_VERB", - "проворчать_VERB_дима_PROPN", - "проворчать_VERB_темыч_PROPN", - "проворчать_VERB_тёма_PROPN", - "прогибаться_VERB_под_ADP", - "проглотить_VERB_кусок_NOUN", - "проглотить_VERB_слюна_NOUN", - "прогноз_NOUN_погода_NOUN", - "прогреметь_VERB_выстрел_NOUN", - "прогуливаться_VERB_по_ADP", - "продавать_VERB_билет_NOUN", - "продвигаться_VERB_вперёд_ADV", - "продвигаться_VERB_медленно_ADV", - "продвинуться_VERB_вперёд_ADV", - "продираться_VERB_сквозь_ADP", - "продираться_VERB_через_ADP", - "продовольственный_ADJ_магазин_NOUN", - "продолжать_VERB_возмущаться_VERB", - "продолжать_VERB_ворчать_VERB", - "продолжать_VERB_допрашивать_VERB", - "продолжать_VERB_допытываться_VERB", - "продолжать_VERB_настаивать_VERB", - "продолжать_VERB_прерванный_ADJ", - "продолжать_VERB_развивать_VERB", - "продолжать_VERB_размышлять_VERB", - "продолжаться_VERB_всего_PART", - "продолжаться_VERB_недолго_ADV", - "продолжаться_VERB_около_ADP", - "продолжение_NOUN_долгий_ADJ", - "продолжение_NOUN_многих_NUM", - "продолжение_NOUN_несколько_NUM", - "продолжение_NOUN_целый_ADJ", - "продолжительный_ADJ_отсутствие_NOUN", - "продолжительный_ADJ_путешествие_NOUN", - "продолжительный_ADJ_разговор_NOUN", - "продолжить_VERB_поиск_NOUN", - "продолжить_VERB_путь_NOUN", - "продолжить_VERB_разговор_NOUN", - "продолжить_VERB_рассказ_NOUN", - "продраться_VERB_сквозь_ADP", - "продукт_NOUN_питание_NOUN", - "продуктовый_ADJ_магазин_NOUN", - "проезжать_VERB_машина_NOUN", - "проезжать_VERB_мимо_ADP", - "проезжать_VERB_мимо_ADV", - "проезжий_ADJ_дорога_NOUN", - "проезжий_ADJ_часть_NOUN", - "проехать_VERB_мимо_ADP", - "проехать_VERB_мимо_ADV", - "проехаться_VERB_по_ADP", - "прозвенеть_VERB_звонок_NOUN", - "прозвучать_VERB_выстрел_NOUN", - "прозвучать_VERB_звонок_NOUN", - "прозрачный_ADJ_жидкость_NOUN", - "прозрачный_ADJ_крыло_NOUN", - "прозрачный_ADJ_стекло_NOUN", - "произведение_NOUN_искусство_NOUN", - "произвести_VERB_впечатление_NOUN", - "произвести_VERB_нападение_NOUN", - "произвести_VERB_обыск_NOUN", - "произвести_VERB_разведка_NOUN", - "произвести_VERB_сильный_ADJ", - "производить_VERB_впечатление_NOUN", - "производить_VERB_шум_NOUN", - "произвол_NOUN_судьба_NOUN", - "произнести_VERB_вадик_PROPN", - "произнести_VERB_вслух_ADV", - "произнести_VERB_заклинание_NOUN", - "произнеся_VERB_этот_DET", - "произносить_VERB_речь_NOUN", - "произносить_VERB_слово_NOUN", - "произнося_VERB_этот_DET", - "произойти_VERB_взрыв_NOUN", - "произойти_VERB_катастрофа_NOUN", - "произойти_VERB_нечто_PRON", - "произойти_VERB_перемена_NOUN", - "произойти_VERB_событие_NOUN", - "произойти_VERB_столкновение_NOUN", - "произойти_VERB_чудо_NOUN", - "происходить_VERB_вокруг_ADV", - "происходить_VERB_нечто_PRON", - "происходить_VERB_оттого_ADV", - "пройти_VERB_бесследно_ADV", - "пройти_VERB_благополучно_ADV", - "пройти_VERB_мимо_ADP", - "пройти_VERB_мимо_ADV", - "пройти_VERB_незамеченный_ADJ", - "пройти_VERB_немало_ADV", - "пройти_VERB_с_ADV", - "пройти_VERB_удачно_ADV", - "пройти_VERB_успешно_ADV", - "пройтись_VERB_вдоль_ADP", - "пройтись_VERB_взад_ADV", - "пройтись_VERB_по_ADP", - "прокладывать_VERB_дорога_NOUN", - "прокладывать_VERB_путь_NOUN", - "прокладывать_VERB_себя_PRON", - "проклинать_VERB_себя_PRON", - "прокофий_PROPN_семёнович_PROPN", - "пролезть_VERB_сквозь_ADP", - "пролезть_VERB_через_ADP", - "пролетать_VERB_мимо_ADP", - "пролетать_VERB_мимо_ADV", - "пролетать_VERB_над_ADP", - "пролететь_VERB_мимо_ADP", - "пролететь_VERB_мимо_ADV", - "пролететь_VERB_над_ADP", - "пролететь_VERB_незаметно_ADV", - "пролететь_VERB_сквозь_ADP", - "проливать_VERB_горький_ADJ", - "проливать_VERB_кровь_NOUN", - "проливать_VERB_слеза_NOUN", - "проливной_ADJ_дождь_NOUN", - "проливный_ADJ_дождь_NOUN", - "пролить_VERB_кровь_NOUN", - "пролить_VERB_свет_NOUN", - "пролить_VERB_слеза_NOUN", - "проложить_VERB_дорога_NOUN", - "промеж_ADV_себя_PRON", - "промеж_VERB_себя_PRON", - "промежутках_NOUN_между_ADP", - "промежуток_NOUN_время_NOUN", - "промежуток_NOUN_между_ADP", - "промелькнуть_VERB_мысль_NOUN", - "промокнуть_VERB_до_ADP", - "промокнуть_VERB_насквозь_ADV", - "промочить_VERB_нога_NOUN", - "промчаться_VERB_мимо_ADP", - "промчаться_VERB_мимо_ADV", - "промыть_VERB_рана_NOUN", - "промышленный_ADJ_предприятие_NOUN", - "пронестись_VERB_мимо_ADP", - "пронестись_VERB_мимо_ADV", - "пронестись_VERB_над_ADP", - "пронзительно_ADV_вскрикнуть_VERB", - "пронзительно_ADV_завизжать_VERB", - "пронзительно_ADV_закричать_VERB", - "пронзительно_ADV_крикнуть_VERB", - "пронзительно_ADV_кричать_VERB", - "пронзительно_ADV_свистеть_VERB", - "пронзительно_ADV_свистнуть_VERB", - "пронзительный_ADJ_взгляд_NOUN", - "пронзительный_ADJ_визг_NOUN", - "пронзительный_ADJ_вопль_NOUN", - "пронзительный_ADJ_голос_NOUN", - "пронзительный_ADJ_звук_NOUN", - "пронзительный_ADJ_крик_NOUN", - "пронзительный_ADJ_свист_NOUN", - "пронзительный_ADJ_свисток_NOUN", - "пронзить_VERB_стрела_NOUN", - "пронизывать_VERB_ветер_NOUN", - "пронизывать_VERB_взгляд_NOUN", - "пронизывать_VERB_насквозь_ADV", - "проникать_VERB_сквозь_ADP", - "проникнуть_VERB_внутрь_ADP", - "проникнуть_VERB_внутрь_ADV", - "проникнуть_VERB_сквозь_ADP", - "проникнуть_VERB_туда_ADV", - "проницательный_ADJ_взгляд_NOUN", - "проницательный_ADJ_взор_NOUN", - "проницательный_ADJ_глаз_NOUN", - "проноситься_VERB_мимо_ADP", - "проноситься_VERB_мимо_ADV", - "проноситься_VERB_над_ADP", - "проныра_PROPN_лу_PROPN", - "пропадать_VERB_дар_NOUN", - "пропасть_VERB_бесследно_ADV", - "пропасть_VERB_дар_NOUN", - "пропитать_VERB_запах_NOUN", - "проплывать_VERB_мимо_ADP", - "проплывать_VERB_мимо_ADV", - "проплыть_VERB_мимо_ADP", - "проплыть_VERB_мимо_ADV", - "пропускать_VERB_вперёд_ADV", - "пропускать_VERB_занятие_NOUN", - "пропускать_VERB_мимо_ADP", - "пропускать_VERB_ни_PART", - "пропустить_VERB_вперёд_ADV", - "пропустить_VERB_мимо_ADP", - "прорвать_VERB_плотина_NOUN", - "прорваться_VERB_сквозь_ADP", - "прорваться_VERB_через_ADP", - "прорезать_VERB_воздух_NOUN", - "прорезь_NOUN_для_ADP", - "проронить_VERB_ни_CCONJ", - "проронить_VERB_ни_PART", - "прорываться_VERB_сквозь_ADP", - "просачиваться_VERB_сквозь_ADP", - "просвет_NOUN_между_ADP", - "просвечивать_VERB_сквозь_ADP", - "просидеть_VERB_дома_ADV", - "просить_VERB_вас_PRON", - "просить_VERB_извинение_NOUN", - "просить_VERB_извинить_VERB", - "просить_VERB_милостыня_NOUN", - "просить_VERB_передать_VERB", - "просить_VERB_пожаловать_VERB", - "просить_VERB_позволение_NOUN", - "просить_VERB_пощада_NOUN", - "просить_VERB_пощады_NOUN", - "просить_VERB_прощение_NOUN", - "просить_VERB_разрешение_NOUN", - "проскользнуть_VERB_между_ADP", - "проскользнуть_VERB_мимо_ADP", - "проскочить_VERB_мимо_ADP", - "проскочить_VERB_мимо_ADV", - "проследить_VERB_за_ADP", - "проследить_VERB_куда_ADV", - "прослышать_VERB_о_ADP", - "проснуться_VERB_оттого_ADV", - "проснуться_VERB_рано_ADV", - "просовывать_VERB_голова_NOUN", - "проспект_NOUN_мир_PROPN", - "простенок_NOUN_между_ADP", - "простереть_VERB_рука_NOUN", - "простирать_VERB_рука_NOUN", - "простить_VERB_великодушно_ADV", - "простить_VERB_господи_PROPN", - "простить_VERB_господи_VERB", - "простить_VERB_пожалуйста_ADV", - "проститься_VERB_со_ADP", - "просто_PART_жуть_NOUN", - "просто_PART_напросто_PART", - "просто_PART_невыносимый_ADJ", - "просто_PART_обалдеть_VERB", - "просто_PART_обожать_VERB", - "просто_PART_обязанный_ADJ", - "просто_PART_обязать_VERB", - "просто_PART_прелесть_NOUN", - "просто_PART_супер_ADV", - "простодушно_ADV_ответить_VERB", - "простой_ADJ_вещь_NOUN", - "простой_ADJ_истина_NOUN", - "простой_ADJ_крестьянский_ADJ", - "простой_ADJ_пареный_ADJ", - "простой_ADJ_случайность_NOUN", - "простой_ADJ_смертный_ADJ", - "простой_ADJ_совпадение_NOUN", - "простой_ADJ_способ_NOUN", - "простой_ADV_говорить_VERB", - "просторный_ADJ_зал_NOUN", - "просторный_ADJ_комната_NOUN", - "просторный_ADJ_помещение_NOUN", - "просторный_ADJ_светлый_ADJ", - "пространство_NOUN_между_ADP", - "простуженным_ADJ_голос_NOUN", - "просунуть_VERB_голова_NOUN", - "просунуть_VERB_рука_NOUN", - "просунуться_VERB_голова_NOUN", - "просёлочный_ADJ_дорога_NOUN", - "протекать_VERB_река_NOUN", - "протекать_VERB_ручей_NOUN", - "протереть_VERB_глаз_NOUN", - "протереть_VERB_очки_NOUN", - "протест_NOUN_против_ADP", - "протестовать_VERB_против_ADP", - "против_ADP_ветер_NOUN", - "против_ADP_воля_NOUN", - "против_ADP_обыкновение_NOUN", - "против_ADP_ожидание_NOUN", - "против_ADP_советский_ADJ", - "против_ADP_течение_NOUN", - "против_ADP_часовой_ADJ", - "противный_ADJ_запах_NOUN", - "противный_ADJ_случай_NOUN", - "противоположный_ADJ_берег_NOUN", - "противоположный_ADJ_конец_NOUN", - "противоположный_ADJ_край_NOUN", - "противоположный_ADJ_направление_NOUN", - "противоположный_ADJ_пол_NOUN", - "противоположный_ADJ_склон_NOUN", - "противоположный_ADJ_стена_NOUN", - "противоположный_ADJ_стенка_NOUN", - "противоположный_ADJ_сторона_NOUN", - "противоположный_ADJ_тротуар_NOUN", - "противоположный_ADJ_угол_NOUN", - "противоречивый_ADJ_чувство_NOUN", - "противотанковый_ADJ_ров_NOUN", - "протирать_VERB_глаз_NOUN", - "протирать_VERB_очки_NOUN", - "протирать_VERB_стекло_NOUN", - "протискиваться_VERB_между_ADP", - "протискиваться_VERB_сквозь_ADP", - "протиснуться_VERB_вперёд_ADV", - "протиснуться_VERB_между_ADP", - "протиснуться_VERB_сквозь_ADP", - "протокол_NOUN_допрос_NOUN", - "проточный_ADJ_вода_NOUN", - "протягивать_VERB_рука_NOUN", - "протяжение_NOUN_многих_NUM", - "протяжение_NOUN_несколько_NUM", - "протяжно_ADV_вздохнуть_VERB", - "протяжно_ADV_свистнуть_VERB", - "протяжный_ADJ_вой_NOUN", - "протяжный_ADJ_звук_NOUN", - "протяжный_ADJ_стон_NOUN", - "протянутую_ADJ_рука_NOUN", - "протянуть_VERB_рука_NOUN", - "профессор_NOUN_баринов_PROPN", - "профессор_NOUN_вагнер_PROPN", - "профессор_NOUN_доуэля_PROPN", - "профессор_NOUN_звездочкин_PROPN", - "профессор_NOUN_керн_PROPN", - "профессор_NOUN_портер_PROPN", - "профессор_NOUN_селезнёв_PROPN", - "профессор_NOUN_сёмин_PROPN", - "профессор_NOUN_чайников_PROPN", - "прохаживаться_VERB_взад_ADV", - "прохаживаться_VERB_по_ADP", - "прохладительный_ADJ_напиток_NOUN", - "прохладный_ADJ_ветерок_NOUN", - "прохладный_ADJ_вода_NOUN", - "прохладный_ADJ_воздух_NOUN", - "прохладный_ADJ_тень_NOUN", - "проход_NOUN_между_ADP", - "проходить_VERB_мимо_ADP", - "проходить_VERB_мимо_ADV", - "проходить_VERB_сквозь_ADP", - "проходной_ADJ_будка_NOUN", - "проходной_ADJ_двор_NOUN", - "прохожий_NOUN_останавливаться_VERB", - "процедить_VERB_сквозь_ADP", - "прочесть_VERB_вслух_ADV", - "прочесть_VERB_записка_NOUN", - "прочесть_VERB_молитва_NOUN", - "прочесть_VERB_надпись_NOUN", - "прочесть_VERB_письмо_NOUN", - "прочитать_VERB_вслух_ADV", - "прочитать_VERB_записка_NOUN", - "прочитать_VERB_надпись_NOUN", - "прочитать_VERB_письмо_NOUN", - "прочитать_VERB_стих_NOUN", - "прочь_ADV_отсюда_ADV", - "прочь_ADV_прочь_ADV", - "прошептать_VERB_лешка_PROPN", - "прошептать_VERB_мотька_PROPN", - "прошлогодний_ADJ_лист_NOUN", - "прошлогодний_ADJ_снег_NOUN", - "прошлогодний_ADJ_трава_NOUN", - "прошлый_ADJ_век_NOUN", - "прошлый_ADJ_весна_NOUN", - "прошлый_ADJ_воскресение_NOUN", - "прошлый_ADJ_год_NOUN", - "прошлый_ADJ_зима_NOUN", - "прошлый_ADJ_лето_NOUN", - "прошлый_ADJ_месяц_NOUN", - "прошлый_ADJ_неделя_NOUN", - "прошлый_ADJ_ночь_NOUN", - "прошлый_ADJ_осень_NOUN", - "прошлый_ADJ_раз_NOUN", - "прошлый_ADJ_столетие_NOUN", - "прошмыгнуть_VERB_мимо_ADP", - "прощальный_ADJ_взгляд_NOUN", - "прощальный_ADJ_привет_NOUN", - "прощать_VERB_прощать_VERB", - "прощение_NOUN_просить_VERB", - "проявить_VERB_инициатива_NOUN", - "проявить_VERB_интерес_NOUN", - "проявлять_VERB_интерес_NOUN", - "проявлять_VERB_никакой_DET", - "проявлять_VERB_признак_NOUN", - "проём_NOUN_дверь_NOUN", - "пруд_NOUN_пруди_ADJ", - "прусский_ADJ_король_NOUN", - "прутья_NOUN_решётка_NOUN", - "прыгать_VERB_вокруг_ADP", - "прыгать_VERB_через_ADP", - "прыгнуть_VERB_вниз_ADV", - "прыгнуть_VERB_вперёд_ADV", - "прыжок_NOUN_очутиться_VERB", - "прыснуть_VERB_со_ADP", - "прядка_NOUN_волос_NOUN", - "прядь_NOUN_волос_NOUN", - "прямиком_ADV_через_ADP", - "прямо_ADV_напротив_ADP", - "прямо_ADV_перед_ADP", - "прямо_ADV_посреди_ADP", - "прямо_ADV_таки_PART", - "прямой_ADJ_линия_NOUN", - "прямой_ADJ_луч_NOUN", - "прямой_ADJ_наводка_NOUN", - "прямой_ADJ_обязанность_NOUN", - "прямой_ADJ_ответ_NOUN", - "прямой_ADJ_отношение_NOUN", - "прямой_ADJ_парус_NOUN", - "прямой_ADJ_попадание_NOUN", - "прямой_ADJ_пробор_NOUN", - "прямой_ADJ_путь_NOUN", - "прямой_ADJ_связь_NOUN", - "прямой_ADJ_смысл_NOUN", - "прямой_ADJ_угол_NOUN", - "пряный_ADJ_аромат_NOUN", - "пряный_ADJ_запах_NOUN", - "прятать_VERB_улыбка_NOUN", - "прятки_NOUN_играть_VERB", - "прячась_VERB_за_ADP", - "психо_NOUN_машина_NOUN", - "птичий_ADJ_базар_NOUN", - "птичий_ADJ_гнездо_NOUN", - "птичий_ADJ_голос_NOUN", - "птичий_ADJ_гомон_NOUN", - "птичий_ADJ_двор_NOUN", - "птичий_ADJ_молоко_NOUN", - "птичий_ADJ_перо_NOUN", - "птичий_ADJ_полёт_NOUN", - "птичий_ADJ_рынок_NOUN", - "птичий_ADJ_язык_NOUN", - "птичий_ADJ_яйцо_NOUN", - "птичка_NOUN_божья_PROPN", - "птичка_NOUN_петь_VERB", - "птичка_NOUN_чересчур_PROPN", - "птичка_PROPN_божьей_PROPN", - "птичка_PROPN_божья_PROPN", - "пуант_PROPN_де_PART", - "публичный_ADJ_библиотека_NOUN", - "пугливо_ADV_озираться_VERB", - "пудель_NOUN_артемон_PROPN", - "пузырёк_NOUN_воздух_NOUN", - "пулемётный_ADJ_лента_NOUN", - "пулемётный_ADJ_огонь_NOUN", - "пулемётный_ADJ_очередь_NOUN", - "пульт_NOUN_управление_NOUN", - "пуля_NOUN_влететь_VERB", - "пуля_NOUN_вылететь_VERB", - "пуля_NOUN_выскочить_VERB", - "пуля_NOUN_попасть_VERB", - "пуля_NOUN_пробить_VERB", - "пуля_NOUN_пролететь_VERB", - "пуля_NOUN_просвистеть_VERB", - "пуля_NOUN_свистеть_VERB", - "пункт_NOUN_а_PROPN", - "пускать_VERB_дым_NOUN", - "пускать_VERB_пузырь_NOUN", - "пустить_VERB_корень_NOUN", - "пустить_VERB_стрела_NOUN", - "пуститься_VERB_бег_NOUN", - "пуститься_VERB_бежать_VERB", - "пуститься_VERB_вдогонку_ADV", - "пуститься_VERB_вплавь_ADV", - "пуститься_VERB_вскачь_ADV", - "пуститься_VERB_вслед_ADV", - "пуститься_VERB_догонять_VERB", - "пуститься_VERB_наутёк_ADV", - "пустой_ADJ_болтовня_NOUN", - "пустой_ADJ_бочка_NOUN", - "пустой_ADJ_бутылка_NOUN", - "пустой_ADJ_ведро_NOUN", - "пустой_ADJ_глазница_NOUN", - "пустой_ADJ_желудок_NOUN", - "пустой_ADJ_квартира_NOUN", - "пустой_ADJ_консервный_ADJ", - "пустой_ADJ_коробка_NOUN", - "пустой_ADJ_пространство_NOUN", - "пустой_ADJ_рукав_NOUN", - "пустой_ADJ_стакан_NOUN", - "пустой_ADJ_тарелка_NOUN", - "пустой_ADJ_трата_NOUN", - "пустой_ADJ_чашка_NOUN", - "пустынный_ADJ_берег_NOUN", - "пустынный_ADJ_местность_NOUN", - "пустынный_ADJ_остров_NOUN", - "пустынный_ADJ_равнина_NOUN", - "пустынный_ADJ_улица_NOUN", - "пустыня_NOUN_сахара_PROPN", - "путаться_VERB_под_ADP", - "путеводный_ADJ_звезда_NOUN", - "путеводный_ADJ_нить_NOUN", - "путешествие_NOUN_продолжаться_VERB", - "путешествовать_VERB_по_ADP", - "путь_NOUN_отступление_NOUN", - "путь_NOUN_следование_NOUN", - "пухлый_ADJ_губа_NOUN", - "пухлый_ADJ_палец_NOUN", - "пухлый_ADJ_ручка_NOUN", - "пухлый_ADJ_щека_NOUN", - "пуховый_ADJ_платок_NOUN", - "пуховый_ADJ_подушка_NOUN", - "пучок_NOUN_волос_NOUN", - "пучок_NOUN_солома_NOUN", - "пучок_NOUN_сухой_ADJ", - "пучок_NOUN_трава_NOUN", - "пушечный_ADJ_выстрел_NOUN", - "пушечный_ADJ_клуб_NOUN", - "пушечный_ADJ_пальба_NOUN", - "пушечный_ADJ_ядро_NOUN", - "пушистый_ADJ_волос_NOUN", - "пушистый_ADJ_ковёр_NOUN", - "пушистый_ADJ_ресница_NOUN", - "пушистый_ADJ_снег_NOUN", - "пушистый_ADJ_ус_NOUN", - "пушистый_ADJ_хвост_NOUN", - "пушистый_ADJ_шерсть_NOUN", - "пушка_NOUN_стрелять_VERB", - "пуще_NOUN_всего_PRON", - "пуще_NOUN_прежний_ADJ", - "пчелиный_ADJ_рой_NOUN", - "пчелиный_ADJ_улей_NOUN", - "пшеничный_ADJ_мука_NOUN", - "пшеничный_ADJ_поле_NOUN", - "пшеничный_ADJ_хлеб_NOUN", - "пшённый_ADJ_каша_NOUN", - "пылать_VERB_гневом_NOUN", - "пылать_VERB_костёр_NOUN", - "пылать_VERB_огонь_NOUN", - "пылать_VERB_щека_NOUN", - "пылать_VERB_щеками_NOUN", - "пылкий_ADJ_воображение_NOUN", - "пылко_ADV_воскликнуть_VERB", - "пыль_NOUN_столб_NOUN", - "пыльный_ADJ_дорога_NOUN", - "пытаться_VERB_вырваться_VERB", - "пытаться_VERB_выяснить_VERB", - "пытаться_VERB_доказать_VERB", - "пытаться_VERB_дотянуться_VERB", - "пытаться_VERB_оправдаться_VERB", - "пытаться_VERB_определить_VERB", - "пытаться_VERB_освободиться_VERB", - "пытаться_VERB_представить_VERB", - "пытаться_VERB_проникнуть_VERB", - "пытаться_VERB_разгадать_VERB", - "пытаться_VERB_разглядеть_VERB", - "пытаться_VERB_разобраться_VERB", - "пытаться_VERB_рассмотреть_VERB", - "пытаться_VERB_скрыть_VERB", - "пытаться_VERB_сообразить_VERB", - "пытаться_VERB_сопротивляться_VERB", - "пытаться_VERB_спастись_VERB", - "пытаться_VERB_убедить_VERB", - "пытаться_VERB_угадать_VERB", - "пытаться_VERB_уговорить_VERB", - "пытаться_VERB_удержать_VERB", - "пытаться_VERB_успокоить_VERB", - "пытаться_VERB_утешить_VERB", - "пытливый_ADJ_взгляд_NOUN", - "пытливый_ADJ_взор_NOUN", - "пытливый_ADJ_ум_NOUN", - "пытливый_ADV_вглядываться_VERB", - "пытливый_ADV_взглянуть_VERB", - "пытливый_ADV_всматриваться_VERB", - "пытливый_ADV_глядеть_VERB", - "пытливый_ADV_посмотреть_VERB", - "пытливый_ADV_смотреть_VERB", - "пыхать_VERB_жар_NOUN", - "пышный_ADJ_волос_NOUN", - "пышный_ADJ_платье_NOUN", - "пышный_ADJ_причёска_NOUN", - "пышный_ADJ_ус_NOUN", - "пышный_ADJ_хвост_NOUN", - "пышный_ADJ_шевелюра_NOUN", - "пьер_PROPN_гри_PROPN", - "пьер_PROPN_де_PART", - "пьер_PROPN_легран_PROPN", - "пьер_PROPN_лорио_PROPN", - "пялить_VERB_глаз_NOUN", - "пятеро_NUM_друг_NOUN", - "пятеро_NUM_ребят_NOUN", - "пятидесятый_ADJ_год_NOUN", - "пятилетний_ADJ_ребёнок_NOUN", - "пятиться_VERB_зад_NOUN", - "пятиться_VERB_назад_ADV", - "пятиэтажный_ADJ_дом_NOUN", - "пятнадцатый_ADJ_век_NOUN", - "пятнадцатый_ADJ_год_NOUN", - "пятнадцать_NUM_год_NOUN", - "пятнадцать_NUM_двадцать_NUM", - "пятнадцать_NUM_километр_NOUN", - "пятнадцать_NUM_копейка_NOUN", - "пятнадцать_NUM_метр_NOUN", - "пятнадцать_NUM_миля_NOUN", - "пятнадцать_NUM_минута_NOUN", - "пятнадцать_NUM_рубль_NOUN", - "пятнадцать_NUM_суток_NOUN", - "пятнадцать_NUM_тысяча_NOUN", - "пятнадцать_NUM_фут_NOUN", - "пятнадцать_NUM_шестнадцать_NUM", - "пятнадцать_VERB_год_NOUN", - "пятнистый_ADJ_ягуар_NOUN", - "пятница_NOUN_вечер_NOUN", - "пятно_NOUN_кровь_NOUN", - "пятый_ADJ_а_NOUN", - "пятый_ADJ_авеню_NOUN", - "пятый_ADJ_б_NOUN", - "пятый_ADJ_класс_NOUN", - "пятый_ADJ_отряд_NOUN", - "пятый_ADJ_разряд_NOUN", - "пятый_ADJ_сутки_NOUN", - "пятый_ADJ_урок_NOUN", - "пятый_ADJ_этаж_NOUN", - "пять_NUM_верста_NOUN", - "пять_NUM_год_NOUN", - "пять_NUM_градус_NOUN", - "пять_NUM_доллар_NOUN", - "пять_NUM_килограмм_NOUN", - "пять_NUM_километр_NOUN", - "пять_NUM_копейка_NOUN", - "пять_NUM_метр_NOUN", - "пять_NUM_миллион_NOUN", - "пять_NUM_миля_NOUN", - "пять_NUM_минута_NOUN", - "пять_NUM_процент_NOUN", - "пять_NUM_рубль_NOUN", - "пять_NUM_сантиметр_NOUN", - "пять_NUM_суток_NOUN", - "пять_NUM_тысяча_NOUN", - "пять_NUM_франк_NOUN", - "пять_NUM_фунт_NOUN", - "пять_NUM_фут_NOUN", - "пять_NUM_шесть_NUM", - "пять_NUM_шиллинг_NOUN", - "пять_NUM_штука_NOUN", - "пятьдесят_NUM_восемь_NUM", - "пятьдесят_NUM_год_NOUN", - "пятьдесят_NUM_градус_NOUN", - "пятьдесят_NUM_доллар_NOUN", - "пятьдесят_NUM_километр_NOUN", - "пятьдесят_NUM_копейка_NOUN", - "пятьдесят_NUM_метр_NOUN", - "пятьдесят_NUM_миля_NOUN", - "пятьдесят_NUM_процент_NOUN", - "пятьдесят_NUM_пять_NUM", - "пятьдесят_NUM_рубль_NOUN", - "пятьдесят_NUM_семь_NUM", - "пятьдесят_NUM_тысяча_NOUN", - "пятьдесят_NUM_франк_NOUN", - "пятьдесят_NUM_фунт_NOUN", - "пятьдесят_NUM_фут_NOUN", - "пятьдесят_NUM_шесть_NUM", - "пятьдесят_NUM_шестьдесят_NUM", - "пятьдесят_NUM_ярд_NOUN", - "пятьсот_NUM_год_NOUN", - "пятьсот_NUM_доллар_NOUN", - "пятьсот_NUM_метр_NOUN", - "пятьсот_NUM_рубль_NOUN", - "пятьсот_NUM_тысяча_NOUN", - "пятьсот_NUM_франк_NOUN", - "пятьсот_NUM_фунт_NOUN", - "пёстрый_ADJ_бабочка_NOUN", - "пёстрый_ADJ_ковёр_NOUN", - "пёстрый_ADJ_костюм_NOUN", - "пёстрый_ADJ_платок_NOUN", - "пёстрый_ADJ_платье_NOUN", - "пёстрый_ADJ_толпа_NOUN", - "пётр_PROPN_i_ADJ", - "пётр_PROPN_iii_ADJ", - "пётр_PROPN_алексеевич_PROPN", - "пётр_PROPN_андреевич_PROPN", - "пётр_PROPN_афанасиевич_PROPN", - "пётр_PROPN_брониславович_PROPN", - "пётр_PROPN_василиевич_PROPN", - "пётр_PROPN_великий_PROPN", - "пётр_PROPN_викторович_PROPN", - "пётр_PROPN_владимирович_PROPN", - "пётр_PROPN_ганзен_PROPN", - "пётр_PROPN_григориевич_PROPN", - "пётр_PROPN_громов_PROPN", - "пётр_PROPN_захарович_PROPN", - "пётр_PROPN_иванович_PROPN", - "пётр_PROPN_ильич_PROPN", - "пётр_PROPN_леонидович_PROPN", - "пётр_PROPN_маркелович_PROPN", - "пётр_PROPN_матвеевич_PROPN", - "пётр_PROPN_михаилович_PROPN", - "пётр_PROPN_никифорович_PROPN", - "пётр_PROPN_николаевич_PROPN", - "пётр_PROPN_павлинов_PROPN", - "пётр_PROPN_первого_PROPN", - "пётр_PROPN_петрович_PROPN", - "пётр_PROPN_романович_PROPN", - "пётр_PROPN_семёнович_PROPN", - "пётр_PROPN_сергеевич_PROPN", - "пётр_PROPN_степанович_PROPN", - "пётр_PROPN_тихонович_PROPN", - "пётр_PROPN_трофимович_PROPN", - "пётр_PROPN_фотиевич_PROPN", - "пётр_PROPN_фёдорович_PROPN", - "підводний_ADJ_човен_NOUN", - "підводний_NOUN_човен_NOUN", - "підводного_ADJ_човна_ADJ", - "підводного_ADJ_човна_PROPN", - "р_NOUN_р_NOUN", - "р_NOUN_раз_NOUN", - "р_NOUN_ы_NOUN", - "р_PROPN_е_PROPN", - "р_PROPN_ь_PUNCT", - "раб_NOUN_божий_ADJ", - "работа_NOUN_закипеть_VERB", - "работать_VERB_веслами_NOUN", - "работать_VERB_исправно_ADV", - "работать_VERB_наравне_ADV", - "работник_NOUN_милиция_NOUN", - "работник_NOUN_орган_NOUN", - "рабочий_ADJ_день_NOUN", - "рабочий_ADJ_кабинет_NOUN", - "рабочий_ADJ_квартал_NOUN", - "рабочий_ADJ_класс_NOUN", - "рабочий_ADJ_комната_NOUN", - "рабочий_ADJ_костюм_NOUN", - "рабочий_ADJ_люд_NOUN", - "рабочий_ADJ_молодёжь_NOUN", - "рабочий_ADJ_одежда_NOUN", - "рабочий_ADJ_посёлок_NOUN", - "рабочий_ADJ_стол_NOUN", - "рабочий_ADJ_столик_NOUN", - "равнина_NOUN_покрыть_VERB", - "равно_ADV_как_SCONJ", - "равнодушно_ADV_ответить_VERB", - "равнодушно_ADV_относиться_VERB", - "равнодушно_ADV_пожать_VERB", - "равнодушный_ADJ_взгляд_NOUN", - "равнодушный_ADJ_вид_NOUN", - "равнодушный_ADJ_тон_NOUN", - "равный_ADJ_нуль_NOUN", - "равный_ADJ_промежуток_NOUN", - "рад_ADJ_познакомиться_VERB", - "ради_ADP_бог_NOUN", - "ради_ADP_бог_PROPN", - "ради_ADP_забава_NOUN", - "ради_ADP_которого_PRON", - "ради_ADP_развлечение_NOUN", - "ради_ADP_спасение_NOUN", - "ради_ADP_того_PRON", - "ради_ADP_христос_PROPN", - "радий_NOUN_дельта_NOUN", - "радоваться_VERB_тому_PRON", - "радостно_ADV_биться_VERB", - "радостно_ADV_взвизгнуть_VERB", - "радостно_ADV_воскликнуть_VERB", - "радостно_ADV_вскрикнуть_VERB", - "радостно_ADV_вскричать_VERB", - "радостно_ADV_забиться_VERB", - "радостно_ADV_завопить_VERB", - "радостно_ADV_закивал_VERB", - "радостно_ADV_закричать_VERB", - "радостно_ADV_засмеяться_VERB", - "радостно_ADV_захлопать_VERB", - "радостно_ADV_крикнуть_VERB", - "радостно_ADV_объявить_VERB", - "радостно_ADV_потирать_VERB", - "радостно_ADV_приветствовать_VERB", - "радостно_ADV_сообщить_VERB", - "радостно_ADV_улыбаться_VERB", - "радостно_ADV_улыбнуться_VERB", - "радостный_ADJ_весть_NOUN", - "радостный_ADJ_визг_NOUN", - "радостный_ADJ_возбуждение_NOUN", - "радостный_ADJ_возглас_NOUN", - "радостный_ADJ_волнение_NOUN", - "радостный_ADJ_вопль_NOUN", - "радостный_ADJ_восклицание_NOUN", - "радостный_ADJ_известие_NOUN", - "радостный_ADJ_изумление_NOUN", - "радостный_ADJ_крик_NOUN", - "радостный_ADJ_лаем_NOUN", - "радостный_ADJ_настроение_NOUN", - "радостный_ADJ_новость_NOUN", - "радостный_ADJ_ожидание_NOUN", - "радостный_ADJ_событие_NOUN", - "радостный_ADJ_улыбка_NOUN", - "радостный_ADJ_чувство_NOUN", - "радужный_ADJ_надежда_NOUN", - "радужный_ADJ_настроение_NOUN", - "радужный_ADJ_оболочка_NOUN", - "радушно_ADV_встретить_VERB", - "радушно_ADV_принять_VERB", - "радушный_ADJ_приём_NOUN", - "радушный_ADJ_хозяин_NOUN", - "раз_NOUN_два_NOUN", - "раз_NOUN_перечитать_VERB", - "раз_NOUN_перечитывать_VERB", - "раз_NOUN_плюнуть_VERB", - "раз_NOUN_подряд_ADV", - "раз_NOUN_превышать_VERB", - "раз_PROPN_два_NUM", - "раз_SCONJ_уж_PART", - "раза_PROPN_два_NUM", - "разбиваться_VERB_о_ADP", - "разбирать_VERB_дорога_NOUN", - "разбирать_VERB_любопытство_NOUN", - "разбить_VERB_вдребезги_ADV", - "разбить_VERB_зеркало_NOUN", - "разбить_VERB_лагерь_NOUN", - "разбить_VERB_наголову_PROPN", - "разбить_VERB_окно_NOUN", - "разбить_VERB_палатка_NOUN", - "разбить_VERB_паралич_NOUN", - "разбить_VERB_стекло_NOUN", - "разбить_VERB_чашка_NOUN", - "разбиться_VERB_вдребезги_ADV", - "разбиться_VERB_насмерть_ADV", - "разбойник_NOUN_лейхтвейса_PROPN", - "разбойничий_ADJ_шайка_NOUN", - "разболеться_VERB_голова_NOUN", - "разбрестись_VERB_по_ADP", - "разбросать_VERB_по_ADP", - "разве_PART_можно_ADV", - "развеваться_VERB_волос_NOUN", - "развеваться_VERB_флаг_NOUN", - "разведка_NOUN_бой_NOUN", - "разведя_VERB_рука_NOUN", - "развернуть_VERB_бумага_NOUN", - "развернуть_VERB_бумажка_NOUN", - "развернуть_VERB_газета_NOUN", - "развернуть_VERB_записка_NOUN", - "развернуть_VERB_карта_NOUN", - "развернуть_VERB_лист_NOUN", - "развернуть_VERB_листок_NOUN", - "развернуть_VERB_пакет_NOUN", - "развернуть_VERB_свёрток_NOUN", - "развесистый_ADJ_дерево_NOUN", - "развесить_VERB_ухо_NOUN", - "развести_VERB_костёр_NOUN", - "развести_VERB_огонь_NOUN", - "развести_VERB_рука_NOUN", - "развивать_VERB_скорость_NOUN", - "развитие_NOUN_событие_NOUN", - "разводить_VERB_костёр_NOUN", - "разводить_VERB_огонь_NOUN", - "разводить_VERB_рука_NOUN", - "развязать_VERB_верёвка_NOUN", - "развязать_VERB_мешок_NOUN", - "развязать_VERB_узел_NOUN", - "развязать_VERB_язык_NOUN", - "развёл_NOUN_рука_NOUN", - "развёртываться_VERB_перед_ADP", - "разгадать_VERB_загадка_NOUN", - "разгадать_VERB_тайна_NOUN", - "разгадка_NOUN_тайна_NOUN", - "разгибать_VERB_спина_NOUN", - "разговаривать_VERB_вполголоса_ADV", - "разговор_NOUN_вестись_VERB", - "разговор_NOUN_оборваться_VERB", - "разговор_NOUN_окончить_VERB", - "разговор_NOUN_прекратиться_VERB", - "разгораться_VERB_все_PART", - "разгореться_VERB_спор_NOUN", - "разгоряченное_ADJ_лицо_NOUN", - "разгуливать_VERB_по_ADP", - "раздаваться_VERB_выстрел_NOUN", - "раздаваться_VERB_голос_NOUN", - "раздаваться_VERB_громкий_ADJ", - "раздаваться_VERB_звонок_NOUN", - "раздаваться_VERB_звук_NOUN", - "раздаваться_VERB_крик_NOUN", - "раздаться_VERB_взрыв_NOUN", - "раздаться_VERB_возглас_NOUN", - "раздаться_VERB_выстрел_NOUN", - "раздаться_VERB_глухой_ADJ", - "раздаться_VERB_голос_NOUN", - "раздаться_VERB_громкий_ADJ", - "раздаться_VERB_громовой_ADJ", - "раздаться_VERB_грохот_NOUN", - "раздаться_VERB_гудок_NOUN", - "раздаться_VERB_дружный_ADJ", - "раздаться_VERB_жалобный_ADJ", - "раздаться_VERB_залп_NOUN", - "раздаться_VERB_звон_NOUN", - "раздаться_VERB_звонкий_ADJ", - "раздаться_VERB_звонок_NOUN", - "раздаться_VERB_звук_NOUN", - "раздаться_VERB_знакомый_ADJ", - "раздаться_VERB_команда_NOUN", - "раздаться_VERB_крик_NOUN", - "раздаться_VERB_насмешливый_ADJ", - "раздаться_VERB_негромкий_ADJ", - "раздаться_VERB_оглушительный_ADJ", - "раздаться_VERB_отчаянный_ADJ", - "раздаться_VERB_пронзительный_ADJ", - "раздаться_VERB_протяжный_ADJ", - "раздаться_VERB_пушечный_ADJ", - "раздаться_VERB_резкий_ADJ", - "раздаться_VERB_свист_NOUN", - "раздаться_VERB_свисток_NOUN", - "раздаться_VERB_смех_NOUN", - "раздаться_VERB_стук_NOUN", - "раздаться_VERB_телефонный_ADJ", - "раздаться_VERB_топот_NOUN", - "раздаться_VERB_треск_NOUN", - "раздаться_VERB_хриплый_ADJ", - "раздаться_VERB_чей_DET", - "раздаться_VERB_шорох_NOUN", - "раздаться_VERB_щелчок_NOUN", - "раздвигать_VERB_куст_NOUN", - "раздвинуть_VERB_ветвь_NOUN", - "раздвинуть_VERB_ветка_NOUN", - "раздвинуть_VERB_куст_NOUN", - "разделение_NOUN_труд_NOUN", - "разделить_VERB_между_ADP", - "разделить_VERB_пополам_ADV", - "разделить_VERB_поровну_ADV", - "разделить_VERB_участь_NOUN", - "раздельно_ADV_произнести_VERB", - "разделять_VERB_мнение_NOUN", - "разделять_VERB_общий_ADJ", - "раздеться_VERB_лечь_VERB", - "раздирать_VERB_душа_NOUN", - "раздраженный_ADJ_голос_NOUN", - "раздражённо_ADV_ответить_VERB", - "раздробить_VERB_череп_NOUN", - "раздувать_VERB_ноздря_NOUN", - "раздувать_VERB_огонь_NOUN", - "раздумывать_VERB_над_ADP", - "раздуть_VERB_ноздря_NOUN", - "раздуть_VERB_огонь_NOUN", - "разевать_VERB_рот_NOUN", - "разжать_VERB_кулак_NOUN", - "разжать_VERB_ладонь_NOUN", - "разжать_VERB_палец_NOUN", - "разжать_VERB_рука_NOUN", - "разжечь_VERB_костёр_NOUN", - "разжечь_VERB_огонь_NOUN", - "разжигать_VERB_костёр_NOUN", - "разжимая_VERB_губа_NOUN", - "разинув_VERB_рот_NOUN", - "разинуть_VERB_пасть_NOUN", - "разинуть_VERB_рот_NOUN", - "разить_VERB_рука_PROPN", - "разлететься_VERB_вдребезги_ADV", - "разливать_VERB_чай_NOUN", - "разлиться_VERB_по_ADP", - "различать_VERB_предмет_NOUN", - "различие_NOUN_между_ADP", - "различный_ADJ_величина_NOUN", - "различный_ADJ_вид_NOUN", - "различный_ADJ_направление_NOUN", - "различный_ADJ_порода_NOUN", - "различный_ADJ_предмет_NOUN", - "различный_ADJ_род_NOUN", - "различный_ADJ_способ_NOUN", - "различный_ADJ_тип_NOUN", - "различный_ADJ_форма_NOUN", - "разложить_VERB_костёр_NOUN", - "разлучить_VERB_нас_PRON", - "размазать_VERB_по_ADP", - "размазывать_VERB_по_ADP", - "размазывать_VERB_слеза_NOUN", - "размах_NOUN_крыло_NOUN", - "размах_NOUN_ударить_VERB", - "размахивать_VERB_ею_PRON", - "размахивать_VERB_кулак_NOUN", - "размахивать_VERB_оружие_NOUN", - "размахивать_VERB_палка_NOUN", - "размахивать_VERB_портфель_NOUN", - "размахивать_VERB_рука_NOUN", - "размашистый_ADJ_шаг_NOUN", - "размеренный_ADJ_шаг_NOUN", - "размозжить_VERB_голова_NOUN", - "размозжить_VERB_ему_PRON", - "размыть_VERB_дождь_NOUN", - "размышление_NOUN_прервать_VERB", - "размышлять_VERB_вслух_ADV", - "размышлять_VERB_над_ADP", - "размышлять_VERB_о_ADP", - "размять_VERB_нога_NOUN", - "разнесся_NOUN_по_ADP", - "разнесся_VERB_слух_NOUN", - "разнестись_VERB_весть_NOUN", - "разнестись_VERB_по_ADP", - "разница_NOUN_между_ADP", - "разноситься_VERB_далеко_ADV", - "разноситься_VERB_по_ADP", - "разноцветный_ADJ_огонь_NOUN", - "разноцветный_ADJ_огонёк_NOUN", - "разноцветный_ADJ_пятно_NOUN", - "разноцветный_ADJ_стекло_NOUN", - "разноцветный_ADJ_флаг_NOUN", - "разный_ADJ_вариант_NOUN", - "разный_ADJ_величина_NOUN", - "разный_ADJ_вещь_NOUN", - "разный_ADJ_возраст_NOUN", - "разный_ADJ_длина_NOUN", - "разный_ADJ_лады_NOUN", - "разный_ADJ_мелочь_NOUN", - "разный_ADJ_направление_NOUN", - "разный_ADJ_оттенок_NOUN", - "разный_ADJ_порода_NOUN", - "разный_ADJ_предлог_NOUN", - "разный_ADJ_размер_NOUN", - "разный_ADJ_разность_NOUN", - "разный_ADJ_род_NOUN", - "разный_ADJ_сорт_NOUN", - "разный_ADJ_способ_NOUN", - "разный_ADJ_сторона_NOUN", - "разный_ADJ_страна_NOUN", - "разный_ADJ_хлам_NOUN", - "разный_ADJ_цвет_NOUN", - "разок_VERB_другой_ADJ", - "разомлеть_VERB_от_ADP", - "разорвать_VERB_конверт_NOUN", - "разочарованно_ADV_вздохнуть_VERB", - "разочарованно_ADV_произнести_VERB", - "разочарованно_ADV_протянуть_VERB", - "разрабатывать_VERB_план_NOUN", - "разработать_VERB_план_NOUN", - "разразиться_VERB_буря_NOUN", - "разразиться_VERB_гроза_NOUN", - "разразиться_VERB_громкий_ADJ", - "разразиться_VERB_смех_NOUN", - "разразиться_VERB_страшный_ADJ", - "разразиться_VERB_хохот_NOUN", - "разрезать_VERB_верёвка_NOUN", - "разрезать_VERB_пополам_ADV", - "разрешить_VERB_доложить_VERB", - "разрушительный_ADJ_работа_NOUN", - "разрушительный_ADJ_сила_NOUN", - "разрыв_NOUN_сердце_NOUN", - "разрыв_NOUN_снаряд_NOUN", - "разрывный_ADJ_пуля_NOUN", - "разрыть_VERB_могила_NOUN", - "разрядить_VERB_обстановка_NOUN", - "разумный_ADJ_совет_NOUN", - "разумный_ADJ_существо_NOUN", - "разъезжать_VERB_по_ADP", - "разъярить_VERB_зверь_NOUN", - "разъярённый_ADJ_толпа_NOUN", - "разыгрывать_VERB_роль_NOUN", - "разящий_ADJ_рука_PROPN", - "раиса_PROPN_андреевич_PROPN", - "раиса_PROPN_нельчевна_PROPN", - "раиса_PROPN_павлович_PROPN", - "райком_ADJ_комсомол_NOUN", - "райком_NOUN_комсомол_NOUN", - "райком_NOUN_партия_NOUN", - "районный_ADJ_газета_NOUN", - "районный_ADJ_отделение_NOUN", - "районный_ADJ_центр_NOUN", - "райский_ADJ_птица_NOUN", - "райский_ADJ_сад_NOUN", - "рак_NOUN_зимовать_VERB", - "рак_NOUN_отшельник_NOUN", - "рам_PROPN_дасс_PROPN", - "рана_NOUN_нанести_VERB", - "ранее_ADV_чем_SCONJ", - "раненый_ADJ_боец_NOUN", - "раненый_ADJ_зверь_NOUN", - "раненый_ADJ_солдат_NOUN", - "раненый_ADJ_товарищ_NOUN", - "ранний_ADJ_весна_NOUN", - "ранний_ADJ_возраст_NOUN", - "ранний_ADJ_детство_NOUN", - "ранний_ADJ_молодость_NOUN", - "ранний_ADJ_обедня_NOUN", - "ранний_ADJ_осень_NOUN", - "ранний_ADJ_утренний_ADJ", - "ранний_ADJ_утро_NOUN", - "ранний_ADJ_час_NOUN", - "ранний_ADJ_юность_NOUN", - "ранний_ADV_завтрашний_ADJ", - "ранний_ADV_срок_NOUN", - "ранний_ADV_чем_SCONJ", - "рано_ADV_вставать_VERB", - "рано_ADV_или_CCONJ", - "рано_ADV_ложиться_VERB", - "рано_ADV_поутру_NOUN", - "рано_ADV_рано_ADV", - "рано_ADV_утро_NOUN", - "раскаленное_ADJ_железо_NOUN", - "раскаленные_ADJ_уголь_NOUN", - "раскаленный_ADJ_воздух_NOUN", - "раскалить_VERB_докрасна_NOUN", - "раскат_NOUN_гром_NOUN", - "раскатиться_VERB_по_ADP", - "раскинуть_VERB_лагерь_NOUN", - "раскинуть_VERB_палатка_NOUN", - "раскинуть_VERB_рука_NOUN", - "раскосый_ADJ_глаз_NOUN", - "раскрасневшееся_VERB_лицо_NOUN", - "раскрывать_VERB_рот_NOUN", - "раскрываться_VERB_перед_ADP", - "раскрытие_NOUN_преступление_NOUN", - "раскрытие_NOUN_тайна_NOUN", - "раскрыть_VERB_глаз_NOUN", - "раскрыть_VERB_дверца_NOUN", - "раскрыть_VERB_журнал_NOUN", - "раскрыть_VERB_зонтик_NOUN", - "раскрыть_VERB_книга_NOUN", - "раскрыть_VERB_ладонь_NOUN", - "раскрыть_VERB_настежь_ADV", - "раскрыть_VERB_объятие_NOUN", - "раскрыть_VERB_окно_NOUN", - "раскрыть_VERB_пасть_NOUN", - "раскрыть_VERB_рот_NOUN", - "раскрыть_VERB_тайна_NOUN", - "раскрыть_VERB_тетрадь_NOUN", - "раскрыть_VERB_учебник_NOUN", - "раскрыть_VERB_чемодан_NOUN", - "раскуривать_VERB_трубка_NOUN", - "раскурить_VERB_трубка_NOUN", - "распахивать_VERB_дверь_NOUN", - "распахнулась_VERB_дверь_NOUN", - "распахнутое_ADJ_окно_NOUN", - "распахнуть_VERB_ворота_NOUN", - "распахнуть_VERB_дверца_NOUN", - "распахнуть_VERB_дверь_NOUN", - "распахнуть_VERB_калитка_NOUN", - "распахнуть_VERB_настежь_ADV", - "распахнуть_VERB_окно_NOUN", - "распахнуться_VERB_дверь_NOUN", - "распахнуться_VERB_настежь_ADV", - "распевать_VERB_песня_NOUN", - "распечатать_VERB_конверт_NOUN", - "распечатать_VERB_письмо_NOUN", - "распирать_VERB_от_ADP", - "расписание_NOUN_поезд_NOUN", - "расписание_NOUN_урок_NOUN", - "расплавленный_ADJ_металл_NOUN", - "распластать_VERB_крыло_NOUN", - "расползтись_VERB_по_ADP", - "расположение_NOUN_дух_NOUN", - "расположиться_VERB_вокруг_ADP", - "расположиться_VERB_лагерь_NOUN", - "распорядок_NOUN_день_NOUN", - "расправа_NOUN_над_ADP", - "расправить_VERB_крыло_NOUN", - "расправить_VERB_плечо_NOUN", - "расправиться_VERB_со_ADP", - "распределительный_ADJ_доска_NOUN", - "распределить_VERB_между_ADP", - "распростереть_VERB_тело_NOUN", - "распространиться_VERB_по_ADP", - "распространиться_VERB_слух_NOUN", - "распространять_VERB_вокруг_ADP", - "распрощаться_VERB_со_ADP", - "распустить_VERB_волос_NOUN", - "распустить_VERB_крыло_NOUN", - "распустить_VERB_парус_NOUN", - "распустить_VERB_слух_NOUN", - "распуститься_VERB_цветок_NOUN", - "распухнуть_VERB_нос_NOUN", - "распушить_VERB_хвост_NOUN", - "распущенные_ADJ_волос_NOUN", - "распущенными_ADJ_волос_NOUN", - "рассекать_VERB_вода_NOUN", - "рассекать_VERB_воздух_NOUN", - "рассекать_VERB_волна_NOUN", - "расселина_NOUN_скала_NOUN", - "рассесться_VERB_вокруг_ADP", - "рассеянно_ADV_глядеть_VERB", - "рассеянно_ADV_кивнуть_VERB", - "рассеянно_ADV_ответить_VERB", - "рассеянно_ADV_отозваться_VERB", - "рассеянно_ADV_слушать_VERB", - "рассеянный_ADJ_взгляд_NOUN", - "рассеянный_ADJ_вид_NOUN", - "рассеянный_ADJ_свет_NOUN", - "расскажи_NOUN_ка_PROPN", - "рассказ_NOUN_о_ADP", - "рассказать_VERB_обо_ADP", - "рассказать_VERB_подробно_ADV", - "рассказать_VERB_подробный_ADV", - "рассказать_VERB_ребятам_NOUN", - "рассказывать_VERB_анекдот_NOUN", - "рассказывать_VERB_про_ADP", - "рассказывать_VERB_сказка_NOUN", - "рассказываться_VERB_о_ADP", - "расследовать_VERB_это_DET", - "рассматривать_VERB_картинка_NOUN", - "рассматривать_VERB_рисунок_NOUN", - "рассматривать_VERB_фотография_NOUN", - "рассматриваться_VERB_как_SCONJ", - "расставаться_VERB_со_ADP", - "расставить_VERB_нога_NOUN", - "расстегнуть_VERB_ворот_NOUN", - "расстегнуть_VERB_куртка_NOUN", - "расстилаться_VERB_перед_ADP", - "расстояние_NOUN_выстрел_NOUN", - "расстояние_NOUN_вытянуть_VERB", - "расстояние_NOUN_двести_NUM", - "расстояние_NOUN_между_ADP", - "расстояние_NOUN_миля_NOUN", - "расстояние_NOUN_отделявшее_VERB", - "расстояние_NOUN_отделять_VERB", - "расстояние_NOUN_полумиля_NOUN", - "расстояние_NOUN_приблизительно_ADV", - "расстояние_NOUN_ружейный_ADJ", - "расстроенное_ADJ_лицо_NOUN", - "расстройство_NOUN_желудок_NOUN", - "расступаться_VERB_перед_ADP", - "расступиться_VERB_перед_ADP", - "рассудительно_ADV_заметить_VERB", - "рассуждать_VERB_вслух_ADV", - "рассуждать_VERB_логически_ADV", - "рассуждение_NOUN_о_ADP", - "растаять_VERB_снег_NOUN", - "растворить_VERB_дверь_NOUN", - "растекаться_VERB_по_ADP", - "растерянно_ADV_бормотать_VERB", - "растерянно_ADV_глядеть_VERB", - "растерянно_ADV_заморгать_VERB", - "растерянно_ADV_моргать_VERB", - "растерянно_ADV_оглядеться_VERB", - "растерянно_ADV_оглядываться_VERB", - "растерянно_ADV_оглянуться_VERB", - "растерянно_ADV_озираться_VERB", - "растерянно_ADV_переглянуться_VERB", - "растерянно_ADV_поглядеть_VERB", - "растерянно_ADV_посмотреть_VERB", - "растерянно_ADV_пробормотать_VERB", - "растерянно_ADV_проговорить_VERB", - "растерянно_ADV_произнести_VERB", - "растерянное_ADJ_лицо_NOUN", - "растерянный_ADJ_взгляд_NOUN", - "растерянный_ADJ_вид_NOUN", - "растерянным_ADJ_взгляд_NOUN", - "растерянным_ADJ_вид_NOUN", - "растечься_VERB_по_ADP", - "растительный_ADJ_масло_NOUN", - "растительный_ADJ_мир_NOUN", - "растительный_ADJ_пища_NOUN", - "растительный_ADJ_царство_NOUN", - "растопить_VERB_печь_NOUN", - "растопыренные_ADJ_палец_NOUN", - "растопыренными_ADJ_палец_NOUN", - "растопырить_VERB_палец_NOUN", - "растопырить_VERB_рука_NOUN", - "растрепанные_ADJ_волос_NOUN", - "растрепанными_ADJ_волос_NOUN", - "растрогать_VERB_голос_NOUN", - "растягивать_VERB_слово_NOUN", - "расхаживать_VERB_взад_ADV", - "расхаживать_VERB_по_ADP", - "расчёсывать_VERB_волос_NOUN", - "расширить_VERB_глаз_NOUN", - "расшить_VERB_золото_NOUN", - "расщелина_NOUN_скала_NOUN", - "ратный_ADJ_дело_NOUN", - "ратный_ADJ_поле_NOUN", - "рауль_PROPN_де_PART", - "рауль_PROPN_ивар_PROPN", - "рвануть_VERB_вверх_ADV", - "рвануть_VERB_вперёд_ADV", - "рвануться_VERB_вверх_ADV", - "рвануться_VERB_вперёд_ADV", - "рваный_ADJ_бок_PROPN", - "рваный_ADJ_край_NOUN", - "рваный_ADJ_одежда_NOUN", - "рваный_ADJ_рана_NOUN", - "рвать_VERB_цветок_NOUN", - "рваться_VERB_вперёд_ADV", - "рваться_VERB_наружу_ADV", - "рваться_VERB_снаряд_NOUN", - "ре_NOUN_ку_NOUN", - "реактивный_ADJ_двигатель_NOUN", - "реактивный_ADJ_самолёт_NOUN", - "реальный_ADJ_жизнь_NOUN", - "реальный_ADJ_мир_NOUN", - "реальный_ADJ_училище_NOUN", - "ребром_NOUN_ладонь_NOUN", - "ребята_NOUN_переглянуться_VERB", - "ребята_NOUN_притихнуть_VERB", - "ребячий_ADJ_голос_NOUN", - "ревниво_ADV_оберегать_VERB", - "ревниво_ADV_спросить_VERB", - "револьверный_ADJ_выстрел_NOUN", - "революционный_ADJ_борьба_NOUN", - "революционный_ADJ_движение_NOUN", - "регина_PROPN_петрович_PROPN", - "регулярный_ADJ_войско_NOUN", - "редактор_NOUN_газета_NOUN", - "редакция_NOUN_газета_NOUN", - "редкий_ADJ_исключение_NOUN", - "редкий_ADJ_красота_NOUN", - "редкий_ADJ_порода_NOUN", - "редкий_ADJ_прохожий_NOUN", - "редкий_ADJ_растение_NOUN", - "редкий_ADJ_случай_NOUN", - "редкий_ADJ_фонарь_NOUN", - "редкий_ADJ_экземпляр_NOUN", - "редкий_ADJ_явление_NOUN", - "редко_ADV_бывать_VERB", - "редко_ADV_видеться_VERB", - "редко_ADV_встречаться_VERB", - "редко_ADV_заглядывать_VERB", - "редко_ADV_появляться_VERB", - "редко_ADV_приходиться_VERB", - "редко_ADV_редко_ADV", - "редко_ADV_случаться_VERB", - "редко_ADV_удаваться_VERB", - "реже_ADV_чем_SCONJ", - "режим_NOUN_день_NOUN", - "резать_VERB_хлеб_NOUN", - "резиновый_ADJ_дубинка_NOUN", - "резиновый_ADJ_лодка_NOUN", - "резиновый_ADJ_мяч_NOUN", - "резиновый_ADJ_мячик_NOUN", - "резиновый_ADJ_перчатка_NOUN", - "резиновый_ADJ_сапог_NOUN", - "резиновый_ADJ_трубка_NOUN", - "резиновый_ADJ_шина_NOUN", - "резиновый_ADJ_шланг_NOUN", - "резкий_ADJ_боль_NOUN", - "резкий_ADJ_ветер_NOUN", - "резкий_ADJ_голос_NOUN", - "резкий_ADJ_движение_NOUN", - "резкий_ADJ_запах_NOUN", - "резкий_ADJ_звонок_NOUN", - "резкий_ADJ_звук_NOUN", - "резкий_ADJ_контраст_NOUN", - "резкий_ADJ_крик_NOUN", - "резкий_ADJ_перемена_NOUN", - "резкий_ADJ_поворот_NOUN", - "резкий_ADJ_порыв_NOUN", - "резкий_ADJ_пронзительный_ADJ", - "резкий_ADJ_свист_NOUN", - "резкий_ADJ_толчок_NOUN", - "резкий_ADJ_тон_NOUN", - "резкий_ADJ_удар_NOUN", - "резкий_ADJ_черта_NOUN", - "резко_ADV_вскинуть_VERB", - "резко_ADV_выделяться_VERB", - "резко_ADV_выпрямиться_VERB", - "резко_ADV_дёрнуть_VERB", - "резко_ADV_затормозить_VERB", - "резко_ADV_изменить_VERB", - "резко_ADV_измениться_VERB", - "резко_ADV_обернуться_VERB", - "резко_ADV_оборвать_VERB", - "резко_ADV_остановиться_VERB", - "резко_ADV_отвернуться_VERB", - "резко_ADV_отличаться_VERB", - "резко_ADV_очертить_VERB", - "резко_ADV_перебить_VERB", - "резко_ADV_повернуть_VERB", - "резко_ADV_повернуться_VERB", - "резко_ADV_прервать_VERB", - "резко_ADV_развернуться_VERB", - "резко_ADV_распахнуться_VERB", - "резко_ADV_рвануть_VERB", - "резко_ADV_свернуть_VERB", - "резной_ADJ_деревянный_ADJ", - "резонно_ADV_возразить_VERB", - "резонно_ADV_заметить_VERB", - "результат_NOUN_получиться_VERB", - "рейсовый_ADJ_автобус_NOUN", - "река_NOUN_впадать_VERB", - "река_NOUN_протекать_VERB", - "река_NOUN_течь_VERB", - "рекламный_ADJ_щит_NOUN", - "рекомендательный_ADJ_письмо_NOUN", - "рекреационный_ADJ_зал_NOUN", - "религиозный_ADJ_обряд_NOUN", - "религиозный_ADJ_церемония_NOUN", - "религиозный_ADJ_чувство_NOUN", - "рельсовый_ADJ_путь_NOUN", - "ремесленный_ADJ_училище_NOUN", - "ремонтный_ADJ_мастерская_NOUN", - "рене_PROPN_мулен_PROPN", - "рене_PROPN_мулена_PROPN", - "рентгеновский_ADJ_луч_NOUN", - "республика_NOUN_шкид_PROPN", - "речной_ADJ_вода_NOUN", - "речной_ADJ_волна_NOUN", - "речной_ADJ_долина_NOUN", - "речной_ADJ_песок_NOUN", - "речь_NOUN_зайти_VERB", - "речь_NOUN_заходить_VERB", - "речь_NOUN_идти_VERB", - "решать_VERB_задача_NOUN", - "решать_VERB_задачка_NOUN", - "решать_VERB_пример_NOUN", - "решать_VERB_проблема_NOUN", - "решать_VERB_судьба_NOUN", - "решаться_VERB_войти_VERB", - "решаться_VERB_заговорить_VERB", - "решаться_VERB_судьба_NOUN", - "решающий_ADJ_момент_NOUN", - "решение_NOUN_задача_NOUN", - "решение_NOUN_проблема_NOUN", - "решетчатый_ADJ_окно_NOUN", - "решительно_ADV_возразить_VERB", - "решительно_ADV_воспротивиться_VERB", - "решительно_ADV_двинуться_VERB", - "решительно_ADV_зашагать_VERB", - "решительно_ADV_заявить_VERB", - "решительно_ADV_заявлять_VERB", - "решительно_ADV_направиться_VERB", - "решительно_ADV_отказаться_VERB", - "решительно_ADV_отказываться_VERB", - "решительно_ADV_произнести_VERB", - "решительно_ADV_тряхнуть_VERB", - "решительно_ADV_шагнуть_VERB", - "решительный_ADJ_бой_NOUN", - "решительный_ADJ_вид_NOUN", - "решительный_ADJ_выражение_NOUN", - "решительный_ADJ_действие_NOUN", - "решительный_ADJ_жест_NOUN", - "решительный_ADJ_мера_NOUN", - "решительный_ADJ_момент_NOUN", - "решительный_ADJ_тон_NOUN", - "решительный_ADJ_удар_NOUN", - "решительный_ADJ_шаг_NOUN", - "решить_VERB_воспользоваться_VERB", - "решить_VERB_задача_NOUN", - "решить_VERB_навестить_VERB", - "решить_VERB_отомстить_VERB", - "решить_VERB_попытать_VERB", - "решить_VERB_прибегнуть_VERB", - "решить_VERB_проверить_VERB", - "решить_VERB_прогуляться_VERB", - "решить_VERB_рискнуть_VERB", - "решить_VERB_уточнить_VERB", - "реять_VERB_над_ADP", - "ржавый_ADJ_гвоздь_NOUN", - "ржавый_ADJ_железный_ADJ", - "ржавый_ADJ_железо_NOUN", - "ржавый_ADJ_петля_NOUN", - "ржавый_ADJ_цепь_NOUN", - "ржание_NOUN_лошадь_NOUN", - "ржаной_ADJ_поле_NOUN", - "ржаной_ADJ_хлеб_NOUN", - "рикки_PROPN_тикки_PROPN", - "римский_ADJ_император_NOUN", - "римский_ADJ_империя_NOUN", - "римский_ADJ_корсаков_PROPN", - "римский_ADJ_папа_NOUN", - "римский_ADJ_цифра_NOUN", - "ринуться_VERB_вниз_ADV", - "ринуться_VERB_вперёд_ADV", - "рио_PROPN_де_PROPN", - "рио_PROPN_рита_PROPN", - "рио_PROPN_санто_PROPN", - "рискованный_ADJ_предприятие_NOUN", - "рисковать_VERB_жизнь_NOUN", - "рисковать_VERB_сломать_VERB", - "рисовать_VERB_картина_NOUN", - "рисовый_ADJ_каша_NOUN", - "рисовый_ADJ_поле_NOUN", - "рисунок_NOUN_изображать_VERB", - "рисунок_NOUN_художник_NOUN", - "ричард_PROPN_дерк_PROPN", - "ришар_PROPN_эллио_PROPN", - "роберт_PROPN_иванович_PROPN", - "роберт_PROPN_львович_PROPN", - "роберт_PROPN_юриевич_PROPN", - "робеть_VERB_перед_ADP", - "робин_PROPN_гуд_PROPN", - "робин_PROPN_гуда_PROPN", - "робинзон_PROPN_крузо_PROPN", - "робинзона_PROPN_крузо_PROPN", - "робкий_ADJ_десяток_NOUN", - "робкий_ADJ_надежда_NOUN", - "робко_ADV_спросить_VERB", - "робко_NOUN_спросить_VERB", - "ровно_ADV_дышать_VERB", - "ровно_ADV_настолько_ADV", - "ровно_ADV_ничто_PRON", - "ровно_ADV_столько_ADV", - "ровно_ADV_через_ADP", - "ровный_ADJ_гладкий_ADJ", - "ровный_ADJ_голос_NOUN", - "ровный_ADJ_гул_NOUN", - "ровный_ADJ_дыхание_NOUN", - "ровный_ADJ_место_NOUN", - "ровный_ADJ_площадка_NOUN", - "ровный_ADJ_поверхность_NOUN", - "ровный_ADJ_поле_NOUN", - "ровный_ADJ_ряд_NOUN", - "ровный_ADJ_слой_NOUN", - "ровный_ADJ_спокойный_ADJ", - "ровный_ADJ_счёт_NOUN", - "рог_NOUN_изобилие_NOUN", - "рогалев_PROPN_кривицкая_PROPN", - "рогатый_ADJ_скот_NOUN", - "роговой_ADJ_оправа_NOUN", - "роговой_ADJ_очко_NOUN", - "род_ADV_из_ADP", - "род_NOUN_человеческий_ADJ", - "родильный_ADJ_дом_NOUN", - "родимый_ADJ_пятно_NOUN", - "родительский_ADJ_благословение_NOUN", - "родительский_ADJ_дом_NOUN", - "родительский_ADJ_комитет_NOUN", - "родительский_ADJ_собрание_NOUN", - "родиться_VERB_сын_NOUN", - "родниковый_ADJ_вода_NOUN", - "родной_ADJ_брат_NOUN", - "родной_ADJ_город_NOUN", - "родной_ADJ_дом_NOUN", - "родной_ADJ_сын_NOUN", - "родной_ADJ_язык_NOUN", - "родный_ADJ_брат_NOUN", - "родный_ADJ_гнездо_NOUN", - "родный_ADJ_город_NOUN", - "родный_ADJ_деревня_NOUN", - "родный_ADJ_дочь_NOUN", - "родный_ADJ_земля_NOUN", - "родный_ADJ_земля_PROPN", - "родный_ADJ_край_NOUN", - "родный_ADJ_мать_NOUN", - "родный_ADJ_планета_NOUN", - "родный_ADJ_речь_NOUN", - "родный_ADJ_село_NOUN", - "родный_ADJ_сестра_NOUN", - "родный_ADJ_стихия_NOUN", - "родный_ADJ_страна_NOUN", - "родный_ADJ_язык_NOUN", - "родственный_ADJ_душа_NOUN", - "родственный_ADJ_связь_NOUN", - "родственный_ADJ_чувство_NOUN", - "рождественский_ADJ_праздник_NOUN", - "рождественский_ADJ_ёлка_NOUN", - "рождество_PROPN_христов_ADJ", - "роза_PROPN_василиевич_PROPN", - "рози_PROPN_солтэрн_PROPN", - "розовый_ADJ_бант_NOUN", - "розовый_ADJ_губка_NOUN", - "розовый_ADJ_куст_NOUN", - "розовый_ADJ_куст_PROPN", - "розовый_ADJ_лепесток_NOUN", - "розовый_ADJ_личико_NOUN", - "розовый_ADJ_облако_NOUN", - "розовый_ADJ_платье_NOUN", - "розовый_ADJ_платьице_NOUN", - "розовый_ADJ_полоска_NOUN", - "розовый_ADJ_пятно_NOUN", - "розовый_ADJ_страна_NOUN", - "розовый_ADJ_цвет_NOUN", - "розочка_PROPN_николаевич_PROPN", - "рок_NOUN_н_NOUN", - "роковой_ADJ_ошибка_NOUN", - "роковой_ADJ_случайность_NOUN", - "рокот_NOUN_мотор_NOUN", - "роликовый_ADJ_конёк_NOUN", - "роллан_PROPN_де_PART", - "роль_NOUN_играть_VERB", - "роман_PROPN_иванович_PROPN", - "романовский_ADJ_подворье_NOUN", - "романтический_ADJ_история_NOUN", - "романтический_ADJ_стиль_NOUN", - "ронять_VERB_слеза_NOUN", - "роса_NOUN_трава_NOUN", - "росистый_ADJ_трава_NOUN", - "роскошно_ADV_убрать_VERB", - "роскошный_ADJ_дворец_NOUN", - "роскошный_ADJ_наряд_NOUN", - "роскошный_ADJ_обстановка_NOUN", - "роскошный_ADJ_одежда_NOUN", - "роскошный_ADJ_растительность_NOUN", - "роскошный_ADJ_сад_NOUN", - "рослый_ADJ_мужчина_NOUN", - "рослый_ADJ_парень_NOUN", - "росомаха_NOUN_куга_PROPN", - "российский_ADJ_империя_NOUN", - "российский_ADJ_федерация_PROPN", - "российско_ADJ_американский_ADJ", - "ростислав_PROPN_кузьмич_PROPN", - "рот_NOUN_кляп_NOUN", - "рот_NOUN_пересохнуть_VERB", - "рот_NOUN_разинуть_VERB", - "рот_NOUN_раскрыть_VERB", - "рот_NOUN_сигара_NOUN", - "рота_NOUN_солдат_NOUN", - "ротный_ADJ_командир_NOUN", - "рубить_VERB_дерево_NOUN", - "рубить_VERB_дрова_NOUN", - "рубка_NOUN_управление_NOUN", - "ружейный_ADJ_выстрел_NOUN", - "ружейный_ADJ_залп_NOUN", - "ружейный_ADJ_огонь_NOUN", - "ружейный_ADJ_пуля_NOUN", - "ружейный_ADJ_ствол_NOUN", - "ружьё_NOUN_зарядить_VERB", - "ружьё_NOUN_наготове_ADV", - "ружьё_NOUN_наперевес_ADV", - "рука_NOUN_марать_VERB", - "рука_NOUN_отбиться_VERB", - "рука_PROPN_вверх_ADV", - "рукав_NOUN_куртка_NOUN", - "рукав_NOUN_рубашка_NOUN", - "руководить_VERB_ими_PRON", - "руководить_VERB_работа_NOUN", - "рукопашный_ADJ_бой_NOUN", - "рукопашный_ADJ_схватка_NOUN", - "рукоятка_NOUN_кинжал_NOUN", - "рукоятка_NOUN_меч_NOUN", - "рукоятка_NOUN_нож_NOUN", - "рукоятка_NOUN_пистолет_NOUN", - "рулевой_ADJ_колесо_NOUN", - "рулевой_ADJ_рубка_NOUN", - "румяный_ADJ_лицо_NOUN", - "румяный_ADJ_щека_NOUN", - "румяный_ADJ_яблоко_NOUN", - "русло_NOUN_река_NOUN", - "русский_ADJ_америка_PROPN", - "русский_ADJ_армия_NOUN", - "русский_ADJ_богатырь_NOUN", - "русский_ADJ_войско_NOUN", - "русский_ADJ_литература_NOUN", - "русский_ADJ_моряк_NOUN", - "русский_ADJ_музей_NOUN", - "русский_ADJ_народ_NOUN", - "русский_ADJ_народный_ADJ", - "русский_ADJ_обычай_NOUN", - "русский_ADJ_печка_NOUN", - "русский_ADJ_печь_NOUN", - "русский_ADJ_писатель_NOUN", - "русский_ADJ_пословица_NOUN", - "русский_ADJ_поэт_NOUN", - "русский_ADJ_правительство_NOUN", - "русский_ADJ_революция_NOUN", - "русский_ADJ_учёный_NOUN", - "русский_ADJ_флот_NOUN", - "русский_ADJ_царь_NOUN", - "русский_ADJ_язык_NOUN", - "русско_ADJ_японский_ADJ", - "русый_ADJ_волос_NOUN", - "русый_ADJ_коса_NOUN", - "руф_PROPN_билан_PROPN", - "рухнуть_VERB_вниз_ADV", - "ручаться_VERB_вам_PRON", - "ручка_NOUN_кресло_NOUN", - "ручка_NOUN_управление_NOUN", - "ручной_ADJ_граната_NOUN", - "ручной_ADJ_пулемёт_NOUN", - "ручной_ADJ_тележка_NOUN", - "ручной_ADJ_фонарь_NOUN", - "ручной_ADJ_час_NOUN", - "рыба_NOUN_ловить_VERB", - "рыба_NOUN_удить_VERB", - "рыбацкий_ADJ_лодка_NOUN", - "рыбачий_ADJ_лодка_NOUN", - "рыбий_ADJ_жир_NOUN", - "рыбий_ADJ_кость_NOUN", - "рыбий_ADJ_хвост_NOUN", - "рыбий_ADJ_чешуя_NOUN", - "рыбный_ADJ_ловля_NOUN", - "рыболовный_ADJ_крючок_NOUN", - "рыболовный_ADJ_сеть_NOUN", - "рыболовный_ADJ_снасть_NOUN", - "рыдать_VERB_навзрыд_PROPN", - "рыжеватый_ADJ_волос_NOUN", - "рыжий_ADJ_борода_NOUN", - "рыжий_ADJ_волос_NOUN", - "рыжий_ADJ_иост_PROPN", - "рыжий_ADJ_карлик_NOUN", - "рыжий_ADJ_кот_NOUN", - "рыжий_ADJ_лис_PROPN", - "рыжий_ADJ_парик_NOUN", - "рыжий_ADJ_пёс_PROPN", - "рыжий_ADJ_ус_NOUN", - "рыжий_ADJ_шерсть_NOUN", - "рыночный_ADJ_площадь_NOUN", - "рыскать_VERB_по_ADP", - "рыть_VERB_земля_NOUN", - "рыть_VERB_яма_NOUN", - "рыхлый_ADJ_земля_NOUN", - "рыхлый_ADJ_снег_NOUN", - "рыцарский_ADJ_доспех_NOUN", - "рыцарский_ADJ_замок_NOUN", - "рыцарский_ADJ_орден_NOUN", - "рыцарский_ADJ_роман_NOUN", - "рыцарский_ADJ_турнир_NOUN", - "рыцарь_NOUN_трумвиль_PROPN", - "рычаг_NOUN_управление_NOUN", - "рюмка_NOUN_водка_NOUN", - "рябой_ADJ_лицо_NOUN", - "ряд_NOUN_вон_ADV", - "рёв_NOUN_буря_NOUN", - "рёв_NOUN_мотор_NOUN", - "с_ADP_алешей_PROPN", - "с_ADP_алешкой_PROPN", - "с_ADP_алькой_ADJ", - "с_ADP_алькой_PROPN", - "с_ADP_андрейкой_PROPN", - "с_ADP_андрюшкой_PROPN", - "с_ADP_антошкой_PROPN", - "с_ADP_асей_PROPN", - "с_ADP_астей_PROPN", - "с_ADP_борькой_PROPN", - "с_ADP_быстротой_ADJ", - "с_ADP_валеркой_PROPN", - "с_ADP_валькой_PROPN", - "с_ADP_вами_PRON", - "с_ADP_ваней_PROPN", - "с_ADP_ванькой_PROPN", - "с_ADP_варькой_PROPN", - "с_ADP_васькой_PROPN", - "с_ADP_венечкой_PROPN", - "с_ADP_венькой_PROPN", - "с_ADP_вилькой_PROPN", - "с_ADP_винтовками_NOUN", - "с_ADP_витькой_PROPN", - "с_ADP_витьком_PROPN", - "с_ADP_вовкой_PROPN", - "с_ADP_володькой_PROPN", - "с_ADP_воробьем_PROPN", - "с_ADP_генкой_PROPN", - "с_ADP_геной_PROPN", - "с_ADP_глазу_NOUN", - "с_ADP_голоду_NOUN", - "с_ADP_голодуха_NOUN", - "с_ADP_горбинка_NOUN", - "с_ADP_гошей_PROPN", - "с_ADP_гошкой_PROPN", - "с_ADP_гришей_PROPN", - "с_ADP_гришкой_PROPN", - "с_ADP_даней_PROPN", - "с_ADP_данилой_PROPN", - "с_ADP_девчонками_NOUN", - "с_ADP_деланный_ADJ", - "с_ADP_димкой_PROPN", - "с_ADP_димой_PROPN", - "с_ADP_досадою_NOUN", - "с_ADP_другом_PRON", - "с_ADP_дырками_NOUN", - "с_ADP_ехидца_NOUN", - "с_ADP_замирание_NOUN", - "с_ADP_иркой_ADJ", - "с_ADP_иркой_PROPN", - "с_ADP_испугу_NOUN", - "с_ADP_кирюшкой_PROPN", - "с_ADP_колей_PROPN", - "с_ADP_колькой_PROPN", - "с_ADP_корточек_NOUN", - "с_ADP_костей_PROPN", - "с_ADP_костиком_PROPN", - "с_ADP_леней_PROPN", - "с_ADP_ленца_NOUN", - "с_ADP_ленькой_PROPN", - "с_ADP_лехой_PROPN", - "с_ADP_лешкой_PROPN", - "с_ADP_лихва_NOUN", - "с_ADP_лишек_NOUN", - "с_ADP_люсей_PROPN", - "с_ADP_люськой_PROPN", - "с_ADP_макаронами_NOUN", - "с_ADP_малышами_NOUN", - "с_ADP_мальчишками_NOUN", - "с_ADP_медлок_PROPN", - "с_ADP_митькой_PROPN", - "с_ADP_митяем_PROPN", - "с_ADP_мишей_PROPN", - "с_ADP_мишкой_PROPN", - "с_ADP_мотькой_PROPN", - "с_ADP_муркой_PROPN", - "с_ADP_надрывом_NOUN", - "с_ADP_недопитым_ADJ", - "с_ADP_незапамятный_ADJ", - "с_ADP_непокрытой_VERB", - "с_ADP_непривычка_NOUN", - "с_ADP_нескрываемый_ADJ", - "с_ADP_носилками_NOUN", - "с_ADP_ожесточение_NOUN", - "с_ADP_опаска_NOUN", - "с_ADP_остервенение_NOUN", - "с_ADP_пашкой_PROPN", - "с_ADP_перепугу_NOUN", - "с_ADP_петичем_PROPN", - "с_ADP_петькой_PROPN", - "с_ADP_повидлом_NOUN", - "с_ADP_повинная_NOUN", - "с_ADP_полатей_NOUN", - "с_ADP_поличное_NOUN", - "с_ADP_полуслова_NOUN", - "с_ADP_полуслова_PROPN", - "с_ADP_потрохами_NOUN", - "с_ADP_превеликий_ADJ", - "с_ADP_преувеличенным_ADJ", - "с_ADP_присвист_NOUN", - "с_ADP_проседь_NOUN", - "с_ADP_разбегу_NOUN", - "с_ADP_размаху_NOUN", - "с_ADP_распростертыми_ADJ", - "с_ADP_расстановка_NOUN", - "с_ADP_ромкой_PROPN", - "с_ADP_ромой_PROPN", - "с_ADP_саввой_PROPN", - "с_ADP_саней_PROPN", - "с_ADP_санькой_PROPN", - "с_ADP_сашкой_PROPN", - "с_ADP_сашком_PROPN", - "с_ADP_сеней_PROPN", - "с_ADP_сербскохорватский_ADJ", - "с_ADP_серегой_PROPN", - "с_ADP_серёгой_PROPN", - "с_ADP_серёжей_PROPN", - "с_ADP_сие_PRON", - "с_ADP_темычем_PROPN", - "с_ADP_тимкой_PROPN", - "с_ADP_тобой_PRON", - "с_ADP_тобою_PRON", - "с_ADP_толиком_PROPN", - "с_ADP_толькой_PROPN", - "с_ADP_толяном_PROPN", - "с_ADP_тылу_NOUN", - "с_ADP_укор_NOUN", - "с_ADP_укоризна_NOUN", - "с_ADP_федькой_PROPN", - "с_ADP_ходу_NOUN", - "с_ADP_хрипотца_NOUN", - "с_ADP_юркой_PROPN", - "с_ADP_яшкой_PROPN", - "с_ADV_виду_NOUN", - "с_ADV_с_ADV", - "с_ADV_тот_DET", - "саблезубый_ADJ_тигр_NOUN", - "савва_PROPN_георгиевич_PROPN", - "савва_PROPN_евтихиевич_PROPN", - "савелий_PROPN_дмитриевич_PROPN", - "савелий_PROPN_иванович_PROPN", - "савелий_PROPN_максимович_PROPN", - "савелий_PROPN_петрович_PROPN", - "сади_PROPN_паша_PROPN", - "садиться_VERB_пожалуйста_ADV", - "садиться_VERB_садиться_VERB", - "садовый_ADJ_домик_NOUN", - "садовый_ADJ_дорожка_NOUN", - "садовый_ADJ_калитка_NOUN", - "садовый_ADJ_кольцо_NOUN", - "садовый_ADJ_скамейка_NOUN", - "садовый_ADJ_улица_NOUN", - "садовый_ADJ_участок_NOUN", - "сайрус_PROPN_смит_PROPN", - "сайруса_PROPN_смит_PROPN", - "салон_NOUN_красота_NOUN", - "сальный_ADJ_свеча_NOUN", - "сальто_NOUN_мортале_NOUN", - "сам_ADJ_напроситься_VERB", - "сам_ADJ_подумай_VERB", - "сам_ADJ_посуди_VERB", - "сам_ADJ_сатана_NOUN", - "сам_ADJ_собою_NOUN", - "сама_ADJ_виноватый_ADJ", - "сама_ADJ_подумай_VERB", - "сама_ADJ_собою_NOUN", - "самая_ADJ_больший_ADJ", - "самая_ADJ_главный_ADJ", - "самая_ADJ_красивый_ADJ", - "самая_ADJ_любимый_ADJ", - "самая_ADJ_младший_ADJ", - "самая_ADJ_настоящий_ADJ", - "самая_ADJ_обыкновенный_ADJ", - "самая_ADJ_обычный_ADJ", - "самая_ADJ_подходящий_ADJ", - "самая_ADJ_самая_ADJ", - "самая_ADJ_умный_ADJ", - "сами_ADJ_виноватый_ADJ", - "сами_ADJ_разбираться_VERB", - "сами_ADJ_разобраться_VERB", - "сами_ADJ_собою_NOUN", - "сами_ADJ_справиться_VERB", - "самим_ADJ_себя_PRON", - "самих_ADJ_себя_PRON", - "само_ADJ_название_NOUN", - "само_ADJ_провидение_NOUN", - "само_ADJ_себя_PRON", - "само_ADJ_собою_NOUN", - "самоварный_ADJ_труба_NOUN", - "самого_ADJ_верх_NOUN", - "самого_ADJ_вход_NOUN", - "самого_ADJ_горизонт_NOUN", - "самого_ADJ_детство_NOUN", - "самого_ADJ_дно_NOUN", - "самого_ADJ_начало_NOUN", - "самого_ADJ_подножие_NOUN", - "самого_ADJ_потолок_NOUN", - "самого_ADJ_ранний_ADJ", - "самого_ADJ_рождение_NOUN", - "самого_ADJ_утро_NOUN", - "самодовольно_ADV_улыбаться_VERB", - "самодовольно_ADV_улыбнуться_VERB", - "самодовольный_ADJ_вид_NOUN", - "самодовольный_ADJ_улыбка_NOUN", - "самое_ADJ_безопасный_ADJ", - "самое_ADJ_важный_ADJ", - "самое_ADJ_главный_ADJ", - "самое_ADJ_деятельный_ADJ", - "самое_ADJ_дорогой_ADJ", - "самое_ADJ_интересный_ADJ", - "самое_ADJ_необходимый_ADJ", - "самое_ADJ_неприятный_ADJ", - "самое_ADJ_обидный_ADJ", - "самое_ADJ_пекло_NOUN", - "самое_ADJ_подходящий_ADJ", - "самое_ADJ_разумный_ADJ", - "самое_ADJ_скверный_ADJ", - "самое_ADJ_страшный_ADJ", - "самое_ADJ_трудный_ADJ", - "самое_ADJ_удивительный_ADJ", - "самое_ADJ_ужасный_ADJ", - "самое_ADJ_ухо_NOUN", - "самое_ADJ_ценный_ADJ", - "самой_ADJ_верхний_ADJ", - "самой_ADJ_верхушка_NOUN", - "самой_ADJ_вершина_NOUN", - "самой_ADJ_глубина_NOUN", - "самой_ADJ_граница_NOUN", - "самой_ADJ_гуща_NOUN", - "самой_ADJ_кромка_NOUN", - "самой_ADJ_крыша_NOUN", - "самой_ADJ_макушка_NOUN", - "самой_ADJ_обыкновенный_ADJ", - "самой_ADJ_окраина_NOUN", - "самой_ADJ_опушка_NOUN", - "самой_ADJ_поверхность_NOUN", - "самой_ADJ_природа_NOUN", - "самой_ADJ_разнообразный_ADJ", - "самой_ADJ_середина_NOUN", - "самолёт_NOUN_лететь_VERB", - "самом_ADJ_верх_NOUN", - "самом_ADJ_видный_ADJ", - "самом_ADJ_дело_NOUN", - "самом_ADJ_край_NOUN", - "самом_ADJ_начало_NOUN", - "самом_ADJ_непродолжительный_ADJ", - "самом_ADJ_низ_NOUN", - "самом_ADJ_разгар_NOUN", - "самом_ADJ_солнцепёк_NOUN", - "самом_ADJ_центр_NOUN", - "самому_ADJ_край_NOUN", - "самостоятельный_ADJ_жизнь_NOUN", - "самостоятельный_ADJ_работа_NOUN", - "самоцветный_ADJ_камень_NOUN", - "саму_ADJ_себя_PRON", - "самуил_PROPN_каценштейн_PROPN", - "самую_ADJ_больший_ADJ", - "самую_ADJ_верхушка_NOUN", - "самую_ADJ_вершина_NOUN", - "самую_ADJ_глубина_NOUN", - "самую_ADJ_глубь_NOUN", - "самую_ADJ_гуща_NOUN", - "самую_ADJ_макушка_NOUN", - "самую_ADJ_малость_NOUN", - "самую_ADJ_минута_NOUN", - "самую_ADJ_обыкновенный_ADJ", - "самую_ADJ_полночь_NOUN", - "самую_ADJ_рукоятка_NOUN", - "самую_ADJ_середина_NOUN", - "самую_ADJ_суть_NOUN", - "самую_ADJ_точка_NOUN", - "самую_ADJ_чаща_NOUN", - "самую_ADJ_чуточку_NOUN", - "самые_ADJ_близкий_ADJ", - "самые_ADJ_крупный_ADJ", - "самые_ADJ_настоящий_ADJ", - "самые_ADJ_невероятный_ADJ", - "самые_ADJ_неожиданный_ADJ", - "самые_ADJ_обыкновенный_ADJ", - "самые_ADJ_обычный_ADJ", - "самые_ADJ_опытный_ADJ", - "самые_ADJ_отдалённый_ADJ", - "самые_ADJ_отчаянный_ADJ", - "самые_ADJ_простой_ADJ", - "самые_ADJ_различный_ADJ", - "самые_ADJ_разнообразный_ADJ", - "самые_ADJ_разный_ADJ", - "самые_ADJ_сложный_ADJ", - "самые_ADJ_смелый_ADJ", - "самые_ADJ_сокровенный_ADJ", - "самые_ADJ_точный_ADJ", - "самые_ADJ_тщательный_ADJ", - "самые_ADJ_умный_ADJ", - "самые_ADJ_фантастический_ADJ", - "самые_ADJ_храбрый_ADJ", - "самые_ADJ_ценный_ADJ", - "самый_ADJ_большой_ADJ", - "самый_ADJ_верх_NOUN", - "самый_ADJ_главный_ADJ", - "самый_ADJ_дальний_ADJ", - "самый_ADJ_кончик_NOUN", - "самый_ADJ_краешек_NOUN", - "самый_ADJ_младший_ADJ", - "самый_ADJ_момент_NOUN", - "самый_ADJ_настоящий_ADJ", - "самый_ADJ_неподходящий_ADJ", - "самый_ADJ_обыкновенный_ADJ", - "самый_ADJ_обычный_ADJ", - "самый_ADJ_опытный_ADJ", - "самый_ADJ_ответственный_ADJ", - "самый_ADJ_подходящий_ADJ", - "самый_ADJ_разгар_NOUN", - "самый_ADJ_смелый_ADJ", - "самый_ADJ_умный_ADJ", - "самый_ADJ_храбрый_ADJ", - "самым_ADJ_главный_ADJ", - "самым_ADJ_естественный_ADJ", - "самым_ADJ_искренний_ADJ", - "самым_ADJ_любезный_ADJ", - "самым_ADJ_невинный_ADJ", - "самым_ADJ_неожиданный_ADJ", - "самым_ADJ_нос_NOUN", - "самым_ADJ_обыкновенный_ADJ", - "самым_ADJ_подходящий_ADJ", - "самым_ADJ_потолок_NOUN", - "самым_ADJ_решительный_ADJ", - "самым_ADJ_серьёзный_ADJ", - "самым_ADJ_счастливый_ADJ", - "самым_ADJ_тщательный_ADJ", - "самым_ADJ_удивительный_ADJ", - "самым_ADJ_ухом_NOUN", - "самыми_ADJ_нежный_ADJ", - "самыми_ADJ_разнообразный_ADJ", - "самыми_ADJ_разный_ADJ", - "самых_ADJ_близкий_ADJ", - "самых_ADJ_богатый_ADJ", - "самых_ADJ_ворот_NOUN", - "самых_ADJ_знаменитый_ADJ", - "самых_ADJ_знатный_ADJ", - "самых_ADJ_крупный_ADJ", - "самых_ADJ_невероятный_ADJ", - "самых_ADJ_неожиданный_ADJ", - "самых_ADJ_обыкновенный_ADJ", - "самых_ADJ_опасный_ADJ", - "самых_ADJ_опытный_ADJ", - "самых_ADJ_отдалённый_ADJ", - "самых_ADJ_отчаянный_ADJ", - "самых_ADJ_различный_ADJ", - "самых_ADJ_разнообразный_ADJ", - "самых_ADJ_разный_ADJ", - "самых_ADJ_ранний_ADJ", - "самых_ADJ_смелый_ADJ", - "самых_ADJ_храбрый_ADJ", - "сан_PROPN_александрович_PROPN", - "сан_PROPN_доминго_PROPN", - "сан_PROPN_луи_PROPN", - "сан_PROPN_фернандо_PROPN", - "сан_PROPN_франциско_PROPN", - "сан_PROPN_хосе_PROPN", - "сан_PROPN_хуан_PROPN", - "сандаловый_ADJ_дерево_NOUN", - "санитарный_ADJ_машина_NOUN", - "санитарный_ADJ_поезд_NOUN", - "санитарный_ADJ_сумка_NOUN", - "санкт_PROPN_петербург_PROPN", - "сант_PROPN_яго_PROPN", - "санта_NOUN_мария_PROPN", - "санта_PROPN_анна_PROPN", - "санта_PROPN_барбара_PROPN", - "санта_PROPN_крус_PROPN", - "санта_PROPN_мадре_PROPN", - "санта_PROPN_мария_PROPN", - "санта_PROPN_фе_PROPN", - "санто_PROPN_доминго_PROPN", - "сапёрный_ADJ_лопатка_NOUN", - "саргассово_ADJ_море_NOUN", - "сатья_PROPN_баджи_PROPN", - "сахарный_ADJ_завод_NOUN", - "сахарный_ADJ_песок_NOUN", - "сахарный_ADJ_пудра_NOUN", - "сахарный_ADJ_тростник_NOUN", - "саша_PROPN_булгаков_PROPN", - "саша_PROPN_лагутин_PROPN", - "саша_PROPN_панкратов_PROPN", - "сбавить_VERB_скорость_NOUN", - "сбавить_VERB_тон_NOUN", - "сбавить_VERB_ход_NOUN", - "сбавлять_VERB_скорость_NOUN", - "сбавлять_VERB_ход_NOUN", - "сбегать_VERB_вниз_ADV", - "сбегать_VERB_домой_ADV", - "сбежать_VERB_вниз_ADV", - "сберегательный_ADJ_касса_NOUN", - "сбивчивый_ADJ_рассказ_NOUN", - "сблизить_VERB_их_PRON", - "сболтнуть_VERB_лишний_ADJ", - "сбор_NOUN_отряд_NOUN", - "сборник_NOUN_бр_PROPN", - "сборник_NOUN_рассказ_NOUN", - "сборный_ADJ_пункт_NOUN", - "сбросить_VERB_куртка_NOUN", - "сбросить_VERB_одеяло_NOUN", - "свадебный_ADJ_пир_NOUN", - "свадебный_ADJ_платье_NOUN", - "свадебный_ADJ_подарок_NOUN", - "свадебный_ADJ_путешествие_NOUN", - "свадьба_NOUN_зажить_VERB", - "свадьба_NOUN_сыграть_VERB", - "свалиться_VERB_вниз_ADV", - "сварить_VERB_суп_NOUN", - "сведение_NOUN_о_ADP", - "сведение_NOUN_об_ADP", - "свежий_ADJ_ветер_NOUN", - "свежий_ADJ_ветерок_NOUN", - "свежий_ADJ_воздух_NOUN", - "свежий_ADJ_газета_NOUN", - "свежий_ADJ_зелень_NOUN", - "свежий_ADJ_краска_NOUN", - "свежий_ADJ_могила_NOUN", - "свежий_ADJ_мясо_NOUN", - "свежий_ADJ_новость_NOUN", - "свежий_ADJ_овощ_NOUN", - "свежий_ADJ_огурец_NOUN", - "свежий_ADJ_рыба_NOUN", - "свежий_ADJ_сено_NOUN", - "свежий_ADJ_след_NOUN", - "свежий_ADJ_солома_NOUN", - "свежий_ADJ_утренний_ADJ", - "свежий_ADJ_фрукт_NOUN", - "свежий_ADJ_хлеб_NOUN", - "свен_PROPN_бидевинд_PROPN", - "свен_PROPN_хедин_PROPN", - "свериться_VERB_с_ADP", - "сверкать_VERB_драгоценный_ADJ", - "сверкать_VERB_молния_NOUN", - "сверкающий_ADJ_глаз_NOUN", - "сверкнуть_VERB_глаз_NOUN", - "сверкнуть_VERB_молния_NOUN", - "свернуть_VERB_влево_ADV", - "свернуть_VERB_вправо_ADV", - "свернуть_VERB_налево_ADV", - "свернуть_VERB_направо_ADV", - "свернуться_VERB_калачик_NOUN", - "свернуться_VERB_клубок_NOUN", - "свернуться_VERB_клубочек_NOUN", - "сверх_ADP_всякий_DET", - "сверх_ADP_мера_NOUN", - "сверх_ADP_того_PRON", - "сверху_ADV_вниз_ADV", - "сверху_ADV_донестись_VERB", - "сверху_ADV_донизу_ADV", - "сверху_ADV_послышаться_VERB", - "сверхъестественный_ADJ_сила_NOUN", - "сверхъестественный_ADJ_существо_NOUN", - "свершиться_VERB_чудо_NOUN", - "сверяться_VERB_с_ADP", - "свесить_VERB_голова_NOUN", - "свесить_VERB_нога_NOUN", - "свеситься_VERB_вниз_ADV", - "свести_VERB_бровь_NOUN", - "свести_VERB_судорога_NOUN", - "свести_VERB_счеты_NOUN", - "свестись_VERB_к_ADP", - "свет_NOUN_божий_ADJ", - "свет_NOUN_лампа_NOUN", - "свет_NOUN_луна_NOUN", - "свет_NOUN_ночник_NOUN", - "свет_NOUN_озарить_VERB", - "свет_NOUN_погаснуть_VERB", - "свет_NOUN_померкнуть_VERB", - "свет_NOUN_прожектор_NOUN", - "свет_NOUN_проникать_VERB", - "свет_NOUN_сжить_VERB", - "свет_NOUN_факел_NOUN", - "свет_NOUN_фара_NOUN", - "свет_NOUN_фонарик_NOUN", - "свет_NOUN_фонарь_NOUN", - "света_PROPN_родченко_PROPN", - "светило_VERB_солнце_NOUN", - "светить_VERB_солнце_NOUN", - "светить_VERB_солнышко_NOUN", - "светиться_VERB_изнутри_ADV", - "светиться_VERB_огонёк_NOUN", - "светиться_VERB_точка_NOUN", - "светиться_VERB_циферблат_NOUN", - "светлана_PROPN_вениаминович_PROPN", - "светлана_PROPN_иванович_PROPN", - "светлана_PROPN_михаилович_PROPN", - "светлана_PROPN_николаевич_PROPN", - "светлана_PROPN_петрович_PROPN", - "светлана_PROPN_семёнович_PROPN", - "светлана_PROPN_сергеевич_PROPN", - "светло_ADJ_голубой_ADJ", - "светло_ADJ_жёлтый_ADJ", - "светло_ADJ_зелёный_ADJ", - "светло_ADJ_коричневый_ADJ", - "светло_ADJ_русый_ADJ", - "светло_ADJ_серый_ADJ", - "светловолосый_ADJ_девочка_NOUN", - "светлый_ADJ_бровь_NOUN", - "светлый_ADJ_будущее_NOUN", - "светлый_ADJ_волос_NOUN", - "светлый_ADJ_полоса_NOUN", - "светлый_ADJ_полоска_NOUN", - "светлый_ADJ_пятно_NOUN", - "светлый_ADJ_точка_NOUN", - "светлый_ADJ_фон_NOUN", - "световой_ADJ_волна_NOUN", - "световой_ADJ_год_NOUN", - "световой_ADJ_луч_NOUN", - "световой_ADJ_пятно_NOUN", - "световой_ADJ_сигнал_NOUN", - "светский_ADJ_беседа_NOUN", - "светский_ADJ_дама_NOUN", - "светский_ADJ_жизнь_NOUN", - "светский_ADJ_общество_NOUN", - "свеча_NOUN_гореть_VERB", - "свидание_NOUN_назначить_VERB", - "свидетельский_ADJ_показание_NOUN", - "свидетельство_NOUN_о_ADP", - "свидетельствовать_VERB_о_ADP", - "свидетельствовать_VERB_об_ADP", - "свидетельствовать_VERB_против_ADP", - "свинцовый_ADJ_туча_NOUN", - "свинцовый_ADJ_тяжесть_NOUN", - "свирепый_ADJ_взгляд_NOUN", - "свирепый_ADJ_выражение_NOUN", - "свирепый_ADJ_животное_NOUN", - "свирепый_ADJ_зверь_NOUN", - "свирид_PROPN_онуфриевич_PROPN", - "свисать_VERB_вниз_ADV", - "свист_NOUN_ветер_NOUN", - "свист_NOUN_пуля_NOUN", - "свистать_VERB_всех_PRON", - "свистеть_VERB_ветер_NOUN", - "свистеть_VERB_звук_NOUN", - "свистеть_VERB_шёпот_NOUN", - "свить_VERB_гнездо_NOUN", - "свобода_NOUN_действие_NOUN", - "свободно_ADV_дышать_VERB", - "свободный_ADJ_время_NOUN", - "свободный_ADJ_гражданин_NOUN", - "свободный_ADJ_доступ_NOUN", - "свободный_ADJ_место_NOUN", - "свободный_ADJ_минутка_NOUN", - "свободный_ADJ_народ_PROPN", - "свободный_ADJ_полёт_NOUN", - "свободный_ADJ_пространство_NOUN", - "свободный_ADJ_проход_NOUN", - "свободный_ADJ_стул_NOUN", - "свод_NOUN_пещера_NOUN", - "сводить_VERB_глаз_NOUN", - "сводить_VERB_счеты_NOUN", - "сводиться_VERB_к_ADP", - "сводка_NOUN_совинформбюро_PROPN", - "сводный_ADJ_брат_NOUN", - "сводчатый_ADJ_потолок_NOUN", - "свой_DET_апогей_NOUN", - "свой_DET_близких_NOUN", - "свой_DET_возлюбленного_NOUN", - "свой_DET_возлюбленной_NOUN", - "свой_DET_возлюбленную_NOUN", - "свой_DET_избранник_NOUN", - "свой_DET_излюбленный_ADJ", - "свой_DET_индивидуальность_NOUN", - "свой_DET_лепта_NOUN", - "свой_DET_любимец_NOUN", - "свой_DET_любимица_NOUN", - "свой_DET_мучитель_NOUN", - "свой_DET_ноша_NOUN", - "свой_DET_обыкновение_NOUN", - "свой_DET_отражение_NOUN", - "свой_DET_очередь_NOUN", - "свой_DET_питомец_NOUN", - "свой_DET_питомица_NOUN", - "свой_DET_подданных_NOUN", - "свой_DET_подопечных_NOUN", - "свой_DET_подчиненным_NOUN", - "свой_DET_подчиненных_NOUN", - "свой_DET_пожитки_NOUN", - "свой_DET_поступках_NOUN", - "свой_DET_правота_NOUN", - "свой_DET_превосходство_NOUN", - "свой_DET_предшественник_NOUN", - "свой_DET_репертуар_NOUN", - "свой_DET_собрат_NOUN", - "свой_DET_спаситель_NOUN", - "свой_DET_спутница_NOUN", - "свой_DET_укрытие_NOUN", - "свой_DET_усмотрение_NOUN", - "свой_DET_ушам_NOUN", - "свой_DET_чад_NOUN", - "свой_DET_черёд_NOUN", - "свой_DET_шесток_NOUN", - "свойственный_ADJ_ей_PRON", - "свойственный_ADJ_ему_PRON", - "своём_ADJ_место_NOUN", - "своём_NOUN_век_NOUN", - "свыкнуться_VERB_с_ADP", - "связка_NOUN_ключ_NOUN", - "связь_NOUN_между_ADP", - "святой_ADJ_вода_NOUN", - "святой_ADJ_георгий_PROPN", - "святой_ADJ_дева_PROPN", - "святой_ADJ_доминик_PROPN", - "святой_ADJ_дух_PROPN", - "святой_ADJ_елена_PROPN", - "святой_ADJ_жрец_NOUN", - "святой_ADJ_икона_NOUN", - "святой_ADJ_мария_PROPN", - "святой_ADJ_михаил_PROPN", - "святой_ADJ_николас_PROPN", - "святой_ADJ_обязанность_NOUN", - "святой_ADJ_павел_PROPN", - "святой_ADJ_пётр_PROPN", - "святой_ADJ_русь_PROPN", - "святой_ADJ_святой_ADJ", - "святой_ADJ_угодник_NOUN", - "святой_ADJ_церковь_NOUN", - "святой_ADV_верить_VERB", - "святой_ADV_хранить_VERB", - "святослав_PROPN_виталиевич_PROPN", - "святослав_PROPN_петрович_PROPN", - "священный_ADJ_долг_NOUN", - "священный_ADJ_животное_NOUN", - "священный_ADJ_змея_NOUN", - "священный_ADJ_книга_NOUN", - "священный_ADJ_меч_NOUN", - "священный_ADJ_обязанность_NOUN", - "священный_ADJ_огонь_NOUN", - "священный_ADJ_писание_NOUN", - "священный_ADJ_писание_PROPN", - "священный_ADJ_роща_NOUN", - "сгибаться_VERB_под_ADP", - "сглотнуть_VERB_слюна_NOUN", - "сгорать_VERB_от_ADP", - "сгораю_VERB_от_ADP", - "сгореть_VERB_дотла_ADV", - "сгрудиться_VERB_вокруг_ADP", - "сгущаться_VERB_сумерки_NOUN", - "сдавать_VERB_экзамен_NOUN", - "сдавить_VERB_горло_NOUN", - "сдавленный_ADJ_голос_NOUN", - "сдавленный_ADJ_крик_NOUN", - "сдать_VERB_экзамен_NOUN", - "сдвигать_VERB_бровь_NOUN", - "сдвинуть_VERB_бровь_NOUN", - "сделать_VERB_вид_NOUN", - "сделать_VERB_вывод_NOUN", - "сделать_VERB_вылазка_NOUN", - "сделать_VERB_выпад_NOUN", - "сделать_VERB_глоток_NOUN", - "сделать_VERB_гримаса_NOUN", - "сделать_VERB_знак_NOUN", - "сделать_VERB_милость_NOUN", - "сделать_VERB_одолжение_NOUN", - "сделать_VERB_пауза_NOUN", - "сделать_VERB_перевязка_NOUN", - "сделать_VERB_попытка_NOUN", - "сделать_VERB_привал_VERB", - "сделать_VERB_реверанс_NOUN", - "сделать_VERB_ударение_NOUN", - "сделать_VERB_укол_NOUN", - "сделать_VERB_утвердительный_ADJ", - "сделать_VERB_шаг_NOUN", - "сделаться_VERB_дурно_ADV", - "сделаться_VERB_жертва_NOUN", - "сделаться_VERB_серьёзный_ADJ", - "сделаться_VERB_страшно_ADV", - "сдержанно_ADV_ответить_VERB", - "сдержанный_ADJ_смех_NOUN", - "сдержать_VERB_данное_ADJ", - "сдержать_VERB_обещание_NOUN", - "сдержать_VERB_слеза_NOUN", - "сдержать_VERB_слово_NOUN", - "сдержать_VERB_улыбка_NOUN", - "сдерживать_VERB_волнение_NOUN", - "сдерживать_VERB_дыхание_NOUN", - "сдерживать_VERB_рыдание_NOUN", - "сдерживать_VERB_слеза_NOUN", - "сдерживать_VERB_смех_NOUN", - "сдерживать_VERB_улыбка_NOUN", - "сдерживаться_VERB_чтобы_SCONJ", - "сдирать_VERB_шкура_NOUN", - "сдобный_ADJ_булочка_NOUN", - "сдобный_ADJ_булочка_PROPN", - "себя_PRON_вправе_ADV", - "себя_PRON_обязанным_NOUN", - "себя_PRON_отчёт_NOUN", - "себя_PRON_пропитание_NOUN", - "север_NOUN_юг_NOUN", - "северный_ADJ_америка_PROPN", - "северный_ADJ_африка_PROPN", - "северный_ADJ_ветер_NOUN", - "северный_ADJ_граница_NOUN", - "северный_ADJ_двина_PROPN", - "северный_ADJ_земля_PROPN", - "северный_ADJ_кавказ_PROPN", - "северный_ADJ_ледовитый_ADJ", - "северный_ADJ_море_NOUN", - "северный_ADJ_морской_ADJ", - "северный_ADJ_оконечность_NOUN", - "северный_ADJ_окраина_NOUN", - "северный_ADJ_олень_NOUN", - "северный_ADJ_олень_PROPN", - "северный_ADJ_перевал_NOUN", - "северный_ADJ_побережье_NOUN", - "северный_ADJ_полушарие_NOUN", - "северный_ADJ_полюс_NOUN", - "северный_ADJ_полярный_ADJ", - "северный_ADJ_сияние_NOUN", - "северный_ADJ_склон_NOUN", - "северный_ADJ_флот_NOUN", - "северный_ADJ_часть_NOUN", - "северный_ADJ_широта_NOUN", - "северо_ADJ_американский_ADJ", - "северо_ADJ_восточный_ADJ", - "северо_ADJ_западный_ADJ", - "северо_NOUN_восток_NOUN", - "северо_NOUN_запад_NOUN", - "сегодня_ADV_вечер_NOUN", - "сегодня_ADV_воскресение_NOUN", - "сегодня_ADV_поутру_NOUN", - "сегодня_ADV_суббота_NOUN", - "сегодня_ADV_утро_NOUN", - "сегодня_NOUN_хватить_VERB", - "сегодняшний_ADJ_вечер_NOUN", - "сегодняшний_ADJ_день_NOUN", - "сегодняшний_ADJ_ночь_NOUN", - "сегодняшний_ADJ_утро_NOUN", - "седлать_VERB_лошадь_NOUN", - "седой_ADJ_борода_NOUN", - "седой_ADJ_бородка_NOUN", - "седой_ADJ_бровь_NOUN", - "седой_ADJ_волос_NOUN", - "седой_ADJ_прядь_NOUN", - "седой_ADJ_старик_NOUN", - "седой_ADJ_ус_NOUN", - "седьмой_ADJ_а_NOUN", - "седьмой_ADJ_б_NOUN", - "седьмой_ADJ_д_NOUN", - "седьмой_ADJ_класс_NOUN", - "седьмой_ADJ_небо_NOUN", - "седьмой_ADJ_ноябрь_NOUN", - "седьмой_ADJ_этаж_NOUN", - "сей_DET_минута_NOUN", - "сей_DET_пора_NOUN", - "сей_DET_раз_NOUN", - "сей_DET_счёт_NOUN", - "сей_PART_же_PART", - "секретарь_NOUN_горком_NOUN", - "секретарь_NOUN_комитет_NOUN", - "секретарь_NOUN_комсомольский_ADJ", - "секретарь_NOUN_обком_NOUN", - "секретарь_NOUN_райком_NOUN", - "секретный_ADJ_агент_NOUN", - "секретный_ADJ_документ_NOUN", - "секретный_ADJ_служба_NOUN", - "секунда_NOUN_задуматься_VERB", - "секунда_NOUN_спустя_ADP", - "секундный_ADJ_стрелка_NOUN", - "сельский_ADJ_житель_NOUN", - "сельский_ADJ_местность_NOUN", - "сельский_ADJ_хозяйство_NOUN", - "сельский_ADJ_церковь_NOUN", - "сельский_ADJ_школа_NOUN", - "семейный_ADJ_альбом_NOUN", - "семейный_ADJ_жизнь_NOUN", - "семейный_ADJ_круг_NOUN", - "семейный_ADJ_обстоятельство_NOUN", - "семейный_ADJ_отношение_NOUN", - "семейный_ADJ_очаг_NOUN", - "семейный_ADJ_праздник_NOUN", - "семейный_ADJ_реликвия_NOUN", - "семейный_ADJ_совет_NOUN", - "семейный_ADJ_счастие_NOUN", - "семейный_ADJ_тайна_NOUN", - "семейный_ADJ_традиция_NOUN", - "семейный_ADJ_фотография_NOUN", - "семеро_NUM_друг_NOUN", - "семидесятый_ADJ_год_NOUN", - "семнадцатый_ADJ_век_NOUN", - "семнадцатый_ADJ_год_NOUN", - "семнадцать_NUM_год_NOUN", - "семь_NUM_верста_NOUN", - "семь_NUM_восемь_NUM", - "семь_NUM_год_NOUN", - "семь_NUM_километр_NOUN", - "семь_NUM_рубль_NOUN", - "семь_NUM_тысяча_NOUN", - "семь_NUM_фут_NOUN", - "семь_NUM_час_NOUN", - "семь_NUM_штука_NOUN", - "семьдесят_NUM_год_NOUN", - "семьдесят_NUM_километр_NOUN", - "семьдесят_NUM_пять_NUM", - "семьдесят_NUM_семь_NUM", - "семьдесят_NUM_тысяча_NOUN", - "семён_PROPN_алексеевич_PROPN", - "семён_PROPN_андреевич_PROPN", - "семён_PROPN_аникиевич_PROPN", - "семён_PROPN_аркадиевич_PROPN", - "семён_PROPN_афанасиевич_PROPN", - "семён_PROPN_борисович_PROPN", - "семён_PROPN_василиевич_PROPN", - "семён_PROPN_гаврилович_PROPN", - "семён_PROPN_годунов_PROPN", - "семён_PROPN_иванович_PROPN", - "семён_PROPN_ильич_PROPN", - "семён_PROPN_михаилович_PROPN", - "семён_PROPN_николаевич_PROPN", - "семён_PROPN_павлович_PROPN", - "семён_PROPN_петрович_PROPN", - "семён_PROPN_семёнович_PROPN", - "семён_PROPN_сергеевич_PROPN", - "семён_PROPN_степанович_PROPN", - "сен_PROPN_дени_PROPN", - "сен_PROPN_дин_PROPN", - "сен_PROPN_жан_PROPN", - "сен_PROPN_жермен_PROPN", - "сен_PROPN_жюльен_PROPN", - "сен_PROPN_жюст_PROPN", - "сен_PROPN_клу_PROPN", - "сен_PROPN_клэра_PROPN", - "сен_PROPN_лазар_PROPN", - "сен_PROPN_луи_PROPN", - "сен_PROPN_мало_PROPN", - "сен_PROPN_меран_PROPN", - "сен_PROPN_пьер_PROPN", - "сен_PROPN_фюрси_PROPN", - "сен_PROPN_чель_PROPN", - "сенной_ADJ_девушка_NOUN", - "сенсационный_ADJ_новость_NOUN", - "сент_PROPN_ави_PROPN", - "сент_PROPN_аманд_PROPN", - "сент_PROPN_андре_PROPN", - "сент_PROPN_беат_PROPN", - "сент_PROPN_ив_PROPN", - "сент_PROPN_ирем_PROPN", - "сент_PROPN_луис_PROPN", - "сентябрь_NOUN_год_NOUN", - "сентябрьский_ADJ_день_NOUN", - "сеньор_NOUN_дон_PROPN", - "сеньор_PROPN_дон_PART", - "сеньор_PROPN_дон_PROPN", - "сеньор_PROPN_падре_PROPN", - "сеньор_PROPN_эрнесто_PROPN", - "серафима_PROPN_григориевич_PROPN", - "серафима_PROPN_иванович_PROPN", - "серая_PROPN_сова_PROPN", - "сервировать_VERB_стол_NOUN", - "сергей_PROPN_александрович_PROPN", - "сергей_PROPN_алексеевич_PROPN", - "сергей_PROPN_анатолиевич_PROPN", - "сергей_PROPN_антонович_PROPN", - "сергей_PROPN_василиевич_PROPN", - "сергей_PROPN_викторович_PROPN", - "сергей_PROPN_владимирович_PROPN", - "сергей_PROPN_дмитриевич_PROPN", - "сергей_PROPN_иванович_PROPN", - "сергей_PROPN_игнатиевич_PROPN", - "сергей_PROPN_лагутин_PROPN", - "сергей_PROPN_миронович_PROPN", - "сергей_PROPN_михаилович_PROPN", - "сергей_PROPN_михалков_PROPN", - "сергей_PROPN_никанорович_PROPN", - "сергей_PROPN_никитович_PROPN", - "сергей_PROPN_николаевич_PROPN", - "сергей_PROPN_павлович_PROPN", - "сергей_PROPN_петрович_PROPN", - "сергей_PROPN_сергеевич_PROPN", - "сергей_PROPN_степанович_PROPN", - "сергей_PROPN_тимофеевич_PROPN", - "сергей_PROPN_филиппович_PROPN", - "сергей_PROPN_фёдорович_PROPN", - "сергей_PROPN_яковлевич_PROPN", - "сергиев_ADJ_посад_PROPN", - "сердечно_ADV_пожать_VERB", - "сердечный_ADJ_привет_NOUN", - "сердечный_ADJ_приступ_NOUN", - "сердито_PART_ответить_VERB", - "сердито_PROPN_буркнуть_VERB", - "сердито_PROPN_взглянуть_VERB", - "сердито_PROPN_закричать_VERB", - "сердито_PROPN_крикнуть_VERB", - "сердито_PROPN_посмотреть_VERB", - "сердито_PROPN_проворчать_VERB", - "сердито_PROPN_фыркнуть_VERB", - "сердитый_ADJ_взгляд_NOUN", - "сердитый_ADJ_голос_NOUN", - "сердце_NOUN_биться_VERB", - "сердце_NOUN_забиться_VERB", - "сердце_NOUN_заколотиться_VERB", - "сердце_NOUN_замирать_VERB", - "сердце_NOUN_колотиться_VERB", - "сердце_NOUN_обливаться_VERB", - "сердце_NOUN_разрываться_VERB", - "сердце_NOUN_сжаться_VERB", - "сердце_NOUN_сжиматься_VERB", - "сердце_NOUN_стучать_VERB", - "серебристый_ADJ_голосок_NOUN", - "серебристый_ADJ_дорожка_NOUN", - "серебристый_ADJ_свет_NOUN", - "серебристый_ADJ_смех_NOUN", - "серебристый_ADJ_цвет_NOUN", - "серебряный_ADJ_блюдечко_NOUN", - "серебряный_ADJ_блюдо_NOUN", - "серебряный_ADJ_дерево_NOUN", - "серебряный_ADJ_колокол_NOUN", - "серебряный_ADJ_колокольчик_NOUN", - "серебряный_ADJ_крест_NOUN", - "серебряный_ADJ_ложка_NOUN", - "серебряный_ADJ_монета_NOUN", - "серебряный_ADJ_монетка_NOUN", - "серебряный_ADJ_нить_NOUN", - "серебряный_ADJ_оправа_NOUN", - "серебряный_ADJ_поднос_NOUN", - "серебряный_ADJ_посуда_NOUN", - "серебряный_ADJ_рубль_NOUN", - "серебряный_ADJ_цепочка_NOUN", - "середина_NOUN_xix_ADJ", - "середина_NOUN_август_NOUN", - "середина_NOUN_апрель_NOUN", - "середина_NOUN_зал_NOUN", - "середина_NOUN_июнь_NOUN", - "середина_NOUN_комната_NOUN", - "середина_NOUN_лето_NOUN", - "середина_NOUN_май_NOUN", - "середина_NOUN_мост_NOUN", - "середина_NOUN_озеро_NOUN", - "середина_NOUN_октябрь_NOUN", - "середина_NOUN_площадь_NOUN", - "середина_NOUN_поляна_NOUN", - "середина_NOUN_прошлый_ADJ", - "середина_NOUN_река_NOUN", - "сержант_NOUN_мартьяль_PROPN", - "сержант_NOUN_мартьяля_PROPN", - "серный_ADJ_кислота_NOUN", - "серо_ADJ_голубой_ADJ", - "серо_ADJ_зелёный_ADJ", - "серой_PROPN_сова_PROPN", - "серый_ADJ_бобёр_PROPN", - "серый_ADJ_брат_PROPN", - "серый_ADJ_волк_NOUN", - "серый_ADJ_волк_PROPN", - "серый_ADJ_волчица_NOUN", - "серый_ADJ_дымка_NOUN", - "серый_ADJ_заяц_NOUN", - "серый_ADJ_здание_NOUN", - "серый_ADJ_костюм_NOUN", - "серый_ADJ_мгла_NOUN", - "серый_ADJ_медведь_NOUN", - "серый_ADJ_медведь_PROPN", - "серый_ADJ_мышка_NOUN", - "серый_ADJ_облако_NOUN", - "серый_ADJ_омут_PROPN", - "серый_ADJ_пальто_NOUN", - "серый_ADJ_пелена_NOUN", - "серый_ADJ_пепел_NOUN", - "серый_ADJ_пиджак_NOUN", - "серый_ADJ_плащ_NOUN", - "серый_ADJ_сова_PROPN", - "серый_ADJ_туча_NOUN", - "серый_ADJ_фон_NOUN", - "серый_ADJ_цвет_NOUN", - "серый_ADJ_шинель_NOUN", - "серьезно_ADV_больной_ADJ", - "серьезно_ADV_заболеть_VERB", - "серьезно_ADV_ответить_VERB", - "серьезно_ADV_относиться_VERB", - "серьезно_ADV_поговорить_VERB", - "серьезно_ADV_ранить_VERB", - "серьёзность_NOUN_положение_NOUN", - "серьёзный_ADJ_значение_NOUN", - "серьёзный_ADJ_испытание_NOUN", - "серьёзный_ADJ_неприятность_NOUN", - "серьёзный_ADJ_оборот_NOUN", - "серьёзный_ADJ_опасение_NOUN", - "серьёзный_ADJ_опасность_NOUN", - "серьёзный_ADJ_основание_NOUN", - "серьёзный_ADJ_повреждение_NOUN", - "серьёзный_ADJ_последствие_NOUN", - "серьёзный_ADJ_препятствие_NOUN", - "серьёзный_ADJ_причина_NOUN", - "серьёзный_ADJ_проблема_NOUN", - "серьёзный_ADJ_разговор_NOUN", - "серьёзный_ADJ_тон_NOUN", - "сесиль_PROPN_бернье_PROPN", - "сесиль_PROPN_темпл_PROPN", - "сестра_NOUN_ася_PROPN", - "сестра_NOUN_маглоар_PROPN", - "сестра_NOUN_милосердие_NOUN", - "сестра_NOUN_эрнестина_PROPN", - "сестрица_NOUN_алёнушка_PROPN", - "сесть_VERB_верхом_ADV", - "сесть_VERB_завтракать_VERB", - "сесть_VERB_напротив_ADP", - "сесть_VERB_напротив_ADV", - "сесть_VERB_обедать_VERB", - "сесть_VERB_подле_NOUN", - "сесть_VERB_рядом_ADV", - "сесть_VERB_удобный_ADV", - "сесть_VERB_ужинать_VERB", - "сжалиться_VERB_над_ADP", - "сжалиться_VERB_надо_ADV", - "сжалься_VERB_над_ADP", - "сжалься_VERB_надо_ADV", - "сжальтесь_VERB_над_ADP", - "сжальтесь_VERB_надо_ADV", - "сжать_VERB_воздух_NOUN", - "сжать_VERB_губа_NOUN", - "сжать_VERB_зуб_NOUN", - "сжать_VERB_кулак_NOUN", - "сжать_VERB_челюсть_NOUN", - "сжаться_VERB_сердце_NOUN", - "сжимать_VERB_губа_NOUN", - "сжимать_VERB_кулак_NOUN", - "сжиматься_VERB_сердце_NOUN", - "сзади_ADV_послышаться_VERB", - "сзади_ADV_раздаться_VERB", - "сибирский_ADJ_тайга_NOUN", - "сигаретный_ADJ_дым_NOUN", - "сигнал_NOUN_бедствие_NOUN", - "сигнал_NOUN_тревога_NOUN", - "сигнальный_ADJ_огонь_NOUN", - "сигнальный_ADJ_ракета_NOUN", - "сигнальный_ADJ_флаг_NOUN", - "сигнальный_ADJ_флажок_NOUN", - "сигнальный_ADJ_фонарь_NOUN", - "сидеть_VERB_верхом_ADV", - "сидеть_VERB_взаперти_ADV", - "сидеть_VERB_напротив_ADP", - "сидеть_VERB_неподвижно_ADV", - "сидеть_VERB_рядышком_NOUN", - "сидеть_VERB_свесить_VERB", - "сидеть_VERB_скорчиться_VERB", - "сидеть_VERB_сложа_VERB", - "сидеть_VERB_смирно_ADV", - "сиди_PROPN_коко_PROPN", - "сиди_PROPN_смирно_ADV", - "сидоров_PROPN_коза_NOUN", - "сидячий_ADJ_положение_NOUN", - "сила_NOUN_воля_NOUN", - "сила_NOUN_выбиваться_VERB", - "сила_NOUN_выбиться_VERB", - "сила_NOUN_притяжение_NOUN", - "сила_NOUN_рвануть_VERB", - "сила_NOUN_сдержать_VERB", - "сила_NOUN_сдерживаться_VERB", - "сила_NOUN_стараться_VERB", - "сила_NOUN_тяготение_NOUN", - "сила_NOUN_тяжесть_NOUN", - "сила_NOUN_ударить_VERB", - "сила_NOUN_швырнуть_VERB", - "силиться_VERB_вспомнить_VERB", - "сильно_ADV_беспокоить_VERB", - "сильно_ADV_биться_VERB", - "сильно_ADV_болеть_VERB", - "сильно_ADV_взволнованный_ADJ", - "сильно_ADV_взволновать_VERB", - "сильно_ADV_возбудить_VERB", - "сильно_ADV_волноваться_VERB", - "сильно_ADV_встревожить_VERB", - "сильно_ADV_встряхнуть_VERB", - "сильно_ADV_дёрнуть_VERB", - "сильно_ADV_забиться_VERB", - "сильно_ADV_задеть_VERB", - "сильно_ADV_заинтересовать_VERB", - "сильно_ADV_измениться_VERB", - "сильно_ADV_накрениться_VERB", - "сильно_ADV_напугать_VERB", - "сильно_ADV_нуждаться_VERB", - "сильно_ADV_обеспокоить_VERB", - "сильно_ADV_огорчить_VERB", - "сильно_ADV_отличаться_VERB", - "сильно_ADV_пахнуть_VERB", - "сильно_ADV_переживать_VERB", - "сильно_ADV_побледнеть_VERB", - "сильно_ADV_повлиять_VERB", - "сильно_ADV_повредить_VERB", - "сильно_ADV_подействовать_VERB", - "сильно_ADV_покраснеть_VERB", - "сильно_ADV_пострадать_VERB", - "сильно_ADV_потрясти_VERB", - "сильно_ADV_похудеть_VERB", - "сильно_ADV_привязаться_VERB", - "сильно_ADV_проголодаться_VERB", - "сильно_ADV_развить_VERB", - "сильно_ADV_расстроить_VERB", - "сильно_ADV_смахивать_VERB", - "сильно_ADV_сомневаться_VERB", - "сильно_ADV_страдать_VERB", - "сильно_ADV_толкнуть_VERB", - "сильно_ADV_тревожить_VERB", - "сильно_ADV_тряхнуть_VERB", - "сильно_ADV_ударить_VERB", - "сильно_ADV_удариться_VERB", - "сильно_ADV_устать_VERB", - "сильно_ADV_утомить_VERB", - "сильно_ADV_хромать_VERB", - "сильный_ADJ_боль_NOUN", - "сильный_ADJ_ветер_NOUN", - "сильный_ADJ_взмах_NOUN", - "сильный_ADJ_возбуждение_NOUN", - "сильный_ADJ_волнение_NOUN", - "сильный_ADJ_воля_NOUN", - "сильный_ADJ_впечатление_NOUN", - "сильный_ADJ_головной_ADJ", - "сильный_ADJ_ливень_NOUN", - "сильный_ADJ_мороз_NOUN", - "сильный_ADJ_порыв_NOUN", - "сильный_ADJ_потрясение_NOUN", - "сильный_ADJ_рывок_NOUN", - "сильный_ADJ_струя_NOUN", - "сильный_ADJ_толчок_NOUN", - "сильный_ADJ_удар_NOUN", - "сильный_ADJ_шторм_NOUN", - "сильный_ADV_всего_PRON", - "сильный_ADV_чем_SCONJ", - "сим_PROPN_сим_PROPN", - "симпатичный_ADJ_девушка_NOUN", - "симпатичный_ADJ_парень_NOUN", - "симферопольская_ADJ_бабушка_NOUN", - "симфонический_ADJ_оркестр_NOUN", - "сине_ADJ_белый_ADJ", - "сине_ADJ_зелёный_ADJ", - "синева_NOUN_небо_NOUN", - "синеватый_ADJ_свет_NOUN", - "синий_ADJ_блуза_NOUN", - "синий_ADJ_борода_PROPN", - "синий_ADJ_дымок_NOUN", - "синий_ADJ_дьявол_NOUN", - "синий_ADJ_карандаш_NOUN", - "синий_ADJ_комбинезон_NOUN", - "синий_ADJ_костюм_NOUN", - "синий_ADJ_краска_NOUN", - "синий_ADJ_куртка_NOUN", - "синий_ADJ_лампочка_NOUN", - "синий_ADJ_лента_NOUN", - "синий_ADJ_мундир_NOUN", - "синий_ADJ_небо_NOUN", - "синий_ADJ_огонёк_NOUN", - "синий_ADJ_очко_NOUN", - "синий_ADJ_папка_NOUN", - "синий_ADJ_пламя_NOUN", - "синий_ADJ_платье_NOUN", - "синий_ADJ_полоса_NOUN", - "синий_ADJ_полоска_NOUN", - "синий_ADJ_халат_NOUN", - "синий_ADJ_цвет_NOUN", - "синий_ADJ_шёлковый_ADJ", - "синий_ADJ_юбка_NOUN", - "синь_PROPN_хо_PROPN", - "синьор_PROPN_гоцци_PROPN", - "синьор_PROPN_карабас_PROPN", - "синьор_PROPN_паоло_PROPN", - "синяк_NOUN_под_ADP", - "сиплый_ADJ_голос_NOUN", - "сиреневый_ADJ_куст_NOUN", - "сиротский_ADJ_дом_NOUN", - "ситцевый_ADJ_занавеска_NOUN", - "ситцевый_ADJ_платье_NOUN", - "ситцевый_ADJ_рубаха_NOUN", - "сию_NOUN_же_PART", - "сию_NOUN_минута_NOUN", - "сию_PROPN_минута_NOUN", - "сиять_VERB_звезда_NOUN", - "сиять_VERB_солнце_NOUN", - "сияющими_ADJ_глаз_NOUN", - "скажешь_VERB_тоже_ADV", - "сказала_VERB_что_SCONJ", - "сказание_NOUN_о_ADP", - "сказать_VERB_бук_PROPN", - "сказать_VERB_гораций_PROPN", - "сказать_VERB_даля_PROPN", - "сказать_VERB_ирия_PROPN", - "сказать_VERB_кологойда_PROPN", - "сказать_VERB_кусандра_PROPN", - "сказать_VERB_медвежонок_PROPN", - "сказать_VERB_сашко_PROPN", - "сказать_VERB_торндайк_PROPN", - "сказать_VERB_харбов_PROPN", - "сказать_VERB_юрковский_PROPN", - "сказка_NOUN_андерсен_PROPN", - "сказка_NOUN_про_ADP", - "сказка_NOUN_пушкин_PROPN", - "сказка_NOUN_сказываться_VERB", - "сказка_PROPN_изложить_VERB", - "сказочный_ADJ_богатство_NOUN", - "сказочный_ADJ_герой_NOUN", - "сказочный_ADJ_дворец_NOUN", - "сказочный_ADJ_лес_NOUN", - "сказочный_ADJ_народ_NOUN", - "сказочный_ADJ_принц_NOUN", - "сказочный_ADJ_принцесса_NOUN", - "сказочный_ADJ_страна_NOUN", - "сказочный_ADJ_существо_NOUN", - "скакать_VERB_верхом_ADV", - "скалистый_ADJ_берег_NOUN", - "скалистый_ADJ_гора_NOUN", - "скалистый_ADJ_остров_NOUN", - "скалистый_ADJ_островок_NOUN", - "скалистый_ADJ_стена_NOUN", - "скалить_VERB_зуб_NOUN", - "скальный_ADJ_порода_NOUN", - "скамья_NOUN_подсудимых_NOUN", - "сканирование_NOUN_распознавание_NOUN", - "скат_NOUN_гора_NOUN", - "скатерть_NOUN_самобранка_NOUN", - "скатиться_VERB_вниз_ADV", - "скатываться_VERB_вниз_ADV", - "скверный_ADJ_история_NOUN", - "скверный_ADJ_мальчишка_NOUN", - "скверный_ADJ_привычка_NOUN", - "скверный_ADJ_характер_NOUN", - "сквозной_ADJ_ветер_NOUN", - "сквозь_ADP_ветвь_NOUN", - "сквозь_ADP_густой_ADJ", - "сквозь_ADP_дымка_NOUN", - "сквозь_ADP_дыра_NOUN", - "сквозь_ADP_заросли_NOUN", - "сквозь_ADP_земля_NOUN", - "сквозь_ADP_зуб_NOUN", - "сквозь_ADP_куст_NOUN", - "сквозь_ADP_листва_NOUN", - "сквозь_ADP_очки_NOUN", - "сквозь_ADP_пелена_NOUN", - "сквозь_ADP_плотный_ADJ", - "сквозь_ADP_прозрачный_ADJ", - "сквозь_ADP_просвет_NOUN", - "сквозь_ADP_прутья_NOUN", - "сквозь_ADP_решётка_NOUN", - "сквозь_ADP_рыдание_NOUN", - "сквозь_ADP_слеза_NOUN", - "сквозь_ADP_слёзы_NOUN", - "сквозь_ADP_смех_NOUN", - "сквозь_ADP_сон_NOUN", - "сквозь_ADP_стекло_NOUN", - "сквозь_ADP_стеклянный_ADJ", - "сквозь_ADP_стиснуть_VERB", - "сквозь_ADP_толпа_NOUN", - "сквозь_ADP_толща_NOUN", - "сквозь_ADP_туман_NOUN", - "сквозь_ADP_чаща_NOUN", - "сквозь_ADP_шум_NOUN", - "сквозь_ADP_щель_NOUN", - "скинуть_VERB_куртка_NOUN", - "скитальческий_ADJ_жизнь_NOUN", - "скитаться_VERB_по_ADP", - "склад_NOUN_боеприпас_NOUN", - "склад_NOUN_оружие_NOUN", - "склад_NOUN_ум_NOUN", - "складной_ADJ_нож_NOUN", - "складный_ADJ_нож_NOUN", - "складывать_VERB_их_PRON", - "склон_NOUN_гора_NOUN", - "склон_NOUN_овраг_NOUN", - "склон_NOUN_сопка_NOUN", - "склон_NOUN_холм_NOUN", - "склонившегося_VERB_над_ADP", - "склонившихся_VERB_над_ADP", - "склонить_VERB_голова_NOUN", - "склонить_VERB_головка_NOUN", - "склонить_VERB_набок_ADV", - "склонить_VERB_над_ADP", - "склониться_VERB_над_ADP", - "склониться_VERB_перед_ADP", - "склонность_NOUN_к_ADP", - "склонный_ADJ_к_ADP", - "склонясь_VERB_над_ADP", - "склонять_VERB_голова_NOUN", - "склоняться_VERB_к_ADP", - "склоняться_VERB_над_ADP", - "склоняться_VERB_перед_ADP", - "сковать_VERB_лёд_NOUN", - "сколотить_VERB_из_ADP", - "скользить_VERB_вдоль_ADP", - "скользить_VERB_вниз_ADV", - "скользить_VERB_по_ADP", - "скользкий_ADJ_камень_NOUN", - "скользнуть_VERB_вдоль_ADP", - "скользнуть_VERB_взгляд_NOUN", - "скользнуть_VERB_вниз_ADV", - "скользнуть_VERB_по_ADP", - "сколько_ADV_можно_ADV", - "сколько_ADV_нибудь_ADV", - "сколько_ADV_то_ADV", - "сколько_ADV_угодно_ADV", - "сколько_NUM_весить_VERB", - "сколько_NUM_влезть_VERB", - "сколько_NUM_душе_NOUN", - "сколько_NUM_потребоваться_VERB", - "сколько_NUM_угодно_ADV", - "скомандовать_VERB_алёшка_PROPN", - "скорбеть_VERB_о_ADP", - "скорбно_ADV_покачать_VERB", - "скорее_ADV_всего_PRON", - "скорее_ADV_наоборот_ADV", - "скорее_ADV_скорее_ADV", - "скорее_ADV_тем_SCONJ", - "скорей_PROPN_бы_AUX", - "скорей_PROPN_всего_PRON", - "скорей_PROPN_скорый_ADV", - "скоро_ADV_будут_VERB", - "скоро_ADV_вернуться_VERB", - "скоро_ADV_выясниться_VERB", - "скоро_ADV_кончиться_VERB", - "скоро_ADV_оправиться_VERB", - "скоро_ADV_поправиться_VERB", - "скоро_ADV_состаришься_VERB", - "скоро_ADV_стемнеть_VERB", - "скоро_ADV_увидеться_VERB", - "скороговорка_NOUN_произнести_VERB", - "скорость_NOUN_движение_NOUN", - "скорость_NOUN_полёт_NOUN", - "скорость_NOUN_свет_NOUN", - "скоротать_VERB_время_NOUN", - "скорчить_VERB_гримаса_NOUN", - "скорый_ADJ_возвращение_NOUN", - "скорый_ADJ_время_NOUN", - "скорый_ADJ_встреча_NOUN", - "скорый_ADJ_вызвать_VERB", - "скорый_ADJ_выздоровление_NOUN", - "скорый_ADJ_отъезд_NOUN", - "скорый_ADJ_поезд_NOUN", - "скорый_ADJ_помощь_NOUN", - "скорый_ADJ_свидание_NOUN", - "скорый_ADJ_шаг_NOUN", - "скорый_ADV_всего_PRON", - "скорый_ADV_выбраться_VERB", - "скорый_ADV_добраться_VERB", - "скорый_ADV_избавиться_VERB", - "скорый_ADV_скорый_ADV", - "скорый_ADV_убраться_VERB", - "скосить_VERB_глаз_NOUN", - "скосить_VERB_трава_NOUN", - "скотланд_PROPN_ярд_PROPN", - "скотленд_PROPN_ярд_PROPN", - "скотный_ADJ_двор_NOUN", - "скрежетать_VERB_зуб_NOUN", - "скрежеща_VERB_зуб_NOUN", - "скрепить_VERB_сердце_NOUN", - "скрестить_VERB_нога_NOUN", - "скрестить_VERB_рука_NOUN", - "скривить_VERB_губа_NOUN", - "скривить_VERB_рот_NOUN", - "скрип_ADJ_дверь_NOUN", - "скрипач_NOUN_франц_PROPN", - "скрипеть_VERB_зуб_NOUN", - "скрипнуть_VERB_дверь_NOUN", - "скрипнуть_VERB_зуб_NOUN", - "скрипнуть_VERB_калитка_NOUN", - "скрипучий_ADJ_голос_NOUN", - "скрипучий_ADJ_лестница_NOUN", - "скромно_ADV_одеть_VERB", - "скромно_ADV_опустить_VERB", - "скромно_ADV_ответить_VERB", - "скромный_ADJ_домик_NOUN", - "скромный_ADJ_жилище_NOUN", - "скромный_ADJ_обстановка_NOUN", - "скромный_ADJ_ужин_NOUN", - "скрытый_ADJ_смысл_NOUN", - "скрыть_VERB_волнение_NOUN", - "скрыться_VERB_вдали_ADV", - "скудный_ADJ_запас_NOUN", - "скуластый_ADJ_лицо_NOUN", - "скульптурный_ADJ_группа_NOUN", - "скучать_VERB_вид_NOUN", - "скучный_ADJ_одному_NUM", - "слабо_ADV_вскрикнуть_VERB", - "слабо_ADV_мерцать_VERB", - "слабо_ADV_осветить_VERB", - "слабо_ADV_освещать_VERB", - "слабо_ADV_светиться_VERB", - "слабо_ADV_улыбаться_VERB", - "слабо_ADV_улыбнуться_VERB", - "слабый_ADJ_ветерок_NOUN", - "слабый_ADJ_голос_NOUN", - "слабый_ADJ_здоровье_NOUN", - "слабый_ADJ_мерцание_NOUN", - "слабый_ADJ_надежда_NOUN", - "слабый_ADJ_огонёк_NOUN", - "слабый_ADJ_свет_NOUN", - "слабый_ADJ_стон_NOUN", - "слабый_ADJ_улыбка_NOUN", - "слава_NOUN_бог_NOUN", - "слава_NOUN_бог_PROPN", - "слава_NOUN_тебе_PROPN", - "слава_PROPN_бог_NOUN", - "слава_PROPN_бог_PROPN", - "славиться_VERB_свой_DET", - "славный_ADJ_богатырь_NOUN", - "славный_ADJ_воин_NOUN", - "славный_ADJ_малый_ADJ", - "славный_ADJ_мальчуган_NOUN", - "славный_ADJ_парень_NOUN", - "славный_ADJ_подвиг_NOUN", - "славный_ADJ_род_NOUN", - "славный_ADJ_царь_NOUN", - "сладкий_ADJ_аромат_NOUN", - "сладкий_ADJ_вино_NOUN", - "сладкий_ADJ_дремота_NOUN", - "сладкий_ADJ_запах_NOUN", - "сладкий_ADJ_пирог_NOUN", - "сладкий_ADJ_пирожок_NOUN", - "сладкий_ADJ_сок_NOUN", - "сладкий_ADJ_сон_NOUN", - "сладкий_ADJ_чай_NOUN", - "сладко_ADV_дремать_VERB", - "сладко_ADV_заснуть_VERB", - "сладко_ADV_зевнуть_VERB", - "сладко_ADV_пахнуть_VERB", - "сладко_ADV_потянуться_VERB", - "сладко_ADV_спать_VERB", - "сладковатый_ADJ_запах_NOUN", - "слева_ADV_направо_ADV", - "слегка_ADV_вздрогнуть_VERB", - "слегка_ADV_дотронуться_VERB", - "слегка_ADV_дрогнуть_VERB", - "слегка_ADV_дрожать_VERB", - "слегка_ADV_задеть_VERB", - "слегка_ADV_коснуться_VERB", - "слегка_ADV_наклонить_VERB", - "слегка_ADV_наклониться_VERB", - "слегка_ADV_обидеться_VERB", - "слегка_ADV_побледнеть_VERB", - "слегка_ADV_подтолкнуть_VERB", - "слегка_ADV_покачивать_VERB", - "слегка_ADV_покачиваться_VERB", - "слегка_ADV_поклониться_VERB", - "слегка_ADV_покраснеть_VERB", - "слегка_ADV_приоткрыть_VERB", - "слегка_ADV_приподнять_VERB", - "слегка_ADV_приподняться_VERB", - "слегка_ADV_прихрамывать_VERB", - "слегка_ADV_растеряться_VERB", - "слегка_ADV_смутиться_VERB", - "слегка_ADV_толкнуть_VERB", - "след_NOUN_копыт_NOUN", - "след_NOUN_недавний_ADJ", - "след_NOUN_пребывание_NOUN", - "след_NOUN_простыть_VERB", - "следи_NOUN_за_ADP", - "следите_VERB_за_ADP", - "следить_VERB_за_ADP", - "следовать_VERB_избегать_VERB", - "следовать_VERB_ожидать_VERB", - "следовать_VERB_указание_NOUN", - "следом_ADV_за_ADP", - "следственный_ADJ_судья_NOUN", - "следственный_ADJ_эксперимент_NOUN", - "следуй_PROPN_за_ADP", - "следуй_VERB_за_ADP", - "следующий_ADJ_воскресение_NOUN", - "следующий_ADJ_день_NOUN", - "следующий_ADJ_мгновение_NOUN", - "следующий_ADJ_миг_NOUN", - "следующий_ADJ_неделя_NOUN", - "следующий_ADJ_образ_NOUN", - "следующий_ADJ_остановка_NOUN", - "следующий_ADJ_перемена_NOUN", - "следующий_ADJ_раз_NOUN", - "следующий_ADJ_секунда_NOUN", - "следующий_ADJ_содержание_NOUN", - "следующий_ADJ_станция_NOUN", - "следующий_ADJ_строка_NOUN", - "следующий_ADJ_суббота_NOUN", - "следующий_ADJ_урок_NOUN", - "следующий_ADJ_утро_NOUN", - "следующий_ADJ_четверг_NOUN", - "следующий_ADJ_этап_NOUN", - "следя_VERB_за_ADP", - "слеза_NOUN_брызнуть_VERB", - "слеза_NOUN_выступить_VERB", - "слеза_NOUN_град_NOUN", - "слеза_NOUN_душить_VERB", - "слеза_NOUN_застилать_VERB", - "слеза_NOUN_капать_VERB", - "слеза_NOUN_катиться_VERB", - "слеза_NOUN_лить_VERB", - "слеза_NOUN_литься_VERB", - "слеза_NOUN_навернуться_VERB", - "слеза_NOUN_подступить_VERB", - "слеза_NOUN_потечь_VERB", - "слеза_NOUN_пролить_VERB", - "слеза_NOUN_течь_VERB", - "слеза_NOUN_умиление_NOUN", - "слеза_NOUN_хлынуть_VERB", - "слезиться_VERB_глаз_NOUN", - "слепить_VERB_глаз_NOUN", - "слепо_ADV_верить_VERB", - "слепо_ADV_повиноваться_VERB", - "слепой_ADJ_орудие_NOUN", - "слепой_ADJ_ярость_NOUN", - "слесарный_ADJ_мастерская_NOUN", - "слететь_VERB_вниз_ADV", - "сливочный_ADJ_масло_NOUN", - "слизистый_ADJ_оболочка_NOUN", - "слипаться_VERB_глаз_NOUN", - "слиток_NOUN_золото_NOUN", - "слиться_VERB_воедино_ADV", - "слишком_ADV_близко_ADV", - "слишком_ADV_взволновать_VERB", - "слишком_ADV_высоко_ADV", - "слишком_ADV_гордый_ADJ", - "слишком_ADV_громко_ADV", - "слишком_ADV_далеко_ADV", - "слишком_ADV_доверчивый_ADJ", - "слишком_ADV_долго_ADV", - "слишком_ADV_дорого_ADV", - "слишком_ADV_жестоко_ADV", - "слишком_ADV_мало_ADV", - "слишком_ADV_много_ADV", - "слишком_ADV_много_NUM", - "слишком_ADV_многого_NOUN", - "слишком_ADV_неравный_ADJ", - "слишком_ADV_очевидный_ADJ", - "слишком_ADV_поздно_ADV", - "слишком_ADV_рано_ADV", - "слишком_ADV_рискованный_ADJ", - "слишком_ADV_сильно_ADV", - "слишком_ADV_слабый_ADJ", - "слишком_ADV_сложный_ADJ", - "слишком_ADV_уверенно_ADV", - "слишком_ADV_уж_PART", - "слишком_ADV_хорошо_ADV", - "слишком_ADV_часто_ADV", - "слов_PROPN_нет_VERB", - "словарный_ADJ_запас_NOUN", - "словесный_ADJ_портрет_NOUN", - "словно_ADV_бы_PART", - "словно_PART_бы_AUX", - "словно_PART_бы_PART", - "словно_SCONJ_вымереть_VERB", - "словно_SCONJ_заворожить_VERB", - "словно_SCONJ_извиняться_VERB", - "словно_SCONJ_нехотя_ADV", - "словно_SCONJ_окаменеть_VERB", - "словно_SCONJ_оправдываться_VERB", - "словно_SCONJ_отгонять_VERB", - "словно_SCONJ_очнуться_VERB", - "словно_SCONJ_прилипнуть_VERB", - "словно_SCONJ_прирасти_VERB", - "словно_SCONJ_растаять_VERB", - "словно_SCONJ_раствориться_VERB", - "словно_SCONJ_угадать_VERB", - "словно_SCONJ_эхо_NOUN", - "слово_NOUN_вымолвить_VERB", - "слово_NOUN_молвить_VERB", - "сложа_VERB_рука_NOUN", - "сложить_VERB_вдвое_ADV", - "сложить_VERB_вчетверо_ADV", - "сложить_VERB_газета_NOUN", - "сложить_VERB_крыло_NOUN", - "сложить_VERB_ладонь_NOUN", - "сложить_VERB_оружие_NOUN", - "сложить_VERB_рука_NOUN", - "сложиться_VERB_обстоятельство_NOUN", - "сложиться_VERB_ситуация_NOUN", - "сложный_ADJ_задача_NOUN", - "сложный_ADJ_механизм_NOUN", - "сложный_ADJ_операция_NOUN", - "сложный_ADJ_система_NOUN", - "сложный_ADJ_ситуация_NOUN", - "сложённый_ADJ_вчетверо_ADV", - "слой_NOUN_атмосфера_NOUN", - "слой_NOUN_лёд_NOUN", - "слой_NOUN_общество_NOUN", - "слой_NOUN_песок_NOUN", - "слой_NOUN_пыль_NOUN", - "слой_NOUN_снег_NOUN", - "сломанный_ADJ_зуб_PROPN", - "сломать_VERB_ветка_NOUN", - "сломать_VERB_нога_NOUN", - "сломать_VERB_печать_NOUN", - "сломя_VERB_голова_NOUN", - "слон_NOUN_дитя_NOUN", - "слоновый_ADJ_кость_NOUN", - "слоняться_VERB_без_ADP", - "слоняться_VERB_по_ADP", - "слуга_NOUN_доложить_VERB", - "слуга_NOUN_покорный_ADJ", - "служба_NOUN_безопасность_NOUN", - "служебный_ADJ_вход_NOUN", - "служебный_ADJ_долг_NOUN", - "служебный_ADJ_кабинет_NOUN", - "служебный_ADJ_обязанность_NOUN", - "служебный_ADJ_положение_NOUN", - "служебный_ADJ_помещение_NOUN", - "служебный_ADJ_собака_NOUN", - "служебный_ADJ_тайна_NOUN", - "служитель_NOUN_церковь_NOUN", - "служить_VERB_доказательство_NOUN", - "служить_VERB_проводник_NOUN", - "служить_VERB_убежище_NOUN", - "слух_NOUN_долететь_VERB", - "слух_NOUN_донестись_VERB", - "слух_NOUN_доноситься_VERB", - "слуховой_ADJ_аппарат_NOUN", - "слуховой_ADJ_окно_NOUN", - "слуховой_ADJ_трубка_NOUN", - "случай_NOUN_надобность_NOUN", - "случай_NOUN_необходимость_NOUN", - "случай_NOUN_неудача_NOUN", - "случай_NOUN_нужда_NOUN", - "случайно_ADV_встретить_VERB", - "случайно_ADV_встретиться_VERB", - "случайно_ADV_забрести_VERB", - "случайно_ADV_наткнуться_VERB", - "случайно_ADV_обнаружить_VERB", - "случайно_ADV_подслушать_VERB", - "случайно_ADV_попасть_VERB", - "случайный_ADJ_встреча_NOUN", - "случайный_ADJ_попутчик_NOUN", - "случайный_ADJ_прохожий_NOUN", - "случайный_ADJ_совпадение_NOUN", - "случаться_VERB_редко_ADV", - "случилось_VERB_что_PRON", - "случиться_VERB_беда_NOUN", - "случиться_VERB_непоправимый_ADJ", - "случиться_VERB_непредвиденный_ADJ", - "случиться_VERB_несчастие_NOUN", - "случиться_VERB_нечто_PRON", - "слушай_VERB_меня_PRON", - "слушать_VERB_болтовня_NOUN", - "слушать_VERB_внимательно_ADV", - "слушать_VERB_затаить_VERB", - "слушать_VERB_лекция_NOUN", - "слушать_VERB_музыка_NOUN", - "слушать_VERB_радио_NOUN", - "слушать_VERB_рассказ_NOUN", - "слушаю_PROPN_вас_PRON", - "слушаю_PROPN_ваш_DET", - "слушаю_PROPN_господин_NOUN", - "слушаю_VERB_вас_PRON", - "слыхал_VERB_про_ADP", - "слыхать_VERB_про_ADP", - "слышаться_VERB_глухой_ADJ", - "слышаться_VERB_голос_NOUN", - "слышаться_VERB_громкий_ADJ", - "слышаться_VERB_крик_NOUN", - "слышаться_VERB_стук_NOUN", - "слышаться_VERB_топот_NOUN", - "слышаться_VERB_шум_NOUN", - "слюнка_NOUN_потечь_VERB", - "смазать_VERB_масло_NOUN", - "смазочный_ADJ_масло_NOUN", - "сматывать_VERB_удочка_NOUN", - "смахнуть_VERB_слеза_NOUN", - "смахнуть_VERB_со_ADP", - "смеешься_VERB_надо_ADV", - "смежный_ADJ_комната_NOUN", - "смело_ADV_направиться_VERB", - "смело_ADV_шагнуть_VERB", - "смелый_ADJ_план_NOUN", - "смелый_ADJ_поступок_NOUN", - "смелый_ADJ_предприятие_NOUN", - "смена_NOUN_бельё_NOUN", - "сменить_VERB_гнев_NOUN", - "сменить_VERB_тема_NOUN", - "сменить_VERB_тон_NOUN", - "сменный_ADJ_обувь_NOUN", - "сменять_VERB_друг_PRON", - "смерить_VERB_его_PRON", - "смертельно_ADV_бледный_ADJ", - "смертельно_ADV_бояться_VERB", - "смертельно_ADV_опасный_ADJ", - "смертельно_ADV_побледнеть_VERB", - "смертельно_ADV_ранить_VERB", - "смертельно_ADV_устать_VERB", - "смертельно_ADV_хотеться_VERB", - "смертельный_ADJ_бледность_NOUN", - "смертельный_ADJ_бой_NOUN", - "смертельный_ADJ_враг_NOUN", - "смертельный_ADJ_опасность_NOUN", - "смертельный_ADJ_рана_NOUN", - "смертельный_ADJ_страх_NOUN", - "смертельный_ADJ_схватка_NOUN", - "смертельный_ADJ_тоска_NOUN", - "смертельный_ADJ_удар_NOUN", - "смертельный_ADJ_ужас_NOUN", - "смертный_ADJ_бой_NOUN", - "смертный_ADJ_грех_NOUN", - "смертный_ADJ_казнь_NOUN", - "смертный_ADJ_одре_NOUN", - "смертный_ADJ_приговор_NOUN", - "смертоносный_ADJ_оружие_NOUN", - "сметь_VERB_ослушаться_VERB", - "сметь_VERB_трогать_VERB", - "смешанный_ADJ_чувство_NOUN", - "смешной_ADJ_история_NOUN", - "смеяться_VERB_над_ADP", - "смирительный_ADJ_рубашка_NOUN", - "смирно_ADV_сидеть_VERB", - "смолистый_ADJ_запах_NOUN", - "смоляной_ADJ_факел_NOUN", - "сморозить_VERB_глупость_NOUN", - "сморщенный_ADJ_лицо_NOUN", - "сморщить_VERB_лоб_NOUN", - "сморщить_VERB_нос_NOUN", - "смотреть_VERB_вдаль_ADV", - "смотреть_VERB_ка_INTJ", - "смотреть_VERB_телевизор_NOUN", - "смотри_PROPN_ка_PROPN", - "смотровой_ADJ_площадка_NOUN", - "смочь_VERB_вымолвить_VERB", - "смочь_VERB_сдержать_VERB", - "смочь_VERB_скрыть_VERB", - "смочь_VERB_удержать_VERB", - "смочь_VERB_удержаться_VERB", - "смочь_VERB_устоять_VERB", - "смуглый_ADJ_кожа_NOUN", - "смуглый_ADJ_лицо_NOUN", - "смуглый_ADJ_личико_NOUN", - "смуглый_ADJ_щека_NOUN", - "смутно_ADV_белеть_VERB", - "смутно_ADV_виднеться_VERB", - "смутно_ADV_вырисовываться_VERB", - "смутно_ADV_догадываться_VERB", - "смутно_ADV_помнить_VERB", - "смутно_ADV_припоминать_VERB", - "смутно_ADV_сознавать_VERB", - "смутно_ADV_чувствовать_VERB", - "смутный_ADJ_беспокойство_NOUN", - "смутный_ADJ_воспоминание_NOUN", - "смутный_ADJ_догадка_NOUN", - "смутный_ADJ_надежда_NOUN", - "смутный_ADJ_очертание_NOUN", - "смутный_ADJ_ощущение_NOUN", - "смутный_ADJ_подозрение_NOUN", - "смутный_ADJ_представление_NOUN", - "смутный_ADJ_предчувствие_NOUN", - "смутный_ADJ_тревога_NOUN", - "смутный_ADJ_чувство_NOUN", - "смущенно_ADV_опустить_VERB", - "смущенно_ADV_признаться_VERB", - "смущенно_ADV_пробормотать_VERB", - "смущенно_ADV_проговорить_VERB", - "смущенно_ADV_улыбаться_VERB", - "смущенно_ADV_улыбнуться_VERB", - "смущённый_ADJ_улыбка_NOUN", - "смыкать_VERB_глаз_NOUN", - "смыть_VERB_волна_NOUN", - "снаружи_ADV_послышаться_VERB", - "снаряд_NOUN_разорваться_VERB", - "снег_NOUN_валить_VERB", - "снег_NOUN_выпасть_VERB", - "снег_NOUN_растаять_VERB", - "снег_NOUN_скрипеть_VERB", - "снег_NOUN_таять_VERB", - "снеговой_ADJ_вершина_NOUN", - "снежный_ADJ_баба_NOUN", - "снежный_ADJ_белизна_NOUN", - "снежный_ADJ_болван_NOUN", - "снежный_ADJ_буря_NOUN", - "снежный_ADJ_вершина_NOUN", - "снежный_ADJ_вихрь_NOUN", - "снежный_ADJ_гора_NOUN", - "снежный_ADJ_занос_NOUN", - "снежный_ADJ_ком_NOUN", - "снежный_ADJ_королева_NOUN", - "снежный_ADJ_лавина_NOUN", - "снежный_ADJ_метель_NOUN", - "снежный_ADJ_пелена_NOUN", - "снежный_ADJ_покров_NOUN", - "снежный_ADJ_поле_NOUN", - "снежный_ADJ_пыль_NOUN", - "снежный_ADJ_равнина_NOUN", - "снежный_ADJ_сугроб_NOUN", - "снежный_ADJ_хлопья_NOUN", - "снежный_ADJ_шапка_NOUN", - "снижать_VERB_скорость_NOUN", - "снизить_VERB_скорость_NOUN", - "снизойти_VERB_до_ADP", - "снизу_ADV_вверх_ADV", - "снизу_ADV_доверху_ADV", - "снилось_VERB_будто_SCONJ", - "снимать_VERB_очки_NOUN", - "снимать_VERB_пальто_NOUN", - "снимать_VERB_шапка_NOUN", - "снимать_VERB_шляпа_NOUN", - "снисходительно_ADV_улыбаться_VERB", - "снисходительно_ADV_улыбнуться_VERB", - "снисходительно_ADV_усмехнуться_VERB", - "снисходительный_ADJ_улыбка_NOUN", - "снисходить_VERB_до_ADP", - "сниться_VERB_сон_NOUN", - "снова_ADV_воцариться_VERB", - "снова_ADV_впасть_VERB", - "снова_ADV_заговорить_VERB", - "снова_ADV_зазвонить_VERB", - "снова_ADV_обрести_VERB", - "снова_ADV_погрузиться_VERB", - "снова_ADV_приниматься_VERB", - "снова_ADV_углубиться_VERB", - "снова_ADV_уткнуться_VERB", - "сновать_VERB_взад_ADV", - "сновать_VERB_туда_ADV", - "сноп_NOUN_свет_NOUN", - "снять_VERB_ботинок_NOUN", - "снять_VERB_картуз_NOUN", - "снять_VERB_кепка_NOUN", - "снять_VERB_крышка_NOUN", - "снять_VERB_куртка_NOUN", - "снять_VERB_маска_NOUN", - "снять_VERB_осада_NOUN", - "снять_VERB_очки_NOUN", - "снять_VERB_пальто_NOUN", - "снять_VERB_перчатка_NOUN", - "снять_VERB_пиджак_NOUN", - "снять_VERB_повязка_NOUN", - "снять_VERB_сапог_NOUN", - "снять_VERB_скальп_NOUN", - "снять_VERB_телефонный_ADJ", - "снять_VERB_трубка_NOUN", - "снять_VERB_фуражка_NOUN", - "снять_VERB_шапка_NOUN", - "снять_VERB_шлем_NOUN", - "снять_VERB_шляпа_NOUN", - "со_ADP_вздох_NOUN", - "со_ADP_взлом_NOUN", - "со_ADP_вкус_NOUN", - "со_ADP_впалый_ADJ", - "со_ADP_все_DET", - "со_ADP_всеми_PRON", - "со_ADP_всею_NOUN", - "со_ADP_всяким_ADJ", - "со_ADP_вчерашний_ADJ", - "со_ADP_звон_NOUN", - "со_ADP_зло_NOUN", - "со_ADP_злоба_NOUN", - "со_ADP_зловещим_VERB", - "со_ADP_злорадный_ADJ", - "со_ADP_злорадство_NOUN", - "со_ADP_злость_NOUN", - "со_ADP_знакомыми_NOUN", - "со_ADP_знание_NOUN", - "со_ADP_многими_NUM", - "со_ADP_мной_PRON", - "со_ADP_мною_PRON", - "со_ADP_свастика_NOUN", - "со_ADP_сверкающий_ADJ", - "со_ADP_сверстник_NOUN", - "со_ADP_светкой_PROPN", - "со_ADP_свист_NOUN", - "со_ADP_сводчатый_ADJ", - "со_ADP_своею_NOUN", - "со_ADP_свойственный_ADJ", - "со_ADP_сдержанный_ADJ", - "со_ADP_скамейка_NOUN", - "со_ADP_скамья_NOUN", - "со_ADP_скорость_NOUN", - "со_ADP_скрежет_NOUN", - "со_ADP_скрип_NOUN", - "со_ADP_скрытый_ADJ", - "со_ADP_скука_NOUN", - "со_ADP_сливка_NOUN", - "со_ADP_сметана_NOUN", - "со_ADP_смех_NOUN", - "со_ADP_смеху_NOUN", - "со_ADP_смешанный_ADJ", - "со_ADP_смешок_NOUN", - "со_ADP_снисходительный_ADJ", - "со_ADP_стаж_NOUN", - "со_ADP_старший_NOUN", - "со_ADP_степкой_PROPN", - "со_ADP_стеснить_VERB", - "со_ADP_стон_NOUN", - "со_ADP_странность_NOUN", - "со_ADP_страху_NOUN", - "со_ADP_стремянка_NOUN", - "со_ADP_стул_NOUN", - "со_ADP_стыд_NOUN", - "со_ADP_швабра_NOUN", - "со_ADP_шмаков_PROPN", - "со_ADP_шрам_NOUN", - "со_ADP_штамп_NOUN", - "со_ADP_щами_NOUN", - "собака_NOUN_баскервилей_PROPN", - "собака_NOUN_залаять_VERB", - "собака_NOUN_ищейка_NOUN", - "собака_NOUN_лаять_VERB", - "собака_NOUN_почуять_VERB", - "собачий_ADJ_будка_NOUN", - "собачий_ADJ_вой_NOUN", - "собачий_ADJ_конура_NOUN", - "собачий_ADJ_лай_NOUN", - "собачий_ADJ_лапа_NOUN", - "собачий_ADJ_морда_NOUN", - "собачий_ADJ_упряжка_NOUN", - "собачий_ADJ_шерсть_NOUN", - "собачий_ADJ_язык_NOUN", - "собирать_VERB_вещь_NOUN", - "собирать_VERB_гриб_NOUN", - "собирать_VERB_коллекция_NOUN", - "собирать_VERB_марка_NOUN", - "собирать_VERB_материал_NOUN", - "собирать_VERB_мёд_NOUN", - "собирать_VERB_сведение_NOUN", - "собирать_VERB_хворост_NOUN", - "собирать_VERB_ягода_NOUN", - "собираться_VERB_жениться_VERB", - "соблаговолить_VERB_ли_PART", - "соблюдать_VERB_осторожность_NOUN", - "соблюдать_VERB_правило_NOUN", - "соблюдать_VERB_строгий_ADJ", - "соблюдать_VERB_тишина_NOUN", - "собор_NOUN_парижский_ADJ", - "собор_NOUN_святой_ADJ", - "соборный_ADJ_площадь_NOUN", - "собрание_NOUN_сочинение_NOUN", - "собрать_VERB_остаток_NOUN", - "собрать_VERB_сведение_NOUN", - "собраться_VERB_вокруг_ADP", - "собраться_VERB_толпа_NOUN", - "собраться_VERB_уходить_VERB", - "собственно_ADV_говорить_VERB", - "собственный_ADJ_безопасность_NOUN", - "собственный_ADJ_воля_NOUN", - "собственный_ADJ_выгода_NOUN", - "собственный_ADJ_достоинство_NOUN", - "собственный_ADJ_желание_NOUN", - "собственный_ADJ_инициатива_NOUN", - "собственный_ADJ_мнение_NOUN", - "собственный_ADJ_опыт_NOUN", - "собственный_ADJ_отражение_NOUN", - "собственный_ADJ_персона_NOUN", - "собственный_ADJ_сочинение_NOUN", - "собственный_ADJ_тяжесть_NOUN", - "собственный_ADJ_усмотрение_NOUN", - "собственный_ADJ_шкура_NOUN", - "событие_NOUN_вчерашний_ADJ", - "событие_NOUN_минувший_ADJ", - "событие_NOUN_произойти_VERB", - "событие_NOUN_происходить_VERB", - "событие_NOUN_развиваться_VERB", - "совать_VERB_нос_NOUN", - "совершать_VERB_ошибка_NOUN", - "совершать_VERB_подвиг_NOUN", - "совершать_VERB_преступление_NOUN", - "совершать_VERB_прогулка_NOUN", - "совершать_VERB_путешествие_NOUN", - "совершать_VERB_рейс_NOUN", - "совершать_VERB_чудо_NOUN", - "совершение_NOUN_преступление_NOUN", - "совершенно_ADV_безвредный_ADJ", - "совершенно_ADV_беззащитный_ADJ", - "совершенно_ADV_безлюдный_ADJ", - "совершенно_ADV_безнадёжный_ADJ", - "совершенно_ADV_безобидный_ADJ", - "совершенно_ADV_безопасный_ADJ", - "совершенно_ADV_безразличный_ADJ", - "совершенно_ADV_бесплатно_ADV", - "совершенно_ADV_бесполезный_ADJ", - "совершенно_ADV_беспомощный_ADJ", - "совершенно_ADV_бессмысленный_ADJ", - "совершенно_ADV_бессознательно_ADV", - "совершенно_ADV_бесшумно_ADV", - "совершенно_ADV_верный_ADJ", - "совершенно_ADV_выбиться_VERB", - "совершенно_ADV_естественный_ADJ", - "совершенно_ADV_здоровый_ADJ", - "совершенно_ADV_излишний_ADJ", - "совершенно_ADV_иное_ADJ", - "совершенно_ADV_иным_ADJ", - "совершенно_ADV_исключительный_ADJ", - "совершенно_ADV_искренне_ADV", - "совершенно_ADV_лысый_ADJ", - "совершенно_ADV_напрасно_ADV", - "совершенно_ADV_невероятный_ADJ", - "совершенно_ADV_невозможный_ADJ", - "совершенно_ADV_невыносимый_ADJ", - "совершенно_ADV_недоступный_ADJ", - "совершенно_ADV_незаметный_ADJ", - "совершенно_ADV_незнакомый_ADJ", - "совершенно_ADV_неинтересный_ADJ", - "совершенно_ADV_немыслимый_ADJ", - "совершенно_ADV_ненужный_ADJ", - "совершенно_ADV_необходимый_ADJ", - "совершенно_ADV_необъяснимый_ADJ", - "совершенно_ADV_неожиданно_ADV", - "совершенно_ADV_неожиданный_ADJ", - "совершенно_ADV_неподвижный_ADJ", - "совершенно_ADV_непонятный_ADJ", - "совершенно_ADV_непохожий_ADJ", - "совершенно_ADV_неузнаваемый_ADJ", - "совершенно_ADV_неуместный_ADJ", - "совершенно_ADV_обессилеть_VERB", - "совершенно_ADV_обессилить_VERB", - "совершенно_ADV_одинаковый_ADJ", - "совершенно_ADV_оправиться_VERB", - "совершенно_ADV_отвесный_ADJ", - "совершенно_ADV_отсутствовать_VERB", - "совершенно_ADV_отчетливо_ADV", - "совершенно_ADV_очевидный_ADJ", - "совершенно_ADV_ошеломить_VERB", - "совершенно_ADV_подавить_VERB", - "совершенно_ADV_позабыть_VERB", - "совершенно_ADV_посторонний_ADJ", - "совершенно_ADV_преобразиться_VERB", - "совершенно_ADV_пустой_ADJ", - "совершенно_ADV_пустынный_ADJ", - "совершенно_ADV_равнодушно_ADV", - "совершенно_ADV_равнодушный_ADJ", - "совершенно_ADV_растеряться_VERB", - "совершенно_ADV_самостоятельно_ADV", - "совершенно_ADV_свободно_ADV", - "совершенно_ADV_секретный_ADJ", - "совершенно_ADV_серьезно_ADV", - "совершенно_ADV_случайно_ADV", - "совершенно_ADV_согласный_ADJ", - "совершенно_ADV_спокойно_ADV", - "совершенно_ADV_спокойный_ADJ", - "совершенно_ADV_справедливо_ADV", - "совершенно_ADV_справедливый_ADJ", - "совершенно_ADV_уверенный_ADJ", - "совершенно_ADV_чуждый_ADJ", - "совершенно_ADV_явственно_ADV", - "совершенно_ADV_ясный_ADJ", - "совершенный_ADJ_правда_NOUN", - "совершенный_ADJ_темнота_NOUN", - "совершенство_NOUN_владеть_VERB", - "совершить_VERB_кража_NOUN", - "совершить_VERB_нападение_NOUN", - "совершить_VERB_ошибка_NOUN", - "совершить_VERB_подвиг_NOUN", - "совершить_VERB_посадка_NOUN", - "совершить_VERB_преступление_NOUN", - "совершить_VERB_путешествие_NOUN", - "совершить_VERB_убийство_NOUN", - "совершить_VERB_чудо_NOUN", - "совесть_NOUN_мучить_VERB", - "совесть_NOUN_чистый_ADJ", - "совет_NOUN_дружина_NOUN", - "совет_NOUN_отряд_NOUN", - "советовать_VERB_вам_PRON", - "советовать_VERB_тебе_PRON", - "советский_ADJ_армия_PROPN", - "советский_ADJ_власть_NOUN", - "советский_ADJ_войско_NOUN", - "советский_ADJ_государство_NOUN", - "советский_ADJ_гражданин_NOUN", - "советский_ADJ_лётчик_NOUN", - "советский_ADJ_моряк_NOUN", - "советский_ADJ_народ_NOUN", - "советский_ADJ_правительство_NOUN", - "советский_ADJ_республика_NOUN", - "советский_ADJ_россия_PROPN", - "советский_ADJ_союз_PROPN", - "советский_ADJ_страна_NOUN", - "советский_ADJ_учёный_NOUN", - "совещаться_VERB_между_ADP", - "совиный_ADJ_башня_NOUN", - "совладать_VERB_со_ADP", - "совместный_ADJ_жизнь_NOUN", - "совместный_ADJ_работа_NOUN", - "совместный_ADJ_усилие_NOUN", - "современный_ADJ_мода_NOUN", - "современный_ADJ_молодёжь_NOUN", - "современный_ADJ_наука_NOUN", - "современный_ADJ_орфография_NOUN", - "современный_ADJ_техника_NOUN", - "современный_ADJ_учёный_NOUN", - "совсем_ADV_близко_ADV", - "совсем_ADV_выбиться_VERB", - "совсем_ADV_другая_ADJ", - "совсем_ADV_другим_ADJ", - "совсем_ADV_другое_ADJ", - "совсем_ADV_запутаться_VERB", - "совсем_ADV_измучиться_VERB", - "совсем_ADV_иная_ADJ", - "совсем_ADV_иное_ADJ", - "совсем_ADV_иным_ADJ", - "совсем_ADV_молоденький_ADJ", - "совсем_ADV_недавно_ADV", - "совсем_ADV_недалеко_ADV", - "совсем_ADV_неинтересный_ADJ", - "совсем_ADV_некстати_ADV", - "совсем_ADV_необязательный_ADJ", - "совсем_ADV_непохожий_ADJ", - "совсем_ADV_нетрудный_ADJ", - "совсем_ADV_обалдеть_VERB", - "совсем_ADV_обессилеть_VERB", - "совсем_ADV_обнаглеть_VERB", - "совсем_ADV_осмелеть_VERB", - "совсем_ADV_ошалеть_VERB", - "совсем_ADV_позабыть_VERB", - "совсем_ADV_рассвести_VERB", - "совсем_ADV_растеряться_VERB", - "совсем_ADV_рехнуться_VERB", - "совсем_ADV_светло_ADV", - "совсем_ADV_спятить_VERB", - "совсем_ADV_стемнеть_VERB", - "согласитесь_VERB_сами_ADJ", - "согласно_ADP_закивать_VERB", - "согласно_ADP_закон_NOUN", - "согласно_ADP_кивать_VERB", - "согласно_ADP_кивнуть_VERB", - "согласно_ADP_которому_PRON", - "согласно_ADP_обычай_NOUN", - "согласно_ADV_кивнуть_VERB", - "согласно_SCONJ_кивнуть_VERB", - "согнутый_ADJ_палец_NOUN", - "согнуть_VERB_колено_NOUN", - "согнуть_VERB_нога_NOUN", - "согнуть_VERB_спина_NOUN", - "согнуться_VERB_над_ADP", - "согнуться_VERB_пополам_ADV", - "содержание_NOUN_письмо_NOUN", - "содовый_ADJ_вода_NOUN", - "содрать_VERB_кожа_NOUN", - "содрать_VERB_шкура_NOUN", - "содрогаться_VERB_от_ADP", - "содрогаться_VERB_при_ADP", - "содрогнуться_VERB_от_ADP", - "содрогнуться_VERB_при_ADP", - "соединенные_ADJ_штат_PROPN", - "соединить_VERB_между_ADP", - "соединить_VERB_штат_PROPN", - "соединяться_VERB_между_ADP", - "сожалеть_VERB_о_ADP", - "сожалеть_VERB_об_ADP", - "создавалось_VERB_впечатление_NOUN", - "создавать_VERB_впечатление_NOUN", - "создаваться_VERB_впечатление_NOUN", - "создание_NOUN_которое_PRON", - "создать_VERB_природа_NOUN", - "создаться_VERB_впечатление_NOUN", - "создаться_VERB_положение_NOUN", - "сознание_NOUN_собственный_ADJ", - "сознательный_ADJ_жизнь_NOUN", - "созреть_VERB_план_NOUN", - "сойти_VERB_вниз_ADV", - "соколиный_ADJ_глаз_PROPN", - "соколиный_ADJ_охота_NOUN", - "сократить_VERB_путь_NOUN", - "сокровенный_ADJ_мысль_NOUN", - "сокровенный_ADJ_тайна_NOUN", - "сокрушительный_ADJ_удар_NOUN", - "сокрушённо_ADV_вздохнуть_VERB", - "сокрушённо_ADV_покачать_VERB", - "сол_PROPN_борисович_PROPN", - "солдат_NOUN_орешек_PROPN", - "солдатский_ADJ_гимнастёрка_NOUN", - "солдатский_ADJ_сапог_NOUN", - "солдатский_ADJ_шинель_NOUN", - "солидно_ADV_ответить_VERB", - "солнечный_ADJ_блик_NOUN", - "солнечный_ADJ_ванна_NOUN", - "солнечный_ADJ_восход_NOUN", - "солнечный_ADJ_диск_NOUN", - "солнечный_ADJ_жар_NOUN", - "солнечный_ADJ_зайчик_NOUN", - "солнечный_ADJ_закат_NOUN", - "солнечный_ADJ_затмение_NOUN", - "солнечный_ADJ_луч_NOUN", - "солнечный_ADJ_лучам_NOUN", - "солнечный_ADJ_погода_NOUN", - "солнечный_ADJ_пятно_NOUN", - "солнечный_ADJ_свет_NOUN", - "солнечный_ADJ_система_NOUN", - "солнечный_ADJ_сияние_NOUN", - "солнечный_ADJ_скала_PROPN", - "солнечный_ADJ_сплетение_NOUN", - "солнечный_ADJ_тепло_NOUN", - "солнечный_ADJ_удар_NOUN", - "солнечный_ADJ_энергия_NOUN", - "солнце_NOUN_взойти_VERB", - "солнце_NOUN_всходить_VERB", - "солнце_NOUN_греть_VERB", - "солнце_NOUN_жечь_VERB", - "солнце_NOUN_освещать_VERB", - "солнце_NOUN_палить_VERB", - "солнце_NOUN_светить_VERB", - "солнце_PROPN_взойти_VERB", - "солнце_PROPN_жечь_VERB", - "солнце_PROPN_зайти_VERB", - "солнце_PROPN_заходить_VERB", - "солнце_PROPN_клониться_VERB", - "солнце_PROPN_освещать_VERB", - "солнце_PROPN_палить_VERB", - "солнце_PROPN_подниматься_VERB", - "солнце_PROPN_припекать_VERB", - "солнце_PROPN_садиться_VERB", - "солнце_PROPN_светить_VERB", - "солнце_PROPN_село_NOUN", - "солнце_PROPN_сиять_VERB", - "солнце_PROPN_ярко_ADV", - "солнышко_NOUN_светить_VERB", - "соловей_PROPN_разбойник_NOUN", - "соловьиный_ADJ_трель_NOUN", - "соломенный_ADJ_крыша_NOUN", - "соломенный_ADJ_шляпа_NOUN", - "соломенный_ADJ_шляпка_NOUN", - "соломон_PROPN_борисович_PROPN", - "соломонов_ADJ_остров_NOUN", - "соляный_ADJ_озеро_NOUN", - "солёный_ADJ_вода_NOUN", - "солёный_ADJ_морской_ADJ", - "солёный_ADJ_огурец_NOUN", - "солёный_ADJ_озеро_NOUN", - "солёный_ADJ_озеро_PROPN", - "солёный_ADJ_рыба_NOUN", - "сомкнуть_VERB_глаз_NOUN", - "сомкнуть_VERB_ряд_NOUN", - "сомкнуться_VERB_над_ADP", - "сомнение_NOUN_насчёт_ADP", - "сомнение_NOUN_относительно_ADP", - "сомнение_NOUN_покачать_VERB", - "сон_NOUN_грядущий_ADJ", - "сон_NOUN_наяву_ADV", - "сон_NOUN_праведник_NOUN", - "сон_NOUN_присниться_VERB", - "сон_NOUN_сниться_VERB", - "сон_PROPN_даль_PROPN", - "сонный_ADJ_голос_NOUN", - "сонный_ADJ_муха_NOUN", - "сонный_ADJ_царство_NOUN", - "соня_PROPN_наоборот_PROPN", - "сообразив_VERB_что_SCONJ", - "сообразоваться_VERB_с_ADP", - "сообщение_NOUN_о_ADP", - "соответствие_NOUN_с_ADP", - "соответствие_NOUN_со_ADP", - "соответствовать_VERB_действительность_NOUN", - "соответствовать_VERB_истина_NOUN", - "соответствующий_ADJ_образ_NOUN", - "сопротивление_NOUN_бесполезный_ADJ", - "сорвать_VERB_маска_NOUN", - "сорвать_VERB_цветок_NOUN", - "сорваться_VERB_вниз_ADV", - "сорви_ADJ_голова_NOUN", - "сорви_ADJ_голова_PROPN", - "сорви_NOUN_голова_NOUN", - "сорви_PROPN_голова_NOUN", - "сорви_PROPN_голова_PROPN", - "сорить_VERB_деньга_NOUN", - "сорный_ADJ_трава_NOUN", - "сорок_NUM_верста_NOUN", - "сорок_NUM_восемь_NUM", - "сорок_NUM_восьмой_ADJ", - "сорок_NUM_второй_ADJ", - "сорок_NUM_год_NOUN", - "сорок_NUM_градус_NOUN", - "сорок_NUM_девятый_ADJ", - "сорок_NUM_девять_NUM", - "сорок_NUM_километр_NOUN", - "сорок_NUM_копейка_NOUN", - "сорок_NUM_метр_NOUN", - "сорок_NUM_миля_NOUN", - "сорок_NUM_минута_NOUN", - "сорок_NUM_пятый_ADJ", - "сорок_NUM_пять_NUM", - "сорок_NUM_пятьдесят_NUM", - "сорок_NUM_рубль_NOUN", - "сорок_NUM_седьмой_ADJ", - "сорок_NUM_семь_NUM", - "сорок_NUM_третий_ADJ", - "сорок_NUM_тысяча_NOUN", - "сорок_NUM_фут_NOUN", - "сорок_NUM_четвёртый_ADJ", - "сорок_NUM_четыре_NUM", - "сорок_NUM_шестой_ADJ", - "сорок_NUM_шесть_NUM", - "сороковой_ADJ_год_NOUN", - "сосед_NOUN_слева_ADV", - "сосед_NOUN_справа_ADV", - "соседка_NOUN_тётя_NOUN", - "соседний_ADJ_вагон_NOUN", - "соседний_ADJ_дача_NOUN", - "соседний_ADJ_двор_NOUN", - "соседний_ADJ_деревня_NOUN", - "соседний_ADJ_дом_NOUN", - "соседний_ADJ_квартира_NOUN", - "соседний_ADJ_койка_NOUN", - "соседний_ADJ_колхоз_NOUN", - "соседний_ADJ_комната_NOUN", - "соседний_ADJ_купе_NOUN", - "соседний_ADJ_переулок_NOUN", - "соседний_ADJ_подъезд_NOUN", - "соседний_ADJ_помещение_NOUN", - "соседний_ADJ_село_NOUN", - "соседний_ADJ_столик_NOUN", - "соседний_ADJ_улица_NOUN", - "соседний_ADJ_участок_NOUN", - "соседский_ADJ_мальчишка_NOUN", - "соскользнуть_VERB_вниз_ADV", - "соскочить_VERB_со_ADP", - "соскучиться_VERB_по_ADP", - "сослужить_VERB_нам_PRON", - "сосновый_ADJ_бор_NOUN", - "сосновый_ADJ_ветка_NOUN", - "сосновый_ADJ_игла_NOUN", - "сосновый_ADJ_иголка_NOUN", - "сосновый_ADJ_кора_NOUN", - "сосновый_ADJ_лес_NOUN", - "сосновый_ADJ_роща_NOUN", - "сосновый_ADJ_ствол_NOUN", - "сосновый_ADJ_шишка_NOUN", - "сосредоточенно_ADV_глядеть_VERB", - "сосредоточенно_ADV_молчать_VERB", - "сосредоточенным_ADJ_вид_NOUN", - "состав_NOUN_экспедиция_NOUN", - "составить_VERB_компания_NOUN", - "составить_VERB_план_NOUN", - "составить_VERB_протокол_NOUN", - "составить_VERB_список_NOUN", - "составить_VERB_труд_NOUN", - "составлять_VERB_исключение_NOUN", - "составлять_VERB_около_ADP", - "составлять_VERB_предмет_NOUN", - "составлять_VERB_примерно_ADV", - "составлять_VERB_список_NOUN", - "составной_ADJ_часть_NOUN", - "состояние_NOUN_здоровье_NOUN", - "состояние_NOUN_невесомость_NOUN", - "состоятельный_ADJ_человек_NOUN", - "состоять_VERB_всего_PART", - "состоять_VERB_из_ADP", - "состоять_VERB_исключительно_ADV", - "сосчитать_VERB_до_ADP", - "сосчитать_VERB_сколько_NUM", - "сотворение_NOUN_мир_NOUN", - "сотворить_VERB_чудо_NOUN", - "соткать_VERB_из_ADP", - "сотня_NOUN_верста_NOUN", - "сотня_NOUN_год_NOUN", - "сотня_NOUN_доллар_NOUN", - "сотня_NOUN_километр_NOUN", - "сотня_NOUN_метр_NOUN", - "сотня_NOUN_миллион_NOUN", - "сотня_NOUN_миля_NOUN", - "сотня_NOUN_тысяча_NOUN", - "сотня_NOUN_фут_NOUN", - "сотня_NOUN_шаг_NOUN", - "сотня_NOUN_ярд_NOUN", - "сотовый_ADJ_телефон_NOUN", - "сотрудник_NOUN_милиция_NOUN", - "сотрудник_NOUN_музей_NOUN", - "сотрясаться_VERB_от_ADP", - "сотрясение_NOUN_мозг_NOUN", - "сотый_ADJ_доля_NOUN", - "сотый_ADJ_раз_NOUN", - "софия_PROPN_львович_PROPN", - "софья_PROPN_александрович_PROPN", - "софья_PROPN_борисович_PROPN", - "софья_PROPN_иванович_PROPN", - "софья_PROPN_константинович_PROPN", - "софья_PROPN_михаилович_PROPN", - "софья_PROPN_никандрович_PROPN", - "софья_PROPN_николаевич_PROPN", - "софья_PROPN_осипович_PROPN", - "софья_PROPN_павлович_PROPN", - "софья_PROPN_петрович_PROPN", - "софья_PROPN_терентиевич_PROPN", - "софья_PROPN_фёдорович_PROPN", - "софья_PROPN_яковлевич_PROPN", - "сохранить_VERB_равновесие_NOUN", - "сохранить_VERB_спокойствие_NOUN", - "сохранить_VERB_тайна_NOUN", - "сохранять_VERB_полный_ADJ", - "сохранять_VERB_равновесие_NOUN", - "сохранять_VERB_спокойствие_NOUN", - "социал_NOUN_демократ_NOUN", - "социалистический_ADJ_революция_NOUN", - "социальный_ADJ_положение_NOUN", - "сочетание_NOUN_цвет_NOUN", - "сочинить_VERB_стих_NOUN", - "сочинять_VERB_музыка_NOUN", - "сочинять_VERB_стих_NOUN", - "сочиться_VERB_кровь_NOUN", - "сочный_ADJ_зелень_NOUN", - "сочный_ADJ_плод_NOUN", - "сочный_ADJ_трава_NOUN", - "сочувственно_ADV_вздохнуть_VERB", - "сочувственно_ADV_спросить_VERB", - "сочувственный_ADJ_взгляд_NOUN", - "сощурить_VERB_глаз_NOUN", - "союз_PROPN_советский_ADJ", - "спальный_ADJ_вагон_NOUN", - "спальный_ADJ_мешок_NOUN", - "спасательный_ADJ_жилет_NOUN", - "спасательный_ADJ_круг_NOUN", - "спасательный_ADJ_лодка_NOUN", - "спасательный_ADJ_пояс_NOUN", - "спасательный_ADJ_работа_NOUN", - "спасательный_ADJ_станция_NOUN", - "спасательный_ADJ_шлюпка_NOUN", - "спасательный_ADJ_экспедиция_NOUN", - "спасаться_VERB_бегство_NOUN", - "спасаться_VERB_от_ADP", - "спасение_NOUN_утопать_VERB", - "спасибо_NOUN_вам_PRON", - "спасибо_NOUN_поблагодарить_VERB", - "спасибо_NOUN_спасибо_NOUN", - "спасибо_NOUN_тебе_PRON", - "спасительный_ADJ_мысль_NOUN", - "спасский_ADJ_башня_NOUN", - "спасти_VERB_положение_NOUN", - "спастись_VERB_бегство_NOUN", - "спать_VERB_красавица_NOUN", - "спать_VERB_лечь_VERB", - "спать_VERB_ложиться_VERB", - "спать_VERB_свернуться_VERB", - "спб_NOUN_издание_NOUN", - "спелый_ADJ_плод_NOUN", - "спелый_ADJ_ягода_NOUN", - "спеть_VERB_песня_NOUN", - "специально_ADV_для_ADP", - "специально_ADV_предназначить_VERB", - "специальный_ADJ_комиссия_NOUN", - "специальный_ADJ_корреспондент_NOUN", - "специальный_ADJ_приспособление_NOUN", - "спешить_ADV_направиться_VERB", - "спешить_VERB_некуда_ADV", - "спешный_ADJ_дело_NOUN", - "спешный_ADJ_работа_NOUN", - "спина_NOUN_пробежать_VERB", - "спинка_NOUN_диван_NOUN", - "спинка_NOUN_кресло_NOUN", - "спинка_NOUN_кровать_NOUN", - "спинка_NOUN_сидение_NOUN", - "спинка_NOUN_скамейка_NOUN", - "спинка_NOUN_скамья_NOUN", - "спинка_NOUN_стул_NOUN", - "спинной_ADJ_мозг_NOUN", - "спинной_ADJ_плавник_NOUN", - "спинной_ADJ_хребет_NOUN", - "спиритический_ADJ_сеанс_NOUN", - "спиртной_ADJ_напиток_NOUN", - "спичечный_ADJ_коробка_NOUN", - "спичечный_ADJ_коробок_NOUN", - "сплести_VERB_из_ADP", - "сплошной_ADJ_лёд_NOUN", - "сплошной_ADJ_масса_NOUN", - "сплошной_ADJ_поток_NOUN", - "сплошной_ADJ_стена_NOUN", - "сплошь_ADV_покрыть_VERB", - "сплошь_ADV_усеять_VERB", - "сплюнуть_VERB_сквозь_ADP", - "спокойно_ADV_возразить_VERB", - "спокойно_ADV_ответить_VERB", - "спокойно_ADV_пастись_VERB", - "спокойный_ADJ_ночь_NOUN", - "спокойный_ADJ_обстановка_NOUN", - "спокойный_ADJ_совесть_NOUN", - "спокойный_ADJ_тон_NOUN", - "спокойный_ADJ_уверенность_NOUN", - "сползать_VERB_вниз_ADV", - "сползти_VERB_вниз_ADV", - "спорить_VERB_бесполезный_ADJ", - "спорный_ADJ_вопрос_NOUN", - "спорт_NOUN_заниматься_VERB", - "спортивный_ADJ_зал_NOUN", - "спортивный_ADJ_игра_NOUN", - "спортивный_ADJ_костюм_NOUN", - "спортивный_ADJ_куртка_NOUN", - "спортивный_ADJ_площадка_NOUN", - "спортивный_ADJ_секция_NOUN", - "спортивный_ADJ_соревнование_NOUN", - "спортивный_ADJ_стиль_NOUN", - "спортивный_ADJ_сумка_NOUN", - "спортивный_ADJ_форма_NOUN", - "способ_NOUN_добывание_NOUN", - "способ_NOUN_защита_NOUN", - "способ_NOUN_лечение_NOUN", - "способ_NOUN_передвижение_NOUN", - "способ_NOUN_приготовление_NOUN", - "способствовать_VERB_развитие_NOUN", - "способствовать_VERB_тому_PRON", - "споткнуться_VERB_о_ADP", - "споткнуться_VERB_упасть_VERB", - "спотыкаться_VERB_о_ADP", - "спотыкаться_VERB_падать_VERB", - "справа_ADV_налево_ADV", - "справа_ADV_слева_ADV", - "справедливо_ADV_заметить_VERB", - "справедливость_NOUN_ради_ADP", - "справедливость_NOUN_требовать_VERB", - "справедливый_ADJ_гнев_NOUN", - "справляться_VERB_со_ADP", - "справочный_ADJ_бюро_NOUN", - "спрашивать_VERB_динка_PROPN", - "спрашивать_VERB_разрешение_NOUN", - "спрашивать_VERB_шарик_PROPN", - "спросить_ADV_у_ADP", - "спросить_VERB_алёшка_PROPN", - "спросить_VERB_галатея_PROPN", - "спросить_VERB_ден_PROPN", - "спросить_VERB_ледин_PROPN", - "спросить_VERB_натка_PROPN", - "спросить_VERB_синяев_PROPN", - "спросить_VERB_тоска_PROPN", - "спросить_VERB_тутукин_PROPN", - "спросить_VERB_уна_PROPN", - "спрыгнуть_VERB_вниз_ADV", - "спрятавшись_VERB_за_ADP", - "спрятать_VERB_сокровище_NOUN", - "спускать_VERB_глаз_NOUN", - "спускаться_VERB_вниз_ADV", - "спускаться_VERB_ниже_ADV", - "спусковой_ADJ_крючок_NOUN", - "спустить_VERB_вниз_ADV", - "спустить_VERB_курок_NOUN", - "спустить_VERB_лодка_NOUN", - "спустить_VERB_нога_NOUN", - "спустить_VERB_парус_NOUN", - "спустить_VERB_шлюпка_NOUN", - "спуститься_VERB_вниз_ADV", - "спуститься_VERB_ниже_ADV", - "спустя_ADP_мгновение_NOUN", - "спустя_ADP_минута_NOUN", - "спустя_ADP_много_NUM", - "спустя_ADP_неделя_NOUN", - "спустя_ADP_некоторый_DET", - "спустя_ADP_несколько_NUM", - "спустя_ADP_полчаса_NOUN", - "спустя_ADP_четверть_NOUN", - "спутанные_ADJ_волос_NOUN", - "спутник_NOUN_земля_PROPN", - "спёртый_ADJ_воздух_NOUN", - "сравнение_NOUN_с_ADP", - "сравнительно_ADV_лёгкий_ADJ", - "сравнительно_ADV_небольшой_ADJ", - "сравнительно_ADV_недавно_ADV", - "сражаться_VERB_против_ADP", - "сразу_ADV_вспомниться_VERB", - "сразу_ADV_догадаться_VERB", - "сразу_ADV_оживиться_VERB", - "сразу_ADV_повеселеть_VERB", - "сразу_ADV_почуял_VERB", - "сразу_ADV_смекнуть_VERB", - "сразу_ADV_сообразить_VERB", - "среди_ADP_бел_NOUN", - "среди_ADP_болот_NOUN", - "среди_ADP_всеобщий_ADJ", - "среди_ADP_других_ADJ", - "среди_ADP_заросль_NOUN", - "среди_ADP_зелень_NOUN", - "среди_ADP_зритель_NOUN", - "среди_ADP_которых_PRON", - "среди_ADP_множество_NOUN", - "среди_ADP_них_PRON", - "среди_ADP_обломок_NOUN", - "среди_ADP_прочих_ADJ", - "среди_ADP_пустынь_NOUN", - "среди_ADP_развалина_NOUN", - "средиземный_ADJ_море_NOUN", - "средневековый_ADJ_замок_NOUN", - "средневековый_ADJ_рыцарь_NOUN", - "средний_ADJ_азия_PROPN", - "средний_ADJ_баба_PROPN", - "средний_ADJ_век_NOUN", - "средний_ADJ_величина_NOUN", - "средний_ADJ_возраст_NOUN", - "средний_ADJ_год_NOUN", - "средний_ADJ_образование_NOUN", - "средний_ADJ_полоса_NOUN", - "средний_ADJ_размер_NOUN", - "средний_ADJ_рост_NOUN", - "средний_ADJ_ряд_NOUN", - "средний_ADJ_скорость_NOUN", - "средний_ADJ_школа_NOUN", - "средство_NOUN_защита_NOUN", - "средство_NOUN_передвижение_NOUN", - "средство_NOUN_против_ADP", - "средство_NOUN_связь_NOUN", - "средь_ADV_бел_NOUN", - "срок_NOUN_назначить_VERB", - "срочно_ADV_вызвать_VERB", - "срочно_ADV_нужный_ADJ", - "срочно_ADV_понадобиться_VERB", - "срочный_ADJ_дело_NOUN", - "срочный_ADJ_работа_NOUN", - "срубить_VERB_дерево_NOUN", - "срываться_VERB_голос_NOUN", - "срывающимся_ADJ_голос_NOUN", - "срывающимся_VERB_голос_NOUN", - "срывающимся_VERB_от_ADP", - "ставить_VERB_двойка_NOUN", - "ставить_VERB_капкан_NOUN", - "ставить_VERB_палатка_NOUN", - "ставить_VERB_парус_NOUN", - "ставить_VERB_самовар_NOUN", - "ставить_VERB_чайник_NOUN", - "стадо_NOUN_баран_NOUN", - "стадо_NOUN_бизон_NOUN", - "стадо_NOUN_бык_NOUN", - "стадо_NOUN_корова_NOUN", - "стадо_NOUN_овца_NOUN", - "стадо_NOUN_олень_NOUN", - "стадо_NOUN_слон_NOUN", - "стакан_NOUN_вино_NOUN", - "стакан_NOUN_виски_NOUN", - "стакан_NOUN_вода_NOUN", - "стакан_NOUN_водка_NOUN", - "стакан_NOUN_молоко_NOUN", - "стакан_NOUN_чай_NOUN", - "сталкиваться_VERB_друг_PRON", - "стальной_ADJ_гигант_NOUN", - "стальной_ADJ_кольцо_NOUN", - "стальной_ADJ_проволока_NOUN", - "стальной_ADJ_пружина_NOUN", - "стальной_ADJ_прут_NOUN", - "стальной_ADJ_тело_NOUN", - "стальной_ADJ_тело_PROPN", - "стальной_ADJ_трос_NOUN", - "стальной_ADJ_цвет_NOUN", - "стальной_ADJ_шлем_NOUN", - "станислав_PROPN_львович_PROPN", - "становиться_VERB_все_PART", - "становиться_VERB_всё_PART", - "становиться_VERB_громкий_ADV", - "становиться_VERB_дыбом_ADV", - "становиться_VERB_жарко_ADV", - "становиться_VERB_жутко_ADV", - "становиться_VERB_невыносимый_ADJ", - "станционный_ADJ_здание_NOUN", - "станция_NOUN_метро_NOUN", - "старательно_ADV_вывести_VERB", - "старательно_ADV_выводить_VERB", - "старательно_ADV_избегать_VERB", - "стараться_VERB_вовсю_ADV", - "стараться_VERB_всячески_ADV", - "стараться_VERB_держаться_VERB", - "стараться_VERB_заглушить_VERB", - "стараться_VERB_запомнить_VERB", - "стараться_VERB_избегать_VERB", - "стараться_VERB_облегчить_VERB", - "стараться_VERB_ободрить_VERB", - "стараться_VERB_освободиться_VERB", - "стараться_VERB_отвлечь_VERB", - "стараться_VERB_отогнать_VERB", - "стараться_VERB_перекричать_VERB", - "стараться_VERB_побороть_VERB", - "стараться_VERB_подавить_VERB", - "стараться_VERB_подражать_VERB", - "стараться_VERB_придать_VERB", - "стараться_VERB_припомнить_VERB", - "стараться_VERB_разгадать_VERB", - "стараться_VERB_разглядеть_VERB", - "стараться_VERB_сдержать_VERB", - "стараться_VERB_скрыть_VERB", - "стараться_VERB_сохранить_VERB", - "стараться_VERB_сохранять_VERB", - "стараться_VERB_ступать_VERB", - "стараться_VERB_убедить_VERB", - "стараться_VERB_уверить_VERB", - "стараться_VERB_угадать_VERB", - "стараться_VERB_угодить_VERB", - "стараться_VERB_удержать_VERB", - "стараться_VERB_уловить_VERB", - "стараться_VERB_унять_VERB", - "стараться_VERB_успокоить_VERB", - "стараться_VERB_утешить_VERB", - "старик_NOUN_яков_PROPN", - "старинный_ADJ_вещь_NOUN", - "старинный_ADJ_замок_NOUN", - "старинный_ADJ_здание_NOUN", - "старинный_ADJ_книга_NOUN", - "старинный_ADJ_мебель_NOUN", - "старинный_ADJ_монета_NOUN", - "старинный_ADJ_обычай_NOUN", - "старинный_ADJ_особняк_NOUN", - "старинный_ADJ_песня_NOUN", - "старинный_ADJ_русский_ADJ", - "старица_NOUN_марфа_PROPN", - "стародавний_ADJ_время_NOUN", - "староста_NOUN_класс_NOUN", - "старость_NOUN_год_NOUN", - "стартовый_ADJ_площадка_NOUN", - "старуха_NOUN_шапокляк_PROPN", - "старушечий_ADJ_голос_NOUN", - "старушка_NOUN_няня_NOUN", - "старческий_ADJ_голос_NOUN", - "старший_ADJ_баба_PROPN", - "старший_ADJ_блинков_PROPN", - "старший_ADJ_брат_NOUN", - "старший_ADJ_вожатый_NOUN", - "старший_ADJ_дворник_NOUN", - "старший_ADJ_дочь_NOUN", - "старший_ADJ_инспектор_NOUN", - "старший_ADJ_князь_NOUN", - "старший_ADJ_лейтенант_NOUN", - "старший_ADJ_механик_NOUN", - "старший_ADJ_отделение_NOUN", - "старший_ADJ_офицер_NOUN", - "старший_ADJ_пионервожатый_NOUN", - "старший_ADJ_поколение_NOUN", - "старший_ADJ_помощник_NOUN", - "старший_ADJ_сержант_NOUN", - "старший_ADJ_сестра_NOUN", - "старший_ADJ_сестрица_NOUN", - "старший_ADJ_сын_NOUN", - "старший_ADJ_штурман_NOUN", - "старый_ADJ_актриса_NOUN", - "старый_ADJ_барабанщик_NOUN", - "старый_ADJ_берёза_NOUN", - "старый_ADJ_большевик_NOUN", - "старый_ADJ_ведьма_NOUN", - "старый_ADJ_волшебник_PROPN", - "старый_ADJ_воробей_PROPN", - "старый_ADJ_ворчун_NOUN", - "старый_ADJ_вояка_NOUN", - "старый_ADJ_гном_NOUN", - "старый_ADJ_гном_PROPN", - "старый_ADJ_дворецкий_NOUN", - "старый_ADJ_дева_NOUN", - "старый_ADJ_дружище_NOUN", - "старый_ADJ_дуб_NOUN", - "старый_ADJ_дуб_PROPN", - "старый_ADJ_дурень_NOUN", - "старый_ADJ_ель_NOUN", - "старый_ADJ_заклинатель_NOUN", - "старый_ADJ_знакомая_NOUN", - "старый_ADJ_знакомец_NOUN", - "старый_ADJ_знакомого_NOUN", - "старый_ADJ_знакомой_NOUN", - "старый_ADJ_знакомому_NOUN", - "старый_ADJ_знакомые_NOUN", - "старый_ADJ_знакомый_NOUN", - "старый_ADJ_знакомых_NOUN", - "старый_ADJ_ива_NOUN", - "старый_ADJ_карантин_PROPN", - "старый_ADJ_карга_NOUN", - "старый_ADJ_кладбище_NOUN", - "старый_ADJ_кляча_NOUN", - "старый_ADJ_колдунья_NOUN", - "старый_ADJ_кортино_PROPN", - "старый_ADJ_крепость_NOUN", - "старый_ADJ_липа_NOUN", - "старый_ADJ_мельница_NOUN", - "старый_ADJ_моряк_NOUN", - "старый_ADJ_негритянка_NOUN", - "старый_ADJ_нос_PROPN", - "старый_ADJ_пень_NOUN", - "старый_ADJ_плотник_NOUN", - "старый_ADJ_плут_NOUN", - "старый_ADJ_престарый_ADJ", - "старый_ADJ_привычка_NOUN", - "старый_ADJ_режим_NOUN", - "старый_ADJ_свет_PROPN", - "старый_ADJ_скряга_NOUN", - "старый_ADJ_служака_NOUN", - "старый_ADJ_счеты_NOUN", - "старый_ADJ_таёжник_NOUN", - "старый_ADJ_тополь_NOUN", - "старый_ADJ_траппер_NOUN", - "старый_ADJ_хлам_NOUN", - "старый_ADJ_холостяк_NOUN", - "старый_ADJ_хрыч_NOUN", - "старый_ADJ_цыганка_NOUN", - "старый_ADJ_яблоня_NOUN", - "статный_ADJ_фигура_NOUN", - "статс_NOUN_дама_NOUN", - "статский_ADJ_советник_NOUN", - "стать_VERB_карабкаться_VERB", - "стать_VERB_накрапывать_VERB", - "стать_VERB_неловкий_ADJ", - "стать_VERB_неузнаваемый_ADJ", - "стать_VERB_отпираться_VERB", - "стать_VERB_поговаривать_VERB", - "стать_VERB_рассветать_VERB", - "стать_VERB_расспрашивать_VERB", - "стать_VERB_редеть_VERB", - "стать_VERB_светать_VERB", - "стать_VERB_светло_ADV", - "стать_VERB_смеркаться_VERB", - "стать_VERB_стыдно_ADV", - "стать_VERB_уточнять_VERB", - "стать_VERB_шарить_VERB", - "стать_VERB_ясный_ADJ", - "стая_NOUN_волк_NOUN", - "стая_NOUN_ворона_NOUN", - "стая_NOUN_дикий_ADJ", - "стая_NOUN_птица_NOUN", - "ствол_NOUN_берёза_NOUN", - "ствол_NOUN_дерево_NOUN", - "ствол_NOUN_ружьё_NOUN", - "ствол_NOUN_сосна_NOUN", - "стебель_NOUN_трава_NOUN", - "стекать_VERB_вода_NOUN", - "стекло_NOUN_очко_NOUN", - "стеклянный_ADJ_банк_NOUN", - "стеклянный_ADJ_банка_NOUN", - "стеклянный_ADJ_дверца_NOUN", - "стеклянный_ADJ_дверь_NOUN", - "стеклянный_ADJ_колпак_NOUN", - "стеклянный_ADJ_крыша_NOUN", - "стеклянный_ADJ_купол_NOUN", - "стеклянный_ADJ_перегородка_NOUN", - "стеклянный_ADJ_сосуд_NOUN", - "стеклянный_ADJ_стена_NOUN", - "стеклянный_ADJ_стенка_NOUN", - "стеклянный_ADJ_трубка_NOUN", - "стеклянный_ADJ_трубочка_NOUN", - "стеклянный_ADJ_шар_NOUN", - "стеклянный_ADJ_шарик_NOUN", - "стеклянный_ADJ_шкаф_NOUN", - "стеклянный_ADJ_ящик_NOUN", - "стекольный_ADJ_завод_NOUN", - "стена_NOUN_висеть_VERB", - "стена_NOUN_кремль_PROPN", - "стенка_NOUN_вагон_NOUN", - "стенной_ADJ_газета_NOUN", - "стенной_ADJ_час_NOUN", - "стенной_ADJ_шкаф_NOUN", - "степан_PROPN_антонович_PROPN", - "степан_PROPN_василиевич_PROPN", - "степан_PROPN_григориевич_PROPN", - "степан_PROPN_иванович_PROPN", - "степан_PROPN_ильич_PROPN", - "степан_PROPN_маркович_PROPN", - "степан_PROPN_маркыч_PROPN", - "степан_PROPN_михаилович_PROPN", - "степан_PROPN_петрович_PROPN", - "степан_PROPN_разин_PROPN", - "степан_PROPN_степанович_PROPN", - "степной_ADJ_ветер_NOUN", - "степной_ADJ_волк_NOUN", - "степной_ADJ_трава_NOUN", - "стечение_NOUN_обстоятельство_NOUN", - "стиль_NOUN_одежда_NOUN", - "стиральный_ADJ_машина_NOUN", - "стиральный_ADJ_порошок_NOUN", - "стирать_VERB_бельё_NOUN", - "стирка_NOUN_бельё_NOUN", - "стискивать_VERB_зуб_NOUN", - "стиснуть_VERB_зуб_NOUN", - "стиснуть_VERB_кулак_NOUN", - "стих_NOUN_писать_VERB", - "стих_NOUN_сочинить_VERB", - "стих_NOUN_сочинять_VERB", - "стихийный_ADJ_бедствие_NOUN", - "стихийный_ADJ_сила_NOUN", - "стлаться_VERB_по_ADP", - "сто_NUM_бакс_NOUN", - "сто_NUM_верста_NOUN", - "сто_NUM_восемьдесят_NOUN", - "сто_NUM_восемьдесят_NUM", - "сто_NUM_год_NOUN", - "сто_NUM_грамм_NOUN", - "сто_NUM_двадцать_NUM", - "сто_NUM_девяносто_NUM", - "сто_NUM_доллар_NOUN", - "сто_NUM_километр_NOUN", - "сто_NUM_крат_NOUN", - "сто_NUM_метр_NOUN", - "сто_NUM_миллион_NOUN", - "сто_NUM_миля_NOUN", - "сто_NUM_процент_NOUN", - "сто_NUM_пуд_NOUN", - "сто_NUM_пятьдесят_NUM", - "сто_NUM_раз_NOUN", - "сто_NUM_рубль_NOUN", - "сто_NUM_семьдесят_NUM", - "сто_NUM_сорок_NUM", - "сто_NUM_сорока_NOUN", - "сто_NUM_тридцать_NUM", - "сто_NUM_тысяча_NOUN", - "сто_NUM_франк_NOUN", - "сто_NUM_фунт_NOUN", - "сто_NUM_фут_NOUN", - "сто_NUM_шестьдесят_NOUN", - "сто_NUM_шестьдесят_NUM", - "сто_NUM_штука_NOUN", - "сто_NUM_ярд_NOUN", - "стог_NOUN_сено_NOUN", - "стоило_VERB_ему_PRON", - "стоить_VERB_дорогой_ADV", - "стоить_VERB_поодаль_ADV", - "стоить_VERB_посреди_ADP", - "стой_PROPN_стой_NOUN", - "стойка_NOUN_смирно_ADV", - "стол_NOUN_завалить_VERB", - "стол_NOUN_накрыть_VERB", - "стол_NOUN_покрыть_VERB", - "стол_NOUN_президиум_NOUN", - "стол_NOUN_уставить_VERB", - "столб_NOUN_дым_NOUN", - "столб_NOUN_пламя_NOUN", - "столб_NOUN_пыль_NOUN", - "столб_NOUN_пытка_NOUN", - "столетие_NOUN_назад_ADV", - "столетний_ADJ_дерево_NOUN", - "столетний_ADJ_дуб_NOUN", - "столица_NOUN_штат_NOUN", - "столкнуться_VERB_нос_NOUN", - "столовый_ADJ_ложка_NOUN", - "столовый_ADJ_нож_NOUN", - "столовый_ADJ_прибор_NOUN", - "столпиться_VERB_возле_ADP", - "столпиться_VERB_вокруг_ADP", - "столпиться_VERB_вокруг_ADV", - "столпиться_VERB_около_ADP", - "столь_ADV_важный_ADJ", - "столь_ADV_долгий_ADJ", - "столь_ADV_желанный_ADJ", - "столь_ADV_любезный_ADJ", - "столь_ADV_необычный_ADJ", - "столь_ADV_неожиданный_ADJ", - "столь_ADV_поздний_ADJ", - "столь_ADV_продолжительный_ADJ", - "столь_ADV_ранний_ADJ", - "столь_ADV_сложный_ADJ", - "столько_ADV_всего_PRON", - "столько_ADV_народ_NOUN", - "столько_ADV_сколько_NUM", - "столько_NUM_время_NOUN", - "столько_NUM_горе_NOUN", - "столько_NUM_деньга_NOUN", - "столько_NUM_золото_NOUN", - "столько_NUM_хлопот_NOUN", - "стольный_ADJ_город_NOUN", - "столярный_ADJ_клей_NOUN", - "столярный_ADJ_мастерская_NOUN", - "стон_NOUN_вырваться_VERB", - "стон_NOUN_раненый_NOUN", - "стоп_NOUN_кран_NOUN", - "стопка_NOUN_книга_NOUN", - "стопка_NOUN_тетрадь_NOUN", - "сторожевой_ADJ_башня_NOUN", - "сторожевой_ADJ_пост_NOUN", - "сторожевой_ADJ_пёс_NOUN", - "сторожевой_ADJ_собака_NOUN", - "стосковаться_VERB_по_ADP", - "стоять_VERB_дыбом_ADV", - "стоять_VERB_навытяжку_ADV", - "стоять_VERB_наготове_ADV", - "стоять_VERB_неподалёку_ADV", - "стоять_VERB_неподвижно_ADV", - "стоять_VERB_облокотиться_VERB", - "стоять_VERB_обнявшись_VERB", - "стоять_VERB_подле_NOUN", - "стоять_VERB_поодаль_ADV", - "стоять_VERB_посередине_ADV", - "стоять_VERB_посреди_ADP", - "стоять_VERB_посредине_ADV", - "стоять_VERB_прислониться_VERB", - "стоять_VERB_прислонясь_VERB", - "стоять_VERB_разинув_VERB", - "стоять_VERB_смирно_ADV", - "стоять_VERB_торчок_NOUN", - "стоячий_ADJ_вода_NOUN", - "стоячий_ADJ_воротник_NOUN", - "страдальческий_ADJ_лицо_NOUN", - "страдать_VERB_бессонница_NOUN", - "страдать_VERB_от_ADP", - "страж_NOUN_порядок_NOUN", - "страна_NOUN_жевунов_PROPN", - "страна_PROPN_фея_NOUN", - "страница_NOUN_книга_NOUN", - "страница_NOUN_учебник_NOUN", - "странно_ADV_выглядеть_VERB", - "странно_ADV_звучать_VERB", - "странный_ADJ_звук_NOUN", - "странный_ADJ_зрелище_NOUN", - "странный_ADJ_мальчик_PROPN", - "странный_ADJ_оцепенение_NOUN", - "странный_ADJ_ощущение_NOUN", - "странный_ADJ_поведение_NOUN", - "странный_ADJ_происшествие_NOUN", - "странный_ADJ_процессия_NOUN", - "странный_ADJ_случайность_NOUN", - "странный_ADJ_смесь_NOUN", - "странный_ADJ_совпадение_NOUN", - "странный_ADJ_сооружение_NOUN", - "странный_ADJ_стечение_NOUN", - "странный_ADJ_существо_NOUN", - "странный_ADJ_явление_NOUN", - "странствовать_VERB_по_ADP", - "странствовать_VERB_рыцарь_NOUN", - "страстно_ADV_желать_VERB", - "страстно_ADV_захотеться_VERB", - "страстно_ADV_любить_VERB", - "страстно_ADV_хотеться_VERB", - "страстный_ADJ_желание_NOUN", - "страстный_ADJ_любитель_NOUN", - "страстный_ADJ_любовь_NOUN", - "страстный_ADJ_неделя_NOUN", - "страстный_ADJ_охотник_NOUN", - "страстный_ADJ_поцелуй_NOUN", - "страусовый_ADJ_перо_NOUN", - "страховой_ADJ_компания_NOUN", - "страховой_ADJ_общество_NOUN", - "страшно_ADV_бледный_ADJ", - "страшно_ADV_болеть_VERB", - "страшно_ADV_взволновать_VERB", - "страшно_ADV_волноваться_VERB", - "страшно_ADV_вскрикнуть_VERB", - "страшно_ADV_голодный_ADJ", - "страшно_ADV_довольный_ADJ", - "страшно_ADV_захотеться_VERB", - "страшно_ADV_измениться_VERB", - "страшно_ADV_испугаться_VERB", - "страшно_ADV_обрадоваться_VERB", - "страшно_ADV_перепугаться_VERB", - "страшно_ADV_побледнеть_VERB", - "страшно_ADV_рассердиться_VERB", - "страшно_ADV_удивиться_VERB", - "страшно_ADV_устать_VERB", - "страшно_ADV_хотеться_VERB", - "страшный_ADJ_буря_NOUN", - "страшный_ADJ_видение_NOUN", - "страшный_ADJ_грохот_NOUN", - "страшный_ADJ_догадка_NOUN", - "страшный_ADJ_драма_NOUN", - "страшный_ADJ_зрелище_NOUN", - "страшный_ADJ_катастрофа_NOUN", - "страшный_ADJ_клятва_NOUN", - "страшный_ADJ_ливень_NOUN", - "страшный_ADJ_мучение_NOUN", - "страшный_ADJ_переполох_NOUN", - "страшный_ADJ_проклятие_NOUN", - "страшный_ADJ_пытка_NOUN", - "страшный_ADJ_ревом_NOUN", - "страшный_ADJ_рожа_NOUN", - "страшный_ADJ_рёв_NOUN", - "страшный_ADJ_суматоха_NOUN", - "страшный_ADJ_тайна_NOUN", - "страшный_ADJ_треск_NOUN", - "страшный_ADJ_ураган_NOUN", - "страшный_ADJ_чудовище_NOUN", - "стрекотать_VERB_кузнечик_NOUN", - "стрела_NOUN_вонзиться_VERB", - "стрела_NOUN_полететь_VERB", - "стрела_NOUN_помчаться_VERB", - "стрела_NOUN_понестись_VERB", - "стрела_NOUN_пустить_VERB", - "стрелка_NOUN_компас_NOUN", - "стрелка_NOUN_показывать_VERB", - "стрелка_NOUN_прибор_NOUN", - "стрелка_NOUN_час_NOUN", - "стрелковый_ADJ_полок_NOUN", - "стрельнуть_VERB_глаз_NOUN", - "стрельчатый_ADJ_окно_NOUN", - "стреляный_ADJ_гильза_NOUN", - "стремглав_NOUN_броситься_VERB", - "стремглав_PROPN_броситься_VERB", - "стремительно_ADV_броситься_VERB", - "стремительно_ADV_вскочить_VERB", - "стремительно_ADV_выскочить_VERB", - "стремительно_ADV_лететь_VERB", - "стремительно_ADV_нестись_VERB", - "стремительно_ADV_обернуться_VERB", - "стремительно_ADV_падать_VERB", - "стремительно_ADV_понестись_VERB", - "стремительно_ADV_приближаться_VERB", - "стремительный_ADJ_бег_NOUN", - "стремительный_ADJ_движение_NOUN", - "стремительный_ADJ_поток_NOUN", - "стриженый_ADJ_голова_NOUN", - "стриженый_ADJ_головка_NOUN", - "строгий_ADJ_взгляд_NOUN", - "строгий_ADJ_выговор_NOUN", - "строгий_ADJ_дисциплина_NOUN", - "строгий_ADJ_костюм_NOUN", - "строгий_ADJ_надзор_NOUN", - "строгий_ADJ_наказ_NOUN", - "строгий_ADJ_наказание_NOUN", - "строгий_ADJ_настрого_ADV", - "строгий_ADJ_порядок_NOUN", - "строгий_ADJ_правило_NOUN", - "строгий_ADJ_приказ_NOUN", - "строгий_ADJ_приказание_NOUN", - "строгий_ADJ_режим_NOUN", - "строгий_ADJ_секрет_NOUN", - "строгий_ADJ_тайна_NOUN", - "строгий_ADJ_тон_NOUN", - "строго_ADV_взглянуть_VERB", - "строго_ADV_воспрещаться_VERB", - "строго_ADV_глянуть_VERB", - "строго_ADV_запретить_VERB", - "строго_ADV_запрещаться_VERB", - "строго_ADV_наказать_VERB", - "строго_ADV_наказывать_VERB", - "строго_ADV_настрого_ADV", - "строго_ADV_определённый_ADJ", - "строго_ADV_посмотреть_VERB", - "строго_ADV_предупредить_VERB", - "строго_ADV_придерживаться_VERB", - "строго_ADV_приказать_VERB", - "строго_ADV_прикрикнуть_VERB", - "строго_ADV_следить_VERB", - "строго_ADV_соблюдать_VERB", - "строго_ADV_спросить_VERB", - "строевой_ADJ_лес_NOUN", - "строевой_ADJ_шаг_NOUN", - "строительный_ADJ_лес_NOUN", - "строительный_ADJ_материал_NOUN", - "строительный_ADJ_мусор_NOUN", - "строительный_ADJ_площадка_NOUN", - "строительный_ADJ_работа_NOUN", - "строить_VERB_догадка_NOUN", - "строить_VERB_мост_NOUN", - "строить_VERB_план_NOUN", - "стройный_ADJ_ножка_NOUN", - "стройный_ADJ_ряд_NOUN", - "стройный_ADJ_стан_NOUN", - "стройный_ADJ_фигура_NOUN", - "стройный_ADJ_фигурка_NOUN", - "стройный_ADJ_юноша_NOUN", - "струиться_VERB_кровь_NOUN", - "струйка_NOUN_вода_NOUN", - "струйка_NOUN_дым_NOUN", - "струйка_NOUN_кровь_NOUN", - "струйки_NOUN_вода_NOUN", - "струя_NOUN_вода_NOUN", - "струя_NOUN_воздух_NOUN", - "струя_NOUN_дым_NOUN", - "стрястись_VERB_беда_NOUN", - "студенческий_ADJ_год_NOUN", - "студёный_ADJ_вода_NOUN", - "стук_NOUN_колесо_NOUN", - "стук_NOUN_копыт_NOUN", - "стук_NOUN_лошадиный_ADJ", - "стук_NOUN_молоток_NOUN", - "стук_NOUN_стук_NOUN", - "стук_NOUN_топор_NOUN", - "стукаться_VERB_о_ADP", - "стукнуть_VERB_кулак_NOUN", - "стукнуться_VERB_голова_NOUN", - "стукнуться_VERB_лоб_NOUN", - "стукнуться_VERB_о_ADP", - "стукнуться_VERB_об_ADP", - "ступай_NOUN_ка_PROPN", - "ступай_PROPN_ступать_VERB", - "ступать_VERB_ступать_VERB", - "ступень_NOUN_вести_VERB", - "ступень_NOUN_крыльцо_NOUN", - "ступень_NOUN_лестница_NOUN", - "ступенька_NOUN_вниз_ADV", - "ступенька_NOUN_крыльцо_NOUN", - "ступенька_NOUN_лестница_NOUN", - "стучать_VERB_зуб_NOUN", - "стучать_VERB_каблук_NOUN", - "стучать_VERB_колесо_NOUN", - "стучать_VERB_копыто_NOUN", - "стучать_VERB_кулак_NOUN", - "стучать_VERB_молоток_NOUN", - "стучать_VERB_сапог_NOUN", - "стучать_VERB_сердце_NOUN", - "стучать_VERB_топор_NOUN", - "стыдно_ADV_признаться_VERB", - "стёганый_ADJ_одеяло_NOUN", - "субботний_ADJ_вечер_NOUN", - "субсветовой_ADJ_скорость_NOUN", - "сугроб_NOUN_снег_NOUN", - "суд_NOUN_божий_ADJ", - "суд_NOUN_линч_PROPN", - "суд_NOUN_присяжный_NOUN", - "судебный_ADJ_власть_NOUN", - "судебный_ADJ_заседание_NOUN", - "судебный_ADJ_пристав_NOUN", - "судебный_ADJ_процесс_NOUN", - "судебный_ADJ_разбирательство_NOUN", - "судебный_ADJ_следователь_NOUN", - "судейский_ADJ_стол_NOUN", - "судить_VERB_по_ADP", - "судить_VERB_сами_ADJ", - "судовой_ADJ_журнал_NOUN", - "судовой_ADJ_кок_NOUN", - "судовой_ADJ_команда_NOUN", - "судорожно_ADV_вздохнуть_VERB", - "судорожно_ADV_вцепиться_VERB", - "судорожно_ADV_подёргиваться_VERB", - "судорожно_ADV_сжать_VERB", - "судорожно_ADV_сжимать_VERB", - "судорожно_ADV_цепляться_VERB", - "судорожный_ADJ_движение_NOUN", - "судьба_NOUN_постичь_VERB", - "судьба_NOUN_свести_VERB", - "судья_NOUN_темпль_PROPN", - "суеверный_ADJ_страх_NOUN", - "суеверный_ADJ_ужас_NOUN", - "суетиться_VERB_вокруг_ADP", - "суетиться_VERB_около_ADP", - "сужденный_ADJ_было_AUX", - "сужденный_ADJ_погибнуть_VERB", - "сужденный_ADJ_умереть_VERB", - "сузить_VERB_глаз_NOUN", - "сукин_ADJ_сын_NOUN", - "суковатый_ADJ_палка_NOUN", - "сулейман_PROPN_бен_PROPN", - "сулить_VERB_ничто_PRON", - "сумасшедший_ADJ_дом_NOUN", - "сумеречный_ADJ_свет_NOUN", - "сумерки_NOUN_сгущаться_VERB", - "суметь_VERB_добиться_VERB", - "суметь_VERB_доказать_VERB", - "суметь_VERB_защитить_VERB", - "суметь_VERB_оценить_VERB", - "суметь_VERB_постоять_VERB", - "суметь_VERB_разглядеть_VERB", - "суметь_VERB_скрыть_VERB", - "суметь_VERB_сохранить_VERB", - "суметь_VERB_справиться_VERB", - "суметь_VERB_убедить_VERB", - "суметь_VERB_удержать_VERB", - "сумма_NOUN_деньга_NOUN", - "сумма_NOUN_которую_PRON", - "сумми_PROPN_ским_PROPN", - "сумми_PROPN_скима_PROPN", - "суп_NOUN_варить_VERB", - "супружеский_ADJ_жизнь_NOUN", - "сургучный_ADJ_печать_NOUN", - "сурово_ADV_взглянуть_VERB", - "сурово_ADV_проговорить_VERB", - "сурово_ADV_произнести_VERB", - "сурово_ADV_сдвинуть_VERB", - "суровый_ADJ_взгляд_NOUN", - "суровый_ADJ_выражение_NOUN", - "суровый_ADJ_зима_NOUN", - "суровый_ADJ_испытание_NOUN", - "суровый_ADJ_климат_NOUN", - "суровый_ADJ_наказание_NOUN", - "суровый_ADJ_нитка_NOUN", - "суровый_ADJ_природа_NOUN", - "суровый_ADJ_тон_NOUN", - "суровый_ADJ_условие_NOUN", - "суть_NOUN_дело_NOUN", - "сухо_ADV_возразить_VERB", - "сухо_ADV_заметить_VERB", - "сухо_ADV_ответить_VERB", - "сухо_ADV_отвечать_VERB", - "сухо_ADV_проговорить_VERB", - "сухо_ADV_произнести_VERB", - "сухой_ADJ_валежник_NOUN", - "сухой_ADJ_ветвь_NOUN", - "сухой_ADJ_ветка_NOUN", - "сухой_ADJ_веточка_NOUN", - "сухой_ADJ_губа_NOUN", - "сухой_ADJ_кожа_NOUN", - "сухой_ADJ_корка_NOUN", - "сухой_ADJ_лист_NOUN", - "сухой_ADJ_мох_NOUN", - "сухой_ADJ_паёк_NOUN", - "сухой_ADJ_песок_NOUN", - "сухой_ADJ_сосновый_ADJ", - "сухой_ADJ_стебель_NOUN", - "сухой_ADJ_сук_NOUN", - "сухой_ADJ_сучья_NOUN", - "сухой_ADJ_трава_NOUN", - "сухой_ADJ_травинка_NOUN", - "сухой_ADJ_треск_NOUN", - "сухой_ADJ_хворост_NOUN", - "сушёный_ADJ_мясо_NOUN", - "сушёный_ADJ_рыба_NOUN", - "существо_NOUN_которое_PRON", - "существовать_VERB_множество_NOUN", - "существовать_VERB_обычай_NOUN", - "существовать_VERB_специальный_ADJ", - "сущие_VERB_пустяк_NOUN", - "сущий_ADJ_правда_NOUN", - "суэцкий_ADJ_канал_NOUN", - "схватить_VERB_ружьё_NOUN", - "схватить_VERB_телефонный_ADJ", - "схватить_VERB_трубка_NOUN", - "схватиться_VERB_за_ADP", - "сходство_NOUN_между_ADP", - "сцепить_VERB_зуб_NOUN", - "сцепить_VERB_палец_NOUN", - "сцепить_VERB_рука_NOUN", - "счастливо_ADV_оставаться_VERB", - "счастливо_ADV_отделаться_VERB", - "счастливо_ADV_улыбаться_VERB", - "счастливо_ADV_улыбнуться_VERB", - "счастливый_ADJ_детство_NOUN", - "счастливый_ADJ_исход_NOUN", - "счастливый_ADJ_обладатель_NOUN", - "счастливый_ADJ_плавание_NOUN", - "счастливый_ADJ_принц_PROPN", - "счастливый_ADJ_путь_NOUN", - "счастливый_ADJ_случайность_NOUN", - "счастливый_ADJ_смех_NOUN", - "счастливый_ADJ_улыбка_NOUN", - "счесть_VERB_возможный_ADJ", - "счесть_VERB_долг_NOUN", - "счесть_VERB_необходимый_ADJ", - "счесть_VERB_нужный_ADJ", - "считанные_ADJ_минута_NOUN", - "считанные_ADJ_секунда_NOUN", - "считаться_VERB_одним_NUM", - "считаться_VERB_самым_ADJ", - "считаться_VERB_священный_ADJ", - "счётный_ADJ_книга_NOUN", - "съездить_VERB_туда_ADV", - "съестной_ADJ_припас_NOUN", - "съестной_ADJ_припасами_NOUN", - "съехать_VERB_вниз_ADV", - "съехать_VERB_набок_ADV", - "съёмочный_ADJ_группа_NOUN", - "съёмочный_ADJ_площадка_NOUN", - "сыграть_VERB_роль_NOUN", - "сыграть_VERB_свадьба_NOUN", - "сын_NOUN_гостя_PROPN", - "сын_NOUN_зевс_PROPN", - "сын_NOUN_крови_PROPN", - "сын_NOUN_леопард_PROPN", - "сын_NOUN_неба_PROPN", - "сын_NOUN_полок_NOUN", - "сын_PROPN_крови_PROPN", - "сыпной_ADJ_тиф_NOUN", - "сыпучий_ADJ_песок_NOUN", - "сыр_NOUN_бор_NOUN", - "сырой_ADJ_земля_NOUN", - "сырой_ADJ_мясо_NOUN", - "сырой_ADJ_песок_NOUN", - "сырой_ADJ_погода_NOUN", - "сырой_ADJ_рыба_NOUN", - "сырой_ADJ_яйцо_NOUN", - "сыскной_ADJ_отделение_NOUN", - "сыскной_ADJ_полиция_NOUN", - "сытный_ADJ_обед_NOUN", - "сьер_NOUN_клубен_PROPN", - "сьюзи_PROPN_драммонд_PROPN", - "сэм_PROPN_смит_PROPN", - "сэнди_PROPN_гук_PROPN", - "сэнди_PROPN_гука_PROPN", - "сэнт_PROPN_клер_PROPN", - "сэр_NOUN_артур_PROPN", - "сэр_NOUN_арчибальд_PROPN", - "сэр_NOUN_буцефал_PROPN", - "сэр_NOUN_валентин_PROPN", - "сэр_NOUN_вильям_PROPN", - "сэр_NOUN_вильямс_PROPN", - "сэр_NOUN_вильямса_PROPN", - "сэр_NOUN_генри_PROPN", - "сэр_NOUN_грегори_PROPN", - "сэр_NOUN_гью_PROPN", - "сэр_NOUN_даниэль_PROPN", - "сэр_NOUN_джеймс_PROPN", - "сэр_NOUN_джон_PROPN", - "сэр_NOUN_джордж_PROPN", - "сэр_NOUN_муррей_PROPN", - "сэр_NOUN_оливер_PROPN", - "сэр_NOUN_пэрси_PROPN", - "сэр_NOUN_ральф_PROPN", - "сэр_NOUN_ричард_PROPN", - "сэр_NOUN_роберт_PROPN", - "сэр_NOUN_роджер_PROPN", - "сэр_NOUN_саймон_PROPN", - "сэр_NOUN_томас_PROPN", - "сэр_NOUN_уолтер_PROPN", - "сэр_NOUN_эдвард_PROPN", - "сэр_NOUN_эндрью_PROPN", - "сэр_PROPN_вильямс_PROPN", - "сэр_PROPN_генри_PROPN", - "сэр_PROPN_джон_PROPN", - "сэр_PROPN_джордж_PROPN", - "сэр_PROPN_муррей_PROPN", - "сэр_PROPN_ричард_PROPN", - "сэр_PROPN_роджер_PROPN", - "сюда_ADV_попасть_VERB", - "сюда_ADV_приехать_VERB", - "сюда_ADV_припереться_VERB", - "т_ADP_р_PROPN", - "т_NOUN_е_NOUN", - "т_PROPN_е_NOUN", - "т_PROPN_е_PROPN", - "таас_PROPN_бас_PROPN", - "табачный_ADJ_дым_NOUN", - "таблица_NOUN_умножение_NOUN", - "табун_NOUN_лошадь_NOUN", - "таинственно_ADV_исчезнуть_VERB", - "таинственный_ADJ_вид_NOUN", - "таинственный_ADJ_дом_PROPN", - "таинственный_ADJ_знак_NOUN", - "таинственный_ADJ_исчезновение_NOUN", - "таинственный_ADJ_личность_NOUN", - "таинственный_ADJ_незнакомец_NOUN", - "таинственный_ADJ_остров_NOUN", - "таинственный_ADJ_существо_NOUN", - "таинственный_ADJ_шёпот_NOUN", - "таинственный_ADJ_явление_NOUN", - "таисия_PROPN_николаевич_PROPN", - "тайный_ADJ_агент_NOUN", - "тайный_ADJ_братство_NOUN", - "тайный_ADJ_вечеря_NOUN", - "тайный_ADJ_канцелярия_NOUN", - "тайный_ADJ_надежда_NOUN", - "тайный_ADJ_общество_NOUN", - "тайный_ADJ_полиция_NOUN", - "тайный_ADJ_свидание_NOUN", - "тайный_ADJ_смысл_NOUN", - "тайный_ADJ_совет_NOUN", - "тайный_ADJ_советник_NOUN", - "тайный_ADJ_совещание_NOUN", - "тайный_ADJ_убежище_NOUN", - "тайный_ADJ_ход_NOUN", - "так_ADV_далее_ADV", - "так_ADV_рано_ADJ", - "так_ADV_скать_VERB", - "таков_ADJ_закон_NOUN", - "таков_PROPN_быть_AUX", - "такова_ADJ_воля_NOUN", - "такова_ADJ_жизнь_NOUN", - "такова_ADJ_уж_PART", - "такова_PROPN_быть_AUX", - "таково_ADJ_было_AUX", - "таково_VERB_было_AUX", - "таковы_ADJ_были_AUX", - "такой_DET_даль_NOUN", - "такой_DET_махина_NOUN", - "такой_DET_наглость_NOUN", - "такой_DET_образ_NOUN", - "такой_DET_прыть_NOUN", - "такой_DET_рань_NOUN", - "такой_DET_расклад_NOUN", - "такой_DET_степень_NOUN", - "такой_DET_сякой_ADJ", - "такою_NOUN_силою_NOUN", - "такт_NOUN_музыка_NOUN", - "такт_NOUN_шаг_NOUN", - "талый_ADJ_вода_NOUN", - "талый_ADJ_снег_NOUN", - "там_ADV_глядишь_VERB", - "там_ADV_наверху_ADV", - "тамара_PROPN_аркадиевич_PROPN", - "тамара_PROPN_владимирович_PROPN", - "тамара_PROPN_георгиевич_PROPN", - "тамара_PROPN_густавович_PROPN", - "тамара_PROPN_петрович_PROPN", - "тамара_PROPN_семёнович_PROPN", - "тамб_PROPN_итам_PROPN", - "таможенный_ADJ_чиновник_NOUN", - "танцевальный_ADJ_вечер_NOUN", - "танцевальный_ADJ_зал_NOUN", - "танцевать_VERB_вальс_NOUN", - "танцевать_VERB_пара_NOUN", - "тарабарский_ADJ_страна_NOUN", - "тарас_PROPN_бульба_PROPN", - "тарас_PROPN_михаилович_PROPN", - "тарас_PROPN_семёнович_PROPN", - "тараща_NOUN_глаз_NOUN", - "таращить_VERB_глаз_NOUN", - "тардос_PROPN_морс_PROPN", - "тарелка_NOUN_борщ_NOUN", - "тарелка_NOUN_суп_NOUN", - "тарс_PROPN_таркас_PROPN", - "татьян_PROPN_татьяныч_PROPN", - "татьяна_PROPN_александрович_PROPN", - "татьяна_PROPN_алексеевич_PROPN", - "татьяна_PROPN_василиевич_PROPN", - "татьяна_PROPN_викторович_PROPN", - "татьяна_PROPN_иванович_PROPN", - "татьяна_PROPN_миронович_PROPN", - "татьяна_PROPN_михаилович_PROPN", - "татьяна_PROPN_николаевич_PROPN", - "татьяна_PROPN_павлович_PROPN", - "татьяна_PROPN_петрович_PROPN", - "татьяна_PROPN_родионович_PROPN", - "татьяна_PROPN_семёнович_PROPN", - "татьяна_PROPN_сергеевич_PROPN", - "татьяна_PROPN_фаддеевич_PROPN", - "татьяна_PROPN_филимонович_PROPN", - "татьяна_PROPN_филиппович_PROPN", - "таща_NOUN_за_ADP", - "тащить_ADV_за_ADP", - "таяние_NOUN_снег_NOUN", - "таять_VERB_снег_NOUN", - "твердая_PROPN_рука_PROPN", - "твердо_ADV_верить_VERB", - "твердо_ADV_заявить_VERB", - "твердо_ADV_ответить_VERB", - "твердо_ADV_произнести_VERB", - "твердо_ADV_решить_VERB", - "твердо_ADV_решиться_VERB", - "твердо_ADV_убеждённый_ADJ", - "твердо_ADV_уверена_ADJ", - "твердо_ADV_уверенный_ADJ", - "твердый_PROPN_знак_PROPN", - "тверской_ADJ_бульвар_NOUN", - "твой_ADJ_отец_NOUN", - "твой_DET_возраст_NOUN", - "твой_DET_дружок_NOUN", - "твой_DET_избранник_NOUN", - "твой_DET_папаша_NOUN", - "твой_DET_подружка_NOUN", - "твой_DET_предок_NOUN", - "твой_DET_ровесник_NOUN", - "творить_VERB_чудо_NOUN", - "твориться_VERB_вокруг_ADV", - "творческий_ADJ_работа_NOUN", - "творческий_ADJ_сила_NOUN", - "твёрдо_PROPN_решить_VERB", - "твёрдо_PROPN_сказать_VERB", - "твёрдость_NOUN_дух_NOUN", - "твёрдость_NOUN_характер_NOUN", - "твёрдый_ADJ_вещество_NOUN", - "твёрдый_ADJ_земля_NOUN", - "твёрдый_ADJ_знак_NOUN", - "твёрдый_ADJ_намерение_NOUN", - "твёрдый_ADJ_порода_NOUN", - "твёрдый_ADJ_почва_NOUN", - "твёрдый_ADJ_решение_NOUN", - "твёрдый_ADJ_решимость_NOUN", - "твёрдый_ADJ_убеждение_NOUN", - "твёрдый_ADJ_уверенность_NOUN", - "твёрдый_ADJ_характер_NOUN", - "твёрдый_ADJ_шаг_NOUN", - "театральный_ADJ_жест_NOUN", - "театральный_ADJ_костюм_NOUN", - "театральный_ADJ_площадь_NOUN", - "театральный_ADJ_представление_NOUN", - "театральный_ADJ_студия_NOUN", - "театральный_ADJ_училище_NOUN", - "тебе_PRON_понадобиться_VERB", - "тебя_PRON_поцелую_VERB", - "тебя_PRON_провозить_VERB", - "тебя_PRON_тошный_ADJ", - "тебя_PRON_угораздить_VERB", - "текст_NOUN_издание_NOUN", - "текст_NOUN_источник_NOUN", - "текущий_ADJ_счёт_NOUN", - "телевизионный_ADJ_передача_NOUN", - "телевизионный_ADJ_экран_NOUN", - "телевизор_NOUN_показывать_VERB", - "телега_NOUN_запрячь_VERB", - "телеграмма_NOUN_послать_VERB", - "телеграфный_ADJ_аппарат_NOUN", - "телеграфный_ADJ_провод_NOUN", - "телеграфный_ADJ_столб_NOUN", - "телемак_NOUN_де_PART", - "телемак_PROPN_де_PART", - "телесный_ADJ_оболочка_NOUN", - "телефон_NOUN_автомат_NOUN", - "телефон_NOUN_зазвонить_VERB", - "телефон_NOUN_отключить_VERB", - "телефонный_ADJ_аппарат_NOUN", - "телефонный_ADJ_будка_NOUN", - "телефонный_ADJ_звонок_NOUN", - "телефонный_ADJ_номер_NOUN", - "телефонный_ADJ_провод_NOUN", - "телефонный_ADJ_разговор_NOUN", - "телефонный_ADJ_связь_NOUN", - "телефонный_ADJ_справочник_NOUN", - "телефонный_ADJ_станция_NOUN", - "телефонный_ADJ_трубка_NOUN", - "тело_NOUN_ныть_VERB", - "тело_NOUN_убитого_NOUN", - "тем_PRON_более_ADV", - "тем_PRON_самым_ADJ", - "тем_SCONJ_больше_ADV", - "тем_SCONJ_больше_NUM", - "тем_SCONJ_быстрый_ADV", - "тем_SCONJ_высоко_ADJ", - "тем_SCONJ_громкий_ADV", - "тем_SCONJ_лёгкий_ADJ", - "тем_SCONJ_маленький_ADV", - "тем_SCONJ_меньше_NUM", - "тем_SCONJ_плохой_ADJ", - "тем_SCONJ_сильный_ADJ", - "тем_SCONJ_сильный_ADV", - "тем_SCONJ_скорее_ADV", - "тем_SCONJ_трудный_ADJ", - "тем_SCONJ_хороший_ADJ", - "тем_SCONJ_чаще_ADV", - "тем_SCONJ_ясный_ADV", - "тема_NOUN_разговор_NOUN", - "темно_ADJ_бурый_ADJ", - "темно_ADJ_вишнёвый_ADJ", - "темно_ADJ_голубой_ADJ", - "темно_ADJ_жёлтый_ADJ", - "темно_ADJ_зелёный_ADJ", - "темно_ADJ_карий_ADJ", - "темно_ADJ_каштановый_ADJ", - "темно_ADJ_коричневый_ADJ", - "темно_ADJ_красный_ADJ", - "темно_ADJ_лиловый_ADJ", - "темно_ADJ_русый_ADJ", - "темно_ADJ_серый_ADJ", - "темно_ADJ_синий_ADJ", - "темно_ADJ_фиолетовый_ADJ", - "температура_NOUN_воздух_NOUN", - "температура_NOUN_тело_NOUN", - "тен_PROPN_итси_PROPN", - "теневой_ADJ_сторона_NOUN", - "тенистый_ADJ_аллея_NOUN", - "тенистый_ADJ_дерево_NOUN", - "тенистый_ADJ_сад_NOUN", - "теннисный_ADJ_ракетка_NOUN", - "тень_NOUN_отбрасывать_VERB", - "тень_NOUN_скользить_VERB", - "тень_NOUN_скользнуть_VERB", - "тень_NOUN_смущение_NOUN", - "тень_NOUN_сомнение_NOUN", - "теория_NOUN_вероятность_NOUN", - "теория_NOUN_относительность_NOUN", - "теперешний_ADJ_положение_NOUN", - "тепло_ADV_одеть_VERB", - "тепловой_ADJ_луч_NOUN", - "тепловой_ADJ_энергия_NOUN", - "терентий_PROPN_никитович_PROPN", - "тереть_VERB_глаз_NOUN", - "тереться_VERB_о_ADP", - "тереться_VERB_об_ADP", - "тернистый_ADJ_путь_NOUN", - "терновый_ADJ_куст_NOUN", - "терпеливо_ADV_выжидать_VERB", - "терпеливо_ADV_выслушать_VERB", - "терпеливо_ADV_дожидаться_VERB", - "терпеливо_ADV_ждать_VERB", - "терпеливо_ADV_объяснить_VERB", - "терпеливо_ADV_объяснять_VERB", - "терпеливо_ADV_ожидать_VERB", - "терпеливо_ADV_переносить_VERB", - "терпеливо_ADV_сносить_VERB", - "терпение_NOUN_лопнуть_VERB", - "терпеть_VERB_бедствие_NOUN", - "терпеть_VERB_возражение_NOUN", - "терпеть_VERB_голод_NOUN", - "терпеть_VERB_недостаток_NOUN", - "терпеть_VERB_неудача_NOUN", - "терпеть_VERB_нужда_NOUN", - "терпеть_VERB_отлагательство_NOUN", - "терпеть_VERB_поражение_NOUN", - "терпеть_VERB_терпеть_VERB", - "терпеться_VERB_скорый_ADV", - "терпеться_VERB_узнать_VERB", - "терпкий_ADJ_запах_NOUN", - "территория_NOUN_лагерь_NOUN", - "терять_VERB_бодрость_NOUN", - "терять_VERB_время_NOUN", - "терять_VERB_дар_NOUN", - "терять_VERB_драгоценный_ADJ", - "терять_VERB_мужество_NOUN", - "терять_VERB_надежда_NOUN", - "терять_VERB_нечего_VERB", - "терять_VERB_ни_PART", - "терять_VERB_присутствие_NOUN", - "терять_VERB_равновесие_NOUN", - "терять_VERB_рассудок_NOUN", - "терять_VERB_самообладание_NOUN", - "терять_VERB_сознание_NOUN", - "терять_VERB_способность_NOUN", - "терять_VERB_терпение_NOUN", - "теряться_VERB_среди_ADP", - "тесниться_VERB_вокруг_ADP", - "тесно_ADV_прижавшись_VERB", - "тесно_ADV_прижаться_VERB", - "тесно_ADV_связать_VERB", - "тесный_ADJ_дружба_NOUN", - "тесный_ADJ_кольцо_NOUN", - "тесный_ADJ_круг_NOUN", - "тесный_ADJ_кружок_NOUN", - "тесный_ADJ_кучка_NOUN", - "тесный_ADJ_помещение_NOUN", - "тесный_ADJ_пространство_NOUN", - "тесный_ADJ_ряд_NOUN", - "тесный_ADJ_связь_NOUN", - "тесный_ADJ_толпа_NOUN", - "тета_NOUN_липа_PROPN", - "тетрадный_ADJ_лист_NOUN", - "тетрадный_ADJ_листок_NOUN", - "техника_NOUN_безопасность_NOUN", - "технический_ADJ_прогресс_NOUN", - "технический_ADJ_редактор_NOUN", - "течение_NOUN_долгий_ADJ", - "течение_NOUN_месяц_NOUN", - "течение_NOUN_многих_NUM", - "течение_NOUN_несколько_NUM", - "течение_NOUN_получаса_NOUN", - "течение_NOUN_река_NOUN", - "течение_NOUN_суток_NOUN", - "течение_NOUN_тысячелетие_NOUN", - "течь_VERB_кровь_NOUN", - "течь_VERB_река_NOUN", - "течь_VERB_слеза_NOUN", - "тешить_VERB_себя_PRON", - "тигран_PROPN_саркисович_PROPN", - "тигровый_ADJ_кошка_PROPN", - "тигровый_ADJ_хвост_PROPN", - "тигровый_ADJ_шкура_NOUN", - "тик_ADV_так_ADV", - "тик_NOUN_так_ADV", - "тиканье_NOUN_час_NOUN", - "тикать_VERB_час_NOUN", - "тилли_PROPN_вилли_PROPN", - "тимофей_PROPN_василиевич_PROPN", - "тимофей_PROPN_егорович_PROPN", - "тимофей_PROPN_иванович_PROPN", - "тимофей_PROPN_семёнович_PROPN", - "тимофей_PROPN_тимофеевич_PROPN", - "тип_NOUN_кожа_NOUN", - "тип_NOUN_топ_NOUN", - "типа_ADP_того_PRON", - "типичный_ADJ_представитель_NOUN", - "типографский_ADJ_краска_NOUN", - "титульный_ADJ_лист_NOUN", - "тихий_ADJ_ветерок_PROPN", - "тихий_ADJ_грусть_NOUN", - "тихий_ADJ_жалобный_ADJ", - "тихий_ADJ_заводь_NOUN", - "тихий_ADJ_кроткий_ADJ", - "тихий_ADJ_океан_NOUN", - "тихий_ADJ_омут_NOUN", - "тихий_ADJ_переулок_NOUN", - "тихий_ADJ_погода_NOUN", - "тихий_ADJ_свист_NOUN", - "тихий_ADJ_стон_NOUN", - "тихий_ADJ_шелест_NOUN", - "тихий_ADJ_шорох_NOUN", - "тихий_ADJ_шёпот_NOUN", - "тихо_ADV_ахнуть_VERB", - "тихо_ADV_всхлипывать_VERB", - "тихо_ADV_застонать_VERB", - "тихо_ADV_мирно_ADV", - "тихо_ADV_напевать_VERB", - "тихо_ADV_отвориться_VERB", - "тихо_ADV_переговариваться_VERB", - "тихо_ADV_плескаться_VERB", - "тихо_ADV_позвать_VERB", - "тихо_ADV_покачиваться_VERB", - "тихо_ADV_проговорить_VERB", - "тихо_ADV_произнести_VERB", - "тихо_ADV_промолвить_VERB", - "тихо_ADV_свистнуть_VERB", - "тихо_ADV_стонать_VERB", - "тихо_ADV_тихо_ADV", - "тихо_ADV_шелестеть_VERB", - "тихо_ADV_шепнуть_VERB", - "тихо_ADV_шептать_VERB", - "тихо_PROPN_браге_PROPN", - "тихонько_ADV_засмеяться_VERB", - "тихонько_ADV_напевать_VERB", - "тихонько_ADV_позвать_VERB", - "тихонько_ADV_постучать_VERB", - "тихонько_ADV_свистнуть_VERB", - "тихонько_ADV_толкнуть_VERB", - "тихонько_ADV_шепнуть_VERB", - "тише_PROPN_тихий_ADJ", - "тише_PROPN_тише_ADV", - "тишина_NOUN_нарушать_VERB", - "тишина_NOUN_нарушить_VERB", - "тишина_NOUN_царить_VERB", - "тишь_VERB_да_PART", - "ткацкий_ADJ_станок_NOUN", - "ткнуть_VERB_палец_NOUN", - "ткнуться_VERB_нос_NOUN", - "тлеть_VERB_уголь_NOUN", - "то_CCONJ_ли_PART", - "то_PART_ли_PART", - "то_PRON_вроде_ADP", - "то_PRON_напутать_VERB", - "то_PRON_невнятный_ADJ", - "то_PRON_невразумительный_ADJ", - "то_PRON_недоговаривать_VERB", - "то_PRON_неладный_ADJ", - "то_PRON_немногое_ADJ", - "то_PRON_неразборчивый_ADJ", - "то_PRON_неуловимый_ADV", - "то_PRON_нечленораздельный_ADJ", - "то_SCONJ_бишь_VERB", - "товарищ_NOUN_генерал_NOUN", - "товарищ_NOUN_капитан_NOUN", - "товарищ_NOUN_киров_PROPN", - "товарищ_NOUN_кнопкина_PROPN", - "товарищ_NOUN_командир_NOUN", - "товарищ_NOUN_командующий_NOUN", - "товарищ_NOUN_комиссар_NOUN", - "товарищ_NOUN_коридоров_PROPN", - "товарищ_NOUN_лейтенант_NOUN", - "товарищ_NOUN_ленин_PROPN", - "товарищ_NOUN_майор_NOUN", - "товарищ_NOUN_начальник_NOUN", - "товарищ_NOUN_подполковник_NOUN", - "товарищ_NOUN_полковник_NOUN", - "товарищ_NOUN_помидоров_PROPN", - "товарищ_NOUN_прокурор_NOUN", - "товарищ_NOUN_сержант_NOUN", - "товарищ_NOUN_сталин_PROPN", - "товарищ_NOUN_старшина_NOUN", - "товарищ_NOUN_хрюкина_PROPN", - "товарищ_NOUN_чапаев_PROPN", - "товарищ_NOUN_чумалов_PROPN", - "товарищ_PROPN_майор_NOUN", - "товарный_ADJ_вагон_NOUN", - "товарный_ADJ_поезд_NOUN", - "товарный_ADJ_состав_NOUN", - "товарный_ADJ_станция_NOUN", - "тогда_ADV_когда_ADV", - "того_PRON_гляди_VERB", - "того_PRON_насколько_ADV", - "того_PRON_чтобы_SCONJ", - "токарный_ADJ_станок_NOUN", - "толкать_VERB_друг_PRON", - "толкнуть_VERB_дверь_NOUN", - "толкнуть_VERB_калитка_NOUN", - "толкнуть_VERB_локоть_NOUN", - "толковать_VERB_о_ADP", - "толковать_VERB_об_ADP", - "толком_ADV_объяснить_VERB", - "толку_NOUN_мало_ADV", - "толку_NOUN_никакой_DET", - "толпа_NOUN_зевака_NOUN", - "толпа_NOUN_зритель_NOUN", - "толпа_NOUN_любопытный_ADJ", - "толпа_NOUN_народ_NOUN", - "толпа_NOUN_расступиться_VERB", - "толпиться_VERB_возле_ADP", - "толпиться_VERB_вокруг_ADP", - "толпиться_VERB_народ_NOUN", - "толпиться_VERB_около_ADP", - "толстый_ADJ_бревно_NOUN", - "толстый_ADJ_верёвка_NOUN", - "толстый_ADJ_ветка_NOUN", - "толстый_ADJ_дядька_NOUN", - "толстый_ADJ_канат_NOUN", - "толстый_ADJ_книга_NOUN", - "толстый_ADJ_коса_NOUN", - "толстый_ADJ_неуклюжий_ADJ", - "толстый_ADJ_палка_NOUN", - "толстый_ADJ_пачка_NOUN", - "толстый_ADJ_подошва_NOUN", - "толстый_ADJ_проволока_NOUN", - "толстый_ADJ_слой_NOUN", - "толстый_ADJ_ствол_NOUN", - "толстый_ADJ_стекло_NOUN", - "толстый_ADJ_сук_NOUN", - "толстый_ADJ_тетрадь_NOUN", - "толстый_ADJ_том_NOUN", - "толстый_ADJ_тётка_NOUN", - "толстый_ADJ_шерстяной_ADJ", - "толща_NOUN_вода_NOUN", - "толь_PROPN_толич_PROPN", - "толь_PROPN_толича_PROPN", - "только_PART_понаслышке_ADV", - "только_PART_чур_ADV", - "том_PRON_как_ADV", - "том_PRON_что_SCONJ", - "том_PROPN_билль_PROPN", - "том_PROPN_годвин_PROPN", - "том_PROPN_грей_PROPN", - "том_PROPN_крабб_PROPN", - "том_PROPN_митчелл_PROPN", - "том_PROPN_остин_PROPN", - "том_PROPN_сойер_PROPN", - "том_PROPN_сойера_PROPN", - "том_PROPN_трюбле_PROPN", - "тома_PROPN_трюбле_PROPN", - "томатный_ADJ_сок_NOUN", - "томатный_ADJ_соус_NOUN", - "томительный_ADJ_ожидание_NOUN", - "тому_ADV_назад_ADV", - "тому_PRON_же_PART", - "тому_PRON_подобный_ADJ", - "тональный_ADJ_крем_NOUN", - "тоненький_ADJ_голос_NOUN", - "тоненький_ADJ_голосок_NOUN", - "тоненький_ADJ_ниточка_NOUN", - "тоненький_ADJ_ножка_NOUN", - "тоненький_ADJ_струйка_NOUN", - "тоненький_ADJ_тоненький_ADJ", - "тоненький_ADJ_фигурка_NOUN", - "тонио_PROPN_престо_PROPN", - "тонкий_ADJ_аромат_NOUN", - "тонкий_ADJ_бровь_NOUN", - "тонкий_ADJ_гибкий_ADJ", - "тонкий_ADJ_голосок_NOUN", - "тонкий_ADJ_губа_NOUN", - "тонкий_ADJ_изящный_ADJ", - "тонкий_ADJ_линия_NOUN", - "тонкий_ADJ_металлический_ADJ", - "тонкий_ADJ_нить_NOUN", - "тонкий_ADJ_ножка_NOUN", - "тонкий_ADJ_перегородка_NOUN", - "тонкий_ADJ_плёнка_NOUN", - "тонкий_ADJ_полоска_NOUN", - "тонкий_ADJ_полотно_NOUN", - "тонкий_ADJ_проволока_NOUN", - "тонкий_ADJ_прозрачный_ADJ", - "тонкий_ADJ_слой_NOUN", - "тонкий_ADJ_слух_NOUN", - "тонкий_ADJ_стебель_NOUN", - "тонкий_ADJ_стройный_ADJ", - "тонкий_ADJ_струйка_NOUN", - "тонкий_ADJ_струя_NOUN", - "тонкий_ADJ_сукно_NOUN", - "тонкий_ADJ_талия_NOUN", - "тонкий_ADJ_ткань_NOUN", - "тонкий_ADJ_черта_NOUN", - "тонкий_ADJ_шея_NOUN", - "тонкий_ADJ_шёлковый_ADJ", - "тонко_ADV_улыбнуться_VERB", - "тонуть_VERB_корабль_NOUN", - "топ_NOUN_топ_NOUN", - "топать_VERB_нога_NOUN", - "топить_VERB_печка_NOUN", - "топить_VERB_печь_NOUN", - "топкий_ADJ_болото_NOUN", - "топнуть_VERB_нога_NOUN", - "топнуть_VERB_ножка_NOUN", - "тополиный_ADJ_пух_NOUN", - "топот_NOUN_конь_NOUN", - "топот_NOUN_копыт_NOUN", - "топот_NOUN_лошадь_NOUN", - "топот_NOUN_нога_NOUN", - "топтать_VERB_нога_NOUN", - "топтаться_VERB_возле_ADP", - "тор_PROPN_мозина_PROPN", - "торговец_NOUN_невольник_NOUN", - "торговый_ADJ_дом_NOUN", - "торговый_ADJ_зал_NOUN", - "торговый_ADJ_ряд_NOUN", - "торговый_ADJ_сделка_NOUN", - "торговый_ADJ_сношение_NOUN", - "торговый_ADJ_судно_NOUN", - "торговый_ADJ_фирма_NOUN", - "торговый_ADJ_флот_NOUN", - "торговый_ADJ_центр_NOUN", - "торжественно_ADV_вручить_VERB", - "торжественно_ADV_заявить_VERB", - "торжественно_ADV_обещать_VERB", - "торжественно_ADV_объявить_VERB", - "торжественно_ADV_провозгласить_VERB", - "торжественно_ADV_произнести_VERB", - "торжественный_ADJ_встреча_NOUN", - "торжественный_ADJ_заседание_NOUN", - "торжественный_ADJ_клятва_NOUN", - "торжественный_ADJ_линейка_NOUN", - "торжественный_ADJ_марш_NOUN", - "торжественный_ADJ_молчание_NOUN", - "торжественный_ADJ_момент_NOUN", - "торжественный_ADJ_обещание_NOUN", - "торжественный_ADJ_обстановка_NOUN", - "торжественный_ADJ_открытие_NOUN", - "торжественный_ADJ_приём_NOUN", - "торжественный_ADJ_речь_NOUN", - "торжественный_ADJ_случай_NOUN", - "торжественный_ADJ_собрание_NOUN", - "торжественный_ADJ_тишина_NOUN", - "торжественный_ADJ_тон_NOUN", - "торжественный_ADJ_церемония_NOUN", - "торжественный_ADJ_шествие_NOUN", - "торжествовать_VERB_взгляд_NOUN", - "торжествовать_VERB_крик_NOUN", - "торжествовать_VERB_победа_NOUN", - "торжествующе_ADV_воскликнуть_VERB", - "торжествующей_ADJ_улыбка_NOUN", - "торжествующим_ADJ_вид_NOUN", - "торопиться_VERB_некуда_ADV", - "торопливо_ADV_заговорить_VERB", - "торопливо_ADV_зашагать_VERB", - "торопливо_ADV_одеваться_VERB", - "торопливо_ADV_одеться_VERB", - "торопливо_ADV_проговорить_VERB", - "торопливо_ADV_сунуть_VERB", - "торопливо_ADV_шагать_VERB", - "торопливый_ADJ_шаг_NOUN", - "торпедный_ADJ_катер_NOUN", - "торфяной_ADJ_болото_NOUN", - "торчать_VERB_кверху_ADV", - "торчать_VERB_наружу_ADV", - "торчать_VERB_острый_ADJ", - "тоскливо_ADV_подумать_VERB", - "тоскливый_ADJ_взгляд_NOUN", - "тосковать_VERB_по_ADP", - "тот_DET_ак_NOUN", - "тот_DET_ак_PROPN", - "тот_DET_памятный_ADJ", - "тот_DET_пора_NOUN", - "тот_DET_самая_ADJ", - "тот_DET_самый_ADJ", - "тот_DET_число_NOUN", - "тотчас_ADV_же_PART", - "точильный_ADJ_камень_NOUN", - "точить_VERB_нож_NOUN", - "точка_NOUN_земной_ADJ", - "точка_NOUN_зрение_NOUN", - "точка_NOUN_опора_NOUN", - "точка_NOUN_пересечение_NOUN", - "точно_ADV_окаменеть_VERB", - "точно_ADV_определить_VERB", - "точно_ADV_рассчитать_VERB", - "точность_NOUN_выполнить_VERB", - "точность_NOUN_исполнить_VERB", - "точный_ADJ_адрес_NOUN", - "точный_ADJ_дата_NOUN", - "точный_ADJ_движение_NOUN", - "точный_ADJ_копия_NOUN", - "точный_ADJ_наука_NOUN", - "точный_ADJ_определение_NOUN", - "точный_ADJ_ответ_NOUN", - "точный_ADJ_расчёт_NOUN", - "точный_ADJ_сведение_NOUN", - "точный_ADJ_удар_NOUN", - "точный_ADJ_указание_NOUN", - "точь_ADV_в_ADV", - "точь_ADV_как_SCONJ", - "точь_NOUN_в_ADV", - "тою_NOUN_же_PART", - "тра_NOUN_тот_DET", - "трагический_ADJ_вид_NOUN", - "трагический_ADJ_гибель_NOUN", - "трагический_ADJ_голос_NOUN", - "трагический_ADJ_происшествие_NOUN", - "трагический_ADJ_смерть_NOUN", - "трагический_ADJ_событие_NOUN", - "трагический_ADJ_судьба_NOUN", - "трактат_NOUN_о_ADP", - "трамвайный_ADJ_линия_NOUN", - "трамвайный_ADJ_остановка_NOUN", - "трамвайный_ADJ_путь_NOUN", - "трансатлантический_ADJ_труба_NOUN", - "транспортный_ADJ_самолёт_NOUN", - "транспортный_ADJ_средство_NOUN", - "трансформаторный_ADJ_будка_NOUN", - "трантоиль_PROPN_ланек_PROPN", - "тратить_VERB_время_NOUN", - "тратить_VERB_деньга_NOUN", - "тратить_VERB_лишний_ADJ", - "тратить_VERB_много_NUM", - "тратить_VERB_сила_NOUN", - "требовательно_ADV_спросить_VERB", - "требовать_VERB_доказательство_NOUN", - "требовать_VERB_жертва_NOUN", - "требовать_VERB_немедленный_ADJ", - "требовать_VERB_объяснение_NOUN", - "требовать_VERB_особый_ADJ", - "требовать_VERB_постоянный_ADJ", - "требовать_VERB_чтобы_SCONJ", - "требоваться_VERB_доказать_VERB", - "тревога_NOUN_поглядывать_VERB", - "тревожно_ADV_оглядываться_VERB", - "тревожно_ADV_поглядывать_VERB", - "тревожно_ADV_прислушиваться_VERB", - "тревожно_ADV_спрашивать_VERB", - "тревожно_ADV_спросить_VERB", - "тревожный_ADJ_взгляд_NOUN", - "тревожный_ADJ_крик_NOUN", - "тревожный_ADJ_мысль_NOUN", - "тревожный_ADJ_ожидание_NOUN", - "тревожный_ADJ_сигнал_NOUN", - "тревожный_ADJ_сон_NOUN", - "тревожный_ADJ_чувство_NOUN", - "тревожный_ADJ_шёпот_NOUN", - "тремаль_PROPN_наик_PROPN", - "тремаль_PROPN_наика_PROPN", - "тренировочный_ADJ_костюм_NOUN", - "трепетный_ADJ_свет_NOUN", - "треск_NOUN_ломать_VERB", - "треск_NOUN_ломаться_VERB", - "треск_NOUN_распахнуться_VERB", - "треск_NOUN_сук_NOUN", - "трескучий_ADJ_мороз_NOUN", - "третий_ADJ_вариант_NOUN", - "третий_ADJ_взвод_NOUN", - "третий_ADJ_класс_NOUN", - "третий_ADJ_курс_NOUN", - "третий_ADJ_разряд_NOUN", - "третий_ADJ_ранг_NOUN", - "третий_ADJ_сутки_NOUN", - "третий_ADJ_тропа_PROPN", - "третий_ADJ_четверть_NOUN", - "третий_ADJ_четвёртый_ADJ", - "третий_ADJ_этаж_NOUN", - "третьяковский_ADJ_галерея_NOUN", - "треугольный_ADJ_шляпа_NOUN", - "трефовый_ADJ_король_NOUN", - "трещать_VERB_кузнечик_NOUN", - "три_NUM_аршин_NOUN", - "три_NUM_богатырь_NOUN", - "три_NUM_верста_NOUN", - "три_NUM_верстах_NOUN", - "три_NUM_день_NOUN", - "три_NUM_дюйм_NOUN", - "три_NUM_квартал_NOUN", - "три_NUM_копейка_NOUN", - "три_NUM_короб_NOUN", - "три_NUM_лье_NOUN", - "три_NUM_месяц_NOUN", - "три_NUM_метр_NOUN", - "три_NUM_миля_NOUN", - "три_NUM_мушкетёр_NOUN", - "три_NUM_неделя_NOUN", - "три_NUM_погибель_NOUN", - "три_NUM_рубль_NOUN", - "три_NUM_сажень_NOUN", - "три_NUM_святитель_NOUN", - "три_NUM_том_NOUN", - "три_NUM_час_NOUN", - "три_NUM_четверть_NOUN", - "три_NUM_четыре_NUM", - "тридевятый_ADJ_царство_NOUN", - "тридесятый_ADJ_государство_NOUN", - "тридесятый_ADJ_царство_NOUN", - "тридцатый_ADJ_год_NOUN", - "тридцать_NUM_верста_NOUN", - "тридцать_NUM_восемь_NUM", - "тридцать_NUM_восьмой_ADJ", - "тридцать_NUM_год_NOUN", - "тридцать_NUM_градус_NOUN", - "тридцать_NUM_девятый_ADJ", - "тридцать_NUM_девять_NUM", - "тридцать_NUM_километр_NOUN", - "тридцать_NUM_копейка_NOUN", - "тридцать_NUM_метр_NOUN", - "тридцать_NUM_миллион_NOUN", - "тридцать_NUM_миля_NOUN", - "тридцать_NUM_пятый_ADJ", - "тридцать_NUM_пять_NUM", - "тридцать_NUM_рубль_NOUN", - "тридцать_NUM_сантиметр_NOUN", - "тридцать_NUM_седьмой_ADJ", - "тридцать_NUM_семь_NUM", - "тридцать_NUM_сорок_NUM", - "тридцать_NUM_три_NUM", - "тридцать_NUM_тысяча_NOUN", - "тридцать_NUM_фут_NOUN", - "тридцать_NUM_четвёртый_ADJ", - "тридцать_NUM_четыре_NUM", - "тридцать_NUM_шестой_ADJ", - "тридцать_NUM_шесть_NUM", - "трижды_ADV_проклясть_VERB", - "тринадцатый_ADJ_год_NOUN", - "тринадцатый_ADJ_число_NOUN", - "тринадцать_NUM_год_NOUN", - "триста_NUM_год_NOUN", - "триста_NUM_двадцать_NUM", - "триста_NUM_доллар_NOUN", - "триста_NUM_километр_NOUN", - "триста_NUM_метр_NOUN", - "триста_NUM_пятьдесят_NUM", - "триста_NUM_рубль_NOUN", - "триста_NUM_тридцать_NUM", - "триста_NUM_тысяча_NOUN", - "триста_NUM_шестьдесят_NOUN", - "триста_NUM_шестьдесят_NUM", - "триста_PROPN_тридцать_PROPN", - "тритон_PROPN_харитон_PROPN", - "триумфальный_ADJ_арка_NOUN", - "триумфальный_ADJ_шествие_NOUN", - "трогательный_ADJ_сцена_NOUN", - "трое_NUM_мужчина_NOUN", - "трое_NUM_ребят_NOUN", - "трое_NUM_суток_NOUN", - "троллейбусный_ADJ_остановка_NOUN", - "тронный_ADJ_зал_NOUN", - "тронуться_VERB_далёкий_ADV", - "тропа_NOUN_вести_VERB", - "тропа_NOUN_война_NOUN", - "тропинка_NOUN_вдоль_ADP", - "тропинка_NOUN_вести_VERB", - "тропинка_NOUN_которая_PRON", - "тропинка_NOUN_проложить_VERB", - "тропинка_NOUN_протоптать_VERB", - "тропический_ADJ_лес_NOUN", - "тропический_ADJ_ливень_NOUN", - "тропический_ADJ_растение_NOUN", - "тропический_ADJ_растительность_NOUN", - "тропический_ADJ_солнце_NOUN", - "тропический_ADJ_страна_NOUN", - "трофим_PROPN_иванович_PROPN", - "троюродный_ADJ_брат_NOUN", - "трубный_ADJ_звук_NOUN", - "труд_NOUN_выговаривать_VERB", - "труд_NOUN_выговорить_VERB", - "труд_NOUN_выдавить_VERB", - "труд_NOUN_вытаскивать_VERB", - "труд_NOUN_оторвать_VERB", - "труд_NOUN_оторваться_VERB", - "труд_NOUN_переводить_VERB", - "труд_NOUN_передвигать_VERB", - "труд_NOUN_подавить_VERB", - "труд_NOUN_подбирать_VERB", - "труд_NOUN_поспевать_VERB", - "труд_NOUN_пробиваться_VERB", - "труд_NOUN_пробираться_VERB", - "труд_NOUN_протиснуться_VERB", - "труд_NOUN_разбирать_VERB", - "труд_NOUN_различать_VERB", - "труд_NOUN_сдержать_VERB", - "труд_NOUN_сдерживать_VERB", - "труд_NOUN_сдерживаться_VERB", - "труд_NOUN_удержаться_VERB", - "труд_NOUN_удерживать_VERB", - "труд_NOUN_удерживаться_VERB", - "трудиться_VERB_над_ADP", - "трудный_ADJ_дышать_VERB", - "трудный_ADJ_задача_NOUN", - "трудный_ADJ_описать_VERB", - "трудный_ADJ_поверить_VERB", - "трудный_ADJ_положение_NOUN", - "трудный_ADJ_представить_VERB", - "трудный_ADJ_ситуация_NOUN", - "трудовой_ADJ_день_NOUN", - "трудовой_ADJ_жизнь_NOUN", - "трудовой_ADJ_народ_NOUN", - "тряпичный_ADJ_кукла_NOUN", - "трясущимися_ADJ_рука_NOUN", - "тряхнуть_VERB_волос_NOUN", - "тряхнуть_VERB_голова_NOUN", - "тряхнуть_VERB_кудрями_NOUN", - "тряхнуть_VERB_старина_NOUN", - "трёхлитровый_ADJ_банка_NOUN", - "трёхэтажный_ADJ_дом_NOUN", - "трёхэтажный_ADJ_здание_NOUN", - "тс_NOUN_с_NOUN", - "тс_NOUN_с_PROPN", - "туалетный_ADJ_бумага_NOUN", - "туалетный_ADJ_вода_NOUN", - "туалетный_ADJ_принадлежность_NOUN", - "туалетный_ADJ_столик_NOUN", - "туго_ADV_затянуть_VERB", - "туго_ADV_набитый_ADJ", - "туго_ADV_набить_VERB", - "туго_ADV_натянутый_ADJ", - "туго_ADV_натянуть_VERB", - "туго_ADV_перетянуть_VERB", - "туго_ADV_стянуть_VERB", - "тугой_ADJ_лук_NOUN", - "тугой_ADJ_струя_NOUN", - "тугой_ADJ_узел_NOUN", - "туда_ADV_где_ADV", - "туда_ADV_залезть_VERB", - "туда_ADV_попасть_VERB", - "туда_ADV_сюда_ADV", - "туземный_ADJ_население_NOUN", - "туземный_ADJ_племя_NOUN", - "тук_NOUN_тук_NOUN", - "туман_NOUN_рассеяться_VERB", - "туманно_ADV_ответить_VERB", - "туманный_ADJ_даль_NOUN", - "туманный_ADJ_дымка_NOUN", - "тун_PROPN_ли_PROPN", - "тунгусский_ADJ_метеорит_NOUN", - "тупо_ADV_глядеть_VERB", - "тупо_ADV_смотреть_VERB", - "тупо_ADV_спросить_VERB", - "тупо_ADV_уставиться_VERB", - "тупой_ADJ_боль_NOUN", - "тур_NOUN_вальс_NOUN", - "турецкий_ADJ_султан_NOUN", - "турецкий_ADJ_шаль_NOUN", - "туристский_ADJ_поход_NOUN", - "тускло_ADV_блестеть_VERB", - "тускло_ADV_гореть_VERB", - "тускло_ADV_мерцать_VERB", - "тускло_ADV_осветить_VERB", - "тускло_ADV_освещать_VERB", - "тускло_ADV_поблескивать_VERB", - "тускло_ADV_светиться_VERB", - "тусклый_ADJ_лампочка_NOUN", - "тусклый_ADJ_свет_NOUN", - "туся_PROPN_крылов_PROPN", - "тут_ADV_зазвонить_VERB", - "тут_ADV_крыться_VERB", - "тутовый_ADJ_дерево_NOUN", - "тухлый_ADJ_яйцо_NOUN", - "туча_NOUN_брызг_NOUN", - "туча_NOUN_пыль_NOUN", - "туча_NOUN_стрела_NOUN", - "тушить_VERB_огонь_NOUN", - "тушить_VERB_пожар_NOUN", - "тцян_PROPN_куэй_PROPN", - "тщательно_ADV_выбрить_VERB", - "тщательно_ADV_вымыть_VERB", - "тщательно_ADV_вытереть_VERB", - "тщательно_ADV_завернуть_VERB", - "тщательно_ADV_запереть_VERB", - "тщательно_ADV_избегать_VERB", - "тщательно_ADV_изучать_VERB", - "тщательно_ADV_изучить_VERB", - "тщательно_ADV_исследовать_VERB", - "тщательно_ADV_обследовать_VERB", - "тщательно_ADV_обыскать_VERB", - "тщательно_ADV_осматривать_VERB", - "тщательно_ADV_осмотреть_VERB", - "тщательно_ADV_причесать_VERB", - "тщательно_ADV_проверить_VERB", - "тщательно_ADV_продумать_VERB", - "тщательно_ADV_скрывать_VERB", - "тщательно_ADV_следить_VERB", - "тщательно_ADV_сложить_VERB", - "тщательно_ADV_спрятать_VERB", - "тщательно_ADV_уложить_VERB", - "тщательный_ADJ_осмотр_NOUN", - "тщательный_ADJ_уход_NOUN", - "тщетно_ADV_искать_VERB", - "тщетно_ADV_пытаться_VERB", - "тщетно_ADV_стараться_VERB", - "тщетный_ADJ_попытка_NOUN", - "тщетный_ADJ_усилие_NOUN", - "ты_ADV_то_PRON", - "ты_PRON_вырастешь_VERB", - "ты_PRON_даёшь_VERB", - "ты_PRON_живёшь_VERB", - "ты_PRON_заладить_VERB", - "ты_PRON_научишься_VERB", - "ты_PRON_окажешься_VERB", - "ты_PRON_откажешься_VERB", - "ты_PRON_отправишься_VERB", - "ты_PRON_ошибаешься_VERB", - "ты_PRON_погляди_ADJ", - "ты_PRON_поймешь_VERB", - "ты_PRON_послушай_ADJ", - "ты_PRON_приходи_VERB", - "ты_PRON_сдуреть_VERB", - "ты_PRON_сиди_VERB", - "ты_PRON_скажешь_VERB", - "ты_PRON_слушай_VERB", - "ты_PRON_согласишься_VERB", - "ты_PRON_спросишь_VERB", - "ты_PRON_убедишься_VERB", - "ты_PRON_че_INTJ", - "тыкать_VERB_палец_NOUN", - "тыкаться_VERB_нос_NOUN", - "тыквенный_ADJ_бутылка_NOUN", - "тыл_NOUN_враг_NOUN", - "тыльный_ADJ_сторона_NOUN", - "тысяча_NOUN_бакс_NOUN", - "тысяча_NOUN_верста_NOUN", - "тысяча_NOUN_восемьсот_NOUN", - "тысяча_NOUN_восемьсот_NUM", - "тысяча_NOUN_год_NOUN", - "тысяча_NOUN_градус_NOUN", - "тысяча_NOUN_двести_NOUN", - "тысяча_NOUN_двести_NUM", - "тысяча_NOUN_девятьсот_NOUN", - "тысяча_NOUN_доллар_NOUN", - "тысяча_NOUN_квадратный_ADJ", - "тысяча_NOUN_килограмм_NOUN", - "тысяча_NOUN_километр_NOUN", - "тысяча_NOUN_ливр_NOUN", - "тысяча_NOUN_марка_NOUN", - "тысяча_NOUN_метр_NOUN", - "тысяча_NOUN_миля_NOUN", - "тысяча_NOUN_пиастр_NOUN", - "тысяча_NOUN_пуд_NOUN", - "тысяча_NOUN_пятьсот_NOUN", - "тысяча_NOUN_пятьсот_NUM", - "тысяча_NOUN_рубль_NOUN", - "тысяча_NOUN_семьсот_NOUN", - "тысяча_NOUN_тонна_NOUN", - "тысяча_NOUN_триста_NOUN", - "тысяча_NOUN_франк_NOUN", - "тысяча_NOUN_фунт_NOUN", - "тысяча_NOUN_фут_NOUN", - "тысяча_NOUN_четыреста_NOUN", - "тысяча_NOUN_шестьсот_NOUN", - "тысяча_PROPN_чёрт_NOUN", - "тысячелетие_NOUN_назад_ADV", - "тысячный_ADJ_доля_NOUN", - "тысячный_ADJ_раз_NOUN", - "тысячный_ADJ_толпа_NOUN", - "тыщу_NOUN_раз_NOUN", - "тьма_NOUN_тьмущая_NOUN", - "тьфу_NOUN_тьфу_NOUN", - "тьфу_PROPN_ты_PRON", - "тю_INTJ_тю_INTJ", - "тю_NOUN_тю_INTJ", - "тюк_NOUN_тюк_NOUN", - "тюлений_ADJ_жир_NOUN", - "тюлений_ADJ_шкура_NOUN", - "тюремный_ADJ_больница_NOUN", - "тюремный_ADJ_двор_NOUN", - "тюремный_ADJ_заключение_NOUN", - "тюремный_ADJ_камера_NOUN", - "тюрьма_NOUN_посадить_VERB", - "тюхин_PROPN_матюхин_PROPN", - "тягостный_ADJ_молчание_NOUN", - "тяготеть_VERB_над_ADP", - "тяжело_ADV_больной_ADJ", - "тяжело_ADV_вздохнуть_VERB", - "тяжело_ADV_вздыхать_VERB", - "тяжело_ADV_дышать_ADV", - "тяжело_ADV_дышать_VERB", - "тяжело_ADV_заболеть_VERB", - "тяжело_ADV_задышать_VERB", - "тяжело_ADV_нагрузить_VERB", - "тяжело_ADV_опираться_VERB", - "тяжело_ADV_опуститься_VERB", - "тяжело_ADV_отдуваться_VERB", - "тяжело_ADV_переводить_VERB", - "тяжело_ADV_переживать_VERB", - "тяжело_ADV_подняться_VERB", - "тяжело_ADV_ранить_VERB", - "тяжело_ADV_рухнуть_VERB", - "тяжело_ADV_ступать_VERB", - "тяжело_PROPN_вздохнуть_VERB", - "тяжело_PROPN_дышать_ADV", - "тяжкий_ADJ_болезнь_NOUN", - "тяжкий_ADJ_вздох_NOUN", - "тяжкий_ADJ_грех_NOUN", - "тяжкий_ADJ_испытание_NOUN", - "тяжкий_ADJ_преступление_NOUN", - "тяжкий_ADJ_труд_NOUN", - "тяжко_ADV_вздохнуть_VERB", - "тяжёлый_ADJ_артиллерия_NOUN", - "тяжёлый_ADJ_болезнь_NOUN", - "тяжёлый_ADJ_бремя_NOUN", - "тяжёлый_ADJ_вздох_NOUN", - "тяжёлый_ADJ_груз_NOUN", - "тяжёлый_ADJ_дубовый_ADJ", - "тяжёлый_ADJ_дума_NOUN", - "тяжёлый_ADJ_дыхание_NOUN", - "тяжёлый_ADJ_засов_NOUN", - "тяжёлый_ADJ_испытание_NOUN", - "тяжёлый_ADJ_капля_NOUN", - "тяжёлый_ADJ_молот_NOUN", - "тяжёлый_ADJ_ноша_NOUN", - "тяжёлый_ADJ_портьера_NOUN", - "тяжёлый_ADJ_поступь_NOUN", - "тяжёлый_ADJ_предчувствие_NOUN", - "тяжёлый_ADJ_ранение_NOUN", - "тяжёлый_ADJ_свинцовый_ADJ", - "тяжёлый_ADJ_топот_NOUN", - "тяжёлый_ADJ_утрата_NOUN", - "тянуть_VERB_жребий_NOUN", - "тянуть_VERB_резина_NOUN", - "тянуть_VERB_тянуть_VERB", - "тянуть_VERB_холод_NOUN", - "тянуться_VERB_бесконечно_ADV", - "тянуться_VERB_бесконечный_ADJ", - "тянуться_VERB_вверх_ADV", - "тянуться_VERB_вдоль_ADP", - "тянь_PROPN_цзиня_PROPN", - "тяп_NOUN_ляп_NOUN", - "тёмин_PROPN_папа_NOUN", - "тёмно_ADJ_зелёный_ADJ", - "тёмно_ADJ_красный_ADJ", - "тёмно_ADJ_синий_ADJ", - "тёмный_ADJ_бездна_NOUN", - "тёмный_ADJ_закоулок_NOUN", - "тёмный_ADJ_зелень_NOUN", - "тёмный_ADJ_коридор_NOUN", - "тёмный_ADJ_личность_NOUN", - "тёмный_ADJ_масса_NOUN", - "тёмный_ADJ_очки_NOUN", - "тёмный_ADJ_очко_NOUN", - "тёмный_ADJ_полоса_NOUN", - "тёмный_ADJ_полоска_NOUN", - "тёмный_ADJ_провал_NOUN", - "тёмный_ADJ_пятно_NOUN", - "тёмный_ADJ_ресница_NOUN", - "тёмный_ADJ_силуэт_NOUN", - "тёмный_ADJ_туча_NOUN", - "тёмный_ADJ_угол_NOUN", - "тёмный_ADJ_фигура_NOUN", - "тёмный_ADJ_фон_NOUN", - "тёмный_ADJ_чулан_NOUN", - "тёплый_ADJ_весенний_ADJ", - "тёплый_ADJ_ветерок_NOUN", - "тёплый_ADJ_влажный_ADJ", - "тёплый_ADJ_вода_NOUN", - "тёплый_ADJ_воздух_NOUN", - "тёплый_ADJ_климат_NOUN", - "тёплый_ADJ_куртка_NOUN", - "тёплый_ADJ_летний_ADJ", - "тёплый_ADJ_молоко_NOUN", - "тёплый_ADJ_одежда_NOUN", - "тёплый_ADJ_одеяло_NOUN", - "тёплый_ADJ_пальто_NOUN", - "тёплый_ADJ_платок_NOUN", - "тёплый_ADJ_погода_NOUN", - "тёплый_ADJ_струя_NOUN", - "тёплый_ADJ_уютный_ADJ", - "тёплый_ADJ_шуба_NOUN", - "тётка_NOUN_алёна_PROPN", - "тётка_NOUN_анфиса_PROPN", - "тётка_NOUN_валентина_PROPN", - "тётка_NOUN_дарья_PROPN", - "тётка_NOUN_зина_PROPN", - "тётка_NOUN_марья_PROPN", - "тётка_NOUN_пелагея_PROPN", - "тётка_NOUN_полли_PROPN", - "тётка_NOUN_теренция_PROPN", - "тётушка_NOUN_аксал_PROPN", - "тётушка_NOUN_джесси_PROPN", - "тётушка_NOUN_изобилие_PROPN", - "тётушка_NOUN_клара_PROPN", - "тётушка_NOUN_лан_PROPN", - "тётушка_NOUN_марина_PROPN", - "тётушка_NOUN_ох_PROPN", - "тётушка_NOUN_салли_PROPN", - "тётушка_NOUN_спокойствие_PROPN", - "тётушка_NOUN_тильда_PROPN", - "тётушка_NOUN_черепаха_PROPN", - "тётя_NOUN_аня_PROPN", - "тётя_NOUN_ариадна_PROPN", - "тётя_NOUN_валя_PROPN", - "тётя_NOUN_варя_PROPN", - "тётя_NOUN_вера_PROPN", - "тётя_NOUN_вити_PROPN", - "тётя_NOUN_витя_PROPN", - "тётя_NOUN_галя_PROPN", - "тётя_NOUN_геля_PROPN", - "тётя_NOUN_глаша_PROPN", - "тётя_NOUN_даша_PROPN", - "тётя_NOUN_джейн_PROPN", - "тётя_NOUN_джо_PROPN", - "тётя_NOUN_домна_PROPN", - "тётя_NOUN_доротея_PROPN", - "тётя_NOUN_дуня_PROPN", - "тётя_NOUN_дуся_PROPN", - "тётя_NOUN_еня_PROPN", - "тётя_NOUN_женя_PROPN", - "тётя_NOUN_зина_PROPN", - "тётя_NOUN_ира_PROPN", - "тётя_NOUN_катя_PROPN", - "тётя_NOUN_клава_PROPN", - "тётя_NOUN_клара_PROPN", - "тётя_NOUN_лара_PROPN", - "тётя_NOUN_лариса_PROPN", - "тётя_NOUN_лена_PROPN", - "тётя_NOUN_лида_PROPN", - "тётя_NOUN_лидуша_PROPN", - "тётя_NOUN_лиза_PROPN", - "тётя_NOUN_липа_PROPN", - "тётя_NOUN_люба_PROPN", - "тётя_NOUN_люда_PROPN", - "тётя_NOUN_люся_PROPN", - "тётя_NOUN_лёля_PROPN", - "тётя_NOUN_маня_PROPN", - "тётя_NOUN_маруся_PROPN", - "тётя_NOUN_маша_PROPN", - "тётя_NOUN_модя_PROPN", - "тётя_NOUN_мотя_PROPN", - "тётя_NOUN_муза_PROPN", - "тётя_NOUN_муся_PROPN", - "тётя_NOUN_надя_PROPN", - "тётя_NOUN_наташа_PROPN", - "тётя_NOUN_нина_PROPN", - "тётя_NOUN_нора_PROPN", - "тётя_NOUN_нюра_PROPN", - "тётя_NOUN_нюся_PROPN", - "тётя_NOUN_оля_PROPN", - "тётя_NOUN_паша_PROPN", - "тётя_NOUN_поля_PROPN", - "тётя_NOUN_роза_PROPN", - "тётя_NOUN_саша_PROPN", - "тётя_NOUN_сима_PROPN", - "тётя_NOUN_соня_PROPN", - "тётя_NOUN_тамара_PROPN", - "тётя_NOUN_таша_PROPN", - "тётя_NOUN_тоня_PROPN", - "тётя_NOUN_феня_PROPN", - "тётя_NOUN_шура_PROPN", - "тётя_NOUN_энид_PROPN", - "тётя_PROPN_аня_PROPN", - "тётя_PROPN_ариадна_PROPN", - "тётя_PROPN_валя_PROPN", - "тётя_PROPN_варя_PROPN", - "тётя_PROPN_вера_PROPN", - "тётя_PROPN_витя_PROPN", - "тётя_PROPN_галя_PROPN", - "тётя_PROPN_даша_PROPN", - "тётя_PROPN_дуня_PROPN", - "тётя_PROPN_дуся_PROPN", - "тётя_PROPN_женя_PROPN", - "тётя_PROPN_зина_PROPN", - "тётя_PROPN_зоя_PROPN", - "тётя_PROPN_ира_PROPN", - "тётя_PROPN_катя_PROPN", - "тётя_PROPN_клава_PROPN", - "тётя_PROPN_лена_PROPN", - "тётя_PROPN_лиза_PROPN", - "тётя_PROPN_липа_PROPN", - "тётя_PROPN_маруся_PROPN", - "тётя_PROPN_маша_PROPN", - "тётя_PROPN_муза_PROPN", - "тётя_PROPN_муся_PROPN", - "тётя_PROPN_надя_PROPN", - "тётя_PROPN_наташа_PROPN", - "тётя_PROPN_нина_PROPN", - "тётя_PROPN_нора_PROPN", - "тётя_PROPN_нюра_PROPN", - "тётя_PROPN_оля_PROPN", - "тётя_PROPN_паша_PROPN", - "тётя_PROPN_поля_PROPN", - "тётя_PROPN_сима_PROPN", - "тётя_PROPN_соня_PROPN", - "тётя_PROPN_тамара_PROPN", - "тётя_PROPN_таша_PROPN", - "тётя_PROPN_фая_PROPN", - "тётя_PROPN_шура_PROPN", - "у_ADP_алешки_PROPN", - "у_ADP_андрейки_PROPN", - "у_ADP_антошки_PROPN", - "у_ADP_борьки_PROPN", - "у_ADP_вадьки_PROPN", - "у_ADP_валерки_PROPN", - "у_ADP_вальки_PROPN", - "у_ADP_ваньки_PROPN", - "у_ADP_вас_PRON", - "у_ADP_васьки_PROPN", - "у_ADP_венечки_PROPN", - "у_ADP_веньки_PROPN", - "у_ADP_витьки_PROPN", - "у_ADP_вовки_PROPN", - "у_ADP_вовы_PROPN", - "у_ADP_володи_PROPN", - "у_ADP_генки_PROPN", - "у_ADP_гошки_PROPN", - "у_ADP_гришки_PROPN", - "у_ADP_данилы_PROPN", - "у_ADP_димки_PROPN", - "у_ADP_ирки_PROPN", - "у_ADP_кольки_PROPN", - "у_ADP_лешки_PROPN", - "у_ADP_лодьки_PROPN", - "у_ADP_мишки_PROPN", - "у_ADP_мотьки_PROPN", - "у_ADP_нас_PRON", - "у_ADP_него_PRON", - "у_ADP_нее_PRON", - "у_ADP_неё_PRON", - "у_ADP_пашки_PROPN", - "у_ADP_пети_PROPN", - "у_ADP_петьки_PROPN", - "у_ADP_подножие_NOUN", - "у_ADP_ритки_PROPN", - "у_ADP_ромки_PROPN", - "у_ADP_ромы_PROPN", - "у_ADP_сани_PROPN", - "у_ADP_саньки_PROPN", - "у_ADP_сашки_PROPN", - "у_ADP_светки_PROPN", - "у_ADP_севки_PROPN", - "у_ADP_степки_PROPN", - "у_ADP_тимки_PROPN", - "у_ADP_тольки_PROPN", - "у_ADP_тёти_PROPN", - "у_ADP_феди_PROPN", - "у_ADP_юли_PROPN", - "у_ADP_юрки_PROPN", - "у_ADP_яшки_PROPN", - "у_ADV_у_PART", - "у_ADV_это_PART", - "у_INTJ_у_PART", - "у_PART_у_PART", - "уайльд_PROPN_уотер_PROPN", - "убегать_VERB_вдаль_ADV", - "убедительно_ADV_просить_VERB", - "убедиться_VERB_что_SCONJ", - "убеждаться_VERB_что_SCONJ", - "убеждена_ADJ_что_SCONJ", - "убежденно_ADV_заявить_VERB", - "убежденно_ADV_ответить_VERB", - "убежденно_ADV_проговорить_VERB", - "убежденно_ADV_произнести_VERB", - "убежденно_ADV_сказать_VERB", - "убеждены_ADJ_что_SCONJ", - "убеждённый_ADJ_что_SCONJ", - "уберечься_VERB_от_ADP", - "убийство_NOUN_совершить_VERB", - "убирать_VERB_парус_NOUN", - "убирать_VERB_посуда_NOUN", - "убираться_VERB_вон_ADV", - "убираться_VERB_отсюда_ADV", - "убираться_VERB_прочь_ADV", - "убить_VERB_горе_NOUN", - "убить_VERB_наповал_VERB", - "убранство_NOUN_комната_NOUN", - "убрать_VERB_парус_NOUN", - "убрать_VERB_посуда_NOUN", - "убраться_VERB_восвояси_ADV", - "убраться_VERB_отсюда_ADV", - "уважаемый_ADJ_читатель_NOUN", - "уважаемый_VERB_товарищ_NOUN", - "уважение_NOUN_относиться_VERB", - "уважение_NOUN_посмотреть_VERB", - "уважительный_ADJ_причина_NOUN", - "уведомить_VERB_вас_PRON", - "увеличивать_VERB_скорость_NOUN", - "увеличительный_ADJ_стекло_NOUN", - "увеличить_VERB_скорость_NOUN", - "увенчаться_VERB_полный_ADJ", - "увенчаться_VERB_успех_NOUN", - "уверена_ADJ_что_SCONJ", - "уверенно_ADV_возразить_VERB", - "уверенно_ADV_заявить_VERB", - "уверенно_ADV_ответить_VERB", - "уверенно_ADV_проговорить_VERB", - "уверенно_ADV_произнести_VERB", - "уверенно_ADV_шагать_VERB", - "уверенный_ADJ_походка_NOUN", - "уверенный_ADJ_тон_NOUN", - "уверенный_ADJ_что_SCONJ", - "уверены_ADJ_что_SCONJ", - "увернуться_VERB_от_ADP", - "уверять_VERB_будто_SCONJ", - "уверять_VERB_вас_PRON", - "увесистый_ADJ_кулак_NOUN", - "увиливать_VERB_от_ADP", - "увильнуть_VERB_от_ADP", - "увлекать_VERB_за_ADP", - "увлечение_NOUN_рассказывать_VERB", - "увлечённо_ADV_рассказывать_VERB", - "уворачиваться_VERB_от_ADP", - "увязаться_VERB_за_ADP", - "увёртываться_VERB_от_ADP", - "уг_PROPN_ломи_PROPN", - "углекислый_ADJ_газ_NOUN", - "угловой_ADJ_башня_NOUN", - "угловой_ADJ_дом_NOUN", - "угловой_ADJ_комната_NOUN", - "угнать_VERB_машина_NOUN", - "угнаться_VERB_за_ADP", - "угнетённый_ADJ_состояние_NOUN", - "угодить_VERB_прямо_ADV", - "уголовный_ADJ_дело_NOUN", - "уголовный_ADJ_кодекс_NOUN", - "уголовный_ADJ_ответственность_NOUN", - "уголовный_ADJ_преступление_NOUN", - "уголовный_ADJ_розыск_NOUN", - "уголок_NOUN_губа_NOUN", - "уголок_NOUN_земной_ADJ", - "уголок_NOUN_рот_NOUN", - "угольный_ADJ_пыль_NOUN", - "угольный_ADJ_чёрный_ADJ", - "угольный_ADJ_шахта_NOUN", - "угольный_ADJ_яма_NOUN", - "угощать_VERB_гость_NOUN", - "угрожать_VERB_жест_NOUN", - "угрожать_VERB_опасность_NOUN", - "угрожать_VERB_тон_NOUN", - "угрожающе_ADV_произнести_VERB", - "угрызение_NOUN_совесть_NOUN", - "угрюмо_PROPN_молчать_VERB", - "угрюмо_PROPN_ответить_VERB", - "угрюмо_PROPN_произнести_VERB", - "угрюмый_ADJ_молчание_NOUN", - "угу_PROPN_кивнуть_VERB", - "удаляться_VERB_от_ADP", - "удаляться_VERB_шаг_NOUN", - "удар_NOUN_бич_NOUN", - "удар_NOUN_гром_NOUN", - "удар_NOUN_кинжал_NOUN", - "удар_NOUN_кнут_NOUN", - "удар_NOUN_колокол_NOUN", - "удар_NOUN_копьё_NOUN", - "удар_NOUN_кулак_NOUN", - "удар_NOUN_молния_NOUN", - "удар_NOUN_молот_NOUN", - "удар_NOUN_молоток_NOUN", - "удар_NOUN_нанести_VERB", - "удар_NOUN_нож_NOUN", - "удар_NOUN_плеть_NOUN", - "удар_NOUN_приклад_NOUN", - "удар_NOUN_топор_NOUN", - "удар_NOUN_хлыст_NOUN", - "удар_NOUN_шпага_NOUN", - "ударить_VERB_гром_NOUN", - "ударить_VERB_кулак_NOUN", - "ударить_VERB_молния_NOUN", - "ударить_VERB_мороз_NOUN", - "удариться_VERB_голова_NOUN", - "удариться_VERB_лоб_NOUN", - "удариться_VERB_о_ADP", - "удариться_VERB_об_ADP", - "ударный_ADJ_группа_NOUN", - "ударять_VERB_кулак_NOUN", - "ударяться_VERB_о_ADP", - "удастся_VERB_ли_PART", - "удаться_VERB_благополучно_ADV", - "удаться_VERB_восстановить_VERB", - "удаться_VERB_выбраться_VERB", - "удаться_VERB_вырваться_VERB", - "удаться_VERB_выяснить_VERB", - "удаться_VERB_добиться_VERB", - "удаться_VERB_добыть_VERB", - "удаться_VERB_избежать_VERB", - "удаться_VERB_обнаружить_VERB", - "удаться_VERB_осуществить_VERB", - "удаться_VERB_пробраться_VERB", - "удаться_VERB_раздобыть_VERB", - "удаться_VERB_разыскать_VERB", - "удаться_VERB_спасти_VERB", - "удаться_VERB_спастись_VERB", - "удаться_VERB_убедить_VERB", - "удаться_VERB_уговорить_VERB", - "удаться_VERB_ускользнуть_VERB", - "удаться_VERB_установить_VERB", - "удачный_ADJ_выстрел_NOUN", - "удачный_ADJ_охота_NOUN", - "удвоить_VERB_сила_NOUN", - "удвоить_VERB_усилие_NOUN", - "удвоить_VERB_энергия_NOUN", - "уделить_VERB_мне_PRON", - "удельный_ADJ_вес_NOUN", - "уделять_VERB_внимание_NOUN", - "удержать_VERB_равновесие_NOUN", - "удержаться_VERB_от_ADP", - "удерживаться_VERB_от_ADP", - "удивительно_ADV_быстро_ADV", - "удивительно_ADV_вкусный_ADJ", - "удивительно_ADV_красивый_ADJ", - "удивительно_ADV_напоминать_VERB", - "удивительно_ADV_похожий_ADJ", - "удивительно_ADV_приятный_ADJ", - "удивительный_ADJ_быстрота_NOUN", - "удивительный_ADJ_вещь_NOUN", - "удивительный_ADJ_зрелище_NOUN", - "удивительный_ADJ_история_NOUN", - "удивительный_ADJ_ловкость_NOUN", - "удивительный_ADJ_открытие_NOUN", - "удивительный_ADJ_приключение_NOUN", - "удивительный_ADJ_событие_NOUN", - "удивительный_ADJ_способность_NOUN", - "удивиться_VERB_алешка_PROPN", - "удивиться_VERB_незнайка_PROPN", - "удивление_NOUN_взглянуть_VERB", - "удивление_NOUN_обнаружить_VERB", - "удивление_NOUN_отметить_VERB", - "удивление_NOUN_посмотреть_VERB", - "удивление_NOUN_разглядывать_VERB", - "удивление_NOUN_уставиться_VERB", - "удивленно_ADV_взглянуть_VERB", - "удивленно_ADV_воскликнуть_VERB", - "удивленно_ADV_вскинуть_VERB", - "удивленно_ADV_оглянуться_VERB", - "удивленно_ADV_переглянуться_VERB", - "удивленно_ADV_переспросить_VERB", - "удивленно_ADV_поднять_VERB", - "удивленно_ADV_посмотреть_VERB", - "удивленно_ADV_приподнять_VERB", - "удивленно_ADV_спросить_VERB", - "удивленно_ADV_уставиться_VERB", - "удивляться_VERB_тому_PRON", - "удивлённо_ADV_посмотреть_VERB", - "удивлённо_ADV_спросить_VERB", - "удивлённый_ADJ_взгляд_NOUN", - "удивлённый_ADJ_возглас_NOUN", - "удивлённый_ADJ_восклицание_NOUN", - "удивлённый_ADJ_лицо_NOUN", - "удить_VERB_рыба_NOUN", - "удобно_ADV_расположиться_VERB", - "удобно_ADV_устроиться_VERB", - "удобный_ADJ_кресло_NOUN", - "удобный_ADJ_местечко_NOUN", - "удобный_ADJ_момент_NOUN", - "удобный_ADJ_случай_NOUN", - "удобный_ADV_устроиться_VERB", - "удовлетворение_NOUN_отметить_VERB", - "удовлетворить_VERB_любопытство_NOUN", - "удовлетворённо_ADV_кивнуть_VERB", - "удовлетворённо_ADV_произнести_VERB", - "удовлетворённо_ADV_улыбнуться_VERB", - "удовлетворённо_ADV_хмыкнуть_VERB", - "удовольствие_NOUN_доставлять_VERB", - "удовольствие_NOUN_отметить_VERB", - "удовольствоваться_VERB_тем_PRON", - "удостоверение_NOUN_личность_NOUN", - "удостовериться_VERB_что_SCONJ", - "удрать_VERB_отсюда_ADV", - "удушливый_ADJ_дым_NOUN", - "удушливый_ADJ_запах_NOUN", - "уединённый_ADJ_место_NOUN", - "уездный_ADJ_город_NOUN", - "уезжать_VERB_отсюда_ADV", - "уехать_VERB_отсюда_ADV", - "уж_PART_больно_ADV", - "уж_PART_дудка_NOUN", - "уж_PART_извинить_VERB", - "уж_PART_колоть_VERB", - "уж_PART_ладный_ADJ", - "уж_PART_поверь_VERB", - "уж_PART_слишком_ADJ", - "уж_PART_точный_ADJ", - "уж_PART_чересчур_ADJ", - "ужас_NOUN_отпрянуть_VERB", - "ужас_NOUN_отшатнуться_VERB", - "ужас_NOUN_охватить_VERB", - "ужас_NOUN_прошептать_VERB", - "ужас_NOUN_сковать_VERB", - "ужас_PROPN_какой_DET", - "ужасать_VERB_быстрота_NOUN", - "ужасно_ADV_бояться_VERB", - "ужасно_ADV_волноваться_VERB", - "ужасно_ADV_жаль_ADV", - "ужасно_ADV_захотеться_VERB", - "ужасно_ADV_неприятный_ADJ", - "ужасно_ADV_нравиться_VERB", - "ужасно_ADV_обрадоваться_VERB", - "ужасно_ADV_рад_ADJ", - "ужасно_ADV_скучный_ADJ", - "ужасно_ADV_смешной_ADJ", - "ужасно_ADV_страдать_VERB", - "ужасно_ADV_стыдно_ADV", - "ужасно_ADV_устать_VERB", - "ужасно_ADV_хотеться_VERB", - "ужасный_ADJ_драма_NOUN", - "ужасный_ADJ_зрелище_NOUN", - "ужасный_ADJ_катастрофа_NOUN", - "ужасный_ADJ_мучение_NOUN", - "ужасный_ADJ_несчастие_NOUN", - "ужасный_ADJ_последствие_NOUN", - "ужасный_ADJ_преступление_NOUN", - "ужасный_ADJ_происшествие_NOUN", - "ужасный_ADJ_пытка_NOUN", - "ужасный_ADJ_рёв_NOUN", - "ужасный_ADJ_страдание_NOUN", - "ужасный_ADJ_сцена_NOUN", - "ужасный_ADJ_участь_NOUN", - "уже_ADV_вечерело_VERB", - "уже_ADV_вовсю_ADV", - "уже_ADV_немолодой_ADJ", - "уже_ADV_подумывать_VERB", - "уже_ADV_поздно_ADV", - "уже_ADV_светать_VERB", - "уже_ADV_смеркалось_VERB", - "уже_ADV_стемнеть_VERB", - "узенький_ADJ_полоска_NOUN", - "узенький_ADJ_тропинка_NOUN", - "узкий_ADJ_долина_NOUN", - "узкий_ADJ_дорожка_NOUN", - "узкий_ADJ_извилистый_ADJ", - "узкий_ADJ_канал_NOUN", - "узкий_ADJ_карниз_NOUN", - "узкий_ADJ_коридор_NOUN", - "узкий_ADJ_коридорчик_NOUN", - "узкий_ADJ_лента_NOUN", - "узкий_ADJ_отверстие_NOUN", - "узкий_ADJ_переулок_NOUN", - "узкий_ADJ_полоса_NOUN", - "узкий_ADJ_полоска_NOUN", - "узкий_ADJ_пролив_NOUN", - "узкий_ADJ_пространство_NOUN", - "узкий_ADJ_проход_NOUN", - "узкий_ADJ_тропа_NOUN", - "узкий_ADJ_тропинка_NOUN", - "узкий_ADJ_тропка_NOUN", - "узкий_ADJ_улочка_NOUN", - "узкий_ADJ_ущелие_NOUN", - "узкий_ADJ_щель_NOUN", - "узкий_ADJ_щёлка_NOUN", - "узловой_ADJ_станция_NOUN", - "уинг_PROPN_ти_PROPN", - "уйма_NOUN_время_NOUN", - "уйти_VERB_отсюда_ADV", - "указательный_ADJ_палец_NOUN", - "указательным_VERB_палец_NOUN", - "указать_VERB_адрес_NOUN", - "указать_VERB_направление_NOUN", - "указать_VERB_палец_NOUN", - "указывать_VERB_палец_NOUN", - "уклад_NOUN_жизнь_NOUN", - "укладывать_VERB_вещь_NOUN", - "укладывать_VERB_спать_VERB", - "укладываться_VERB_спать_VERB", - "уклониться_VERB_от_ADP", - "уклончиво_ADV_ответить_VERB", - "уклончиво_ADV_отвечать_VERB", - "уклончивый_ADJ_ответ_NOUN", - "уклоняться_VERB_от_ADP", - "укор_NOUN_посмотреть_VERB", - "укор_NOUN_совесть_NOUN", - "укоризненно_ADV_качать_VERB", - "укоризненно_ADV_покачать_VERB", - "укоризненно_ADV_посмотреть_VERB", - "укоризненно_ADV_произнести_VERB", - "укоризненный_ADJ_взгляд_NOUN", - "украдкой_NOUN_взглянуть_VERB", - "украдкой_NOUN_поглядывать_VERB", - "украсить_VERB_драгоценный_ADJ", - "украсить_VERB_перо_NOUN", - "украсить_VERB_разноцветный_ADJ", - "украсить_VERB_резьба_NOUN", - "украсить_VERB_цвет_NOUN", - "укромный_ADJ_местечко_NOUN", - "укромный_ADJ_место_NOUN", - "укромный_ADJ_уголок_NOUN", - "укрыться_VERB_одеяло_NOUN", - "укус_NOUN_змея_NOUN", - "уладить_VERB_дело_NOUN", - "улечься_VERB_спать_VERB", - "улики_NOUN_против_ADP", - "улица_NOUN_берлин_PROPN", - "улица_NOUN_герцен_PROPN", - "улица_NOUN_горький_PROPN", - "улица_NOUN_ленин_PROPN", - "улица_NOUN_риволи_PROPN", - "улица_NOUN_сент_PROPN", - "уличный_ADJ_движение_NOUN", - "уличный_ADJ_мальчишка_NOUN", - "уличный_ADJ_фонарь_NOUN", - "уличный_ADJ_шум_NOUN", - "уложить_VERB_спать_VERB", - "улучить_VERB_минута_NOUN", - "улучить_VERB_минутка_NOUN", - "улучить_VERB_момент_NOUN", - "улучить_VERB_удобный_ADJ", - "улыбающееся_VERB_лицо_NOUN", - "улыбка_NOUN_мелькнуть_VERB", - "улыбка_NOUN_скользнуть_VERB", - "ультрафиолетовый_ADJ_луч_NOUN", - "ум_NOUN_выжить_VERB", - "ум_NOUN_непостижимый_ADJ", - "ум_NOUN_посходили_VERB", - "ум_NOUN_разум_NOUN", - "ум_NOUN_свести_VERB", - "ум_NOUN_сойти_VERB", - "ум_NOUN_спятить_VERB", - "ум_NOUN_сходить_VERB", - "умелый_ADJ_рука_NOUN", - "умение_NOUN_владеть_VERB", - "умеренный_ADJ_климат_NOUN", - "уметь_VERB_владеть_VERB", - "уметь_VERB_лгать_VERB", - "уметь_VERB_летать_VERB", - "уметь_VERB_обращаться_VERB", - "уметь_VERB_отличать_VERB", - "уметь_VERB_плавать_VERB", - "уметь_VERB_притворяться_VERB", - "уметь_VERB_рисовать_VERB", - "уметь_VERB_танцевать_VERB", - "уметь_VERB_управлять_VERB", - "уметь_VERB_хранить_VERB", - "уметь_VERB_ценить_VERB", - "уметь_VERB_читать_VERB", - "уметь_VERB_шить_VERB", - "умный_ADJ_пёс_NOUN", - "умолчать_VERB_о_ADP", - "умолять_VERB_вас_PRON", - "умолять_VERB_взгляд_NOUN", - "умолять_VERB_тон_NOUN", - "умоляюще_PROPN_посмотреть_VERB", - "умоляюще_PROPN_сложить_VERB", - "умоляюще_PROPN_смотреть_VERB", - "умоляющий_ADJ_глаз_NOUN", - "умственно_ADV_отсталый_ADJ", - "умственный_ADJ_взор_NOUN", - "умственный_ADJ_работа_NOUN", - "умственный_ADJ_развитие_NOUN", - "умственный_ADJ_способность_NOUN", - "умственный_ADJ_труд_NOUN", - "умчаться_VERB_прочь_ADV", - "умывать_VERB_рука_NOUN", - "унаследовать_VERB_от_ADP", - "унести_VERB_ветер_NOUN", - "унести_VERB_течение_NOUN", - "универсальный_ADJ_магазин_NOUN", - "унижаться_VERB_перед_ADP", - "унизиться_VERB_до_ADP", - "уничтожать_VERB_взгляд_NOUN", - "уносить_VERB_нога_NOUN", - "унтер_NOUN_офицер_NOUN", - "унылый_ADJ_вид_NOUN", - "уоки_NOUN_ток_NOUN", - "упадок_NOUN_сила_NOUN", - "упасти_VERB_бог_NOUN", - "упасть_VERB_замертво_NOUN", - "упасть_VERB_навзничь_ADV", - "упасть_VERB_наземь_ADV", - "упасть_VERB_ничком_NOUN", - "упереть_VERB_рука_NOUN", - "упереться_VERB_ладонь_NOUN", - "упереться_VERB_лоб_NOUN", - "упереться_VERB_локтями_NOUN", - "уплата_NOUN_долг_NOUN", - "упоминание_NOUN_о_ADP", - "упоминание_NOUN_об_ADP", - "упоминать_VERB_имя_NOUN", - "упоминать_VERB_о_ADP", - "упоминать_VERB_об_ADP", - "упомянуть_VERB_о_ADP", - "упомянуть_VERB_об_ADP", - "упор_NOUN_глядеть_VERB", - "упор_NOUN_посмотреть_VERB", - "упор_NOUN_смотреть_VERB", - "упорно_ADV_держаться_VERB", - "упорно_ADV_молчать_VERB", - "упорно_ADV_отказываться_VERB", - "упорно_ADV_продолжать_VERB", - "упорный_ADJ_борьба_NOUN", - "упорный_ADJ_взгляд_NOUN", - "упорный_ADJ_молчание_NOUN", - "упорный_ADJ_сопротивление_NOUN", - "упорный_ADJ_труд_NOUN", - "управлять_VERB_государство_NOUN", - "управлять_VERB_ею_PRON", - "управлять_VERB_ими_PRON", - "управлять_VERB_руль_NOUN", - "упрямо_ADV_возразить_VERB", - "упрямо_ADV_заявить_VERB", - "упрямо_ADV_повторить_VERB", - "упрямо_ADV_повторять_VERB", - "упрямо_ADV_твердить_VERB", - "упрёк_NOUN_совесть_NOUN", - "упускать_VERB_ни_PART", - "упускать_VERB_случай_NOUN", - "упустить_VERB_возможность_NOUN", - "упустить_VERB_из_ADV", - "упустить_VERB_случай_NOUN", - "ур_ADV_ра_PROPN", - "ур_PROPN_ра_PROPN", - "ура_PROPN_а_PROPN", - "ура_PROPN_закричать_VERB", - "ураганный_ADJ_ветер_NOUN", - "уральский_ADJ_гора_NOUN", - "уральский_ADJ_хребет_NOUN", - "уровень_NOUN_вода_NOUN", - "уровень_NOUN_грудь_NOUN", - "уровень_NOUN_море_NOUN", - "урок_NOUN_арифметика_NOUN", - "урок_NOUN_география_NOUN", - "урок_NOUN_литература_NOUN", - "урок_NOUN_математика_NOUN", - "урок_NOUN_пение_NOUN", - "урок_NOUN_рисование_NOUN", - "урок_NOUN_рок_NOUN", - "урок_NOUN_учить_VERB", - "урок_NOUN_физика_NOUN", - "урок_NOUN_физкультура_NOUN", - "урок_NOUN_химия_NOUN", - "уронить_VERB_голова_NOUN", - "урун_PROPN_бурун_PROPN", - "урфин_PROPN_джюс_PROPN", - "урфина_PROPN_джюса_PROPN", - "усадить_VERB_рядом_ADV", - "усаживаться_VERB_рядом_ADV", - "усаживаться_VERB_удобный_ADV", - "усердно_ADV_заниматься_VERB", - "усердно_ADV_молиться_VERB", - "усердно_ADV_помогать_VERB", - "усердно_ADV_приняться_VERB", - "усердно_ADV_работать_VERB", - "усесться_VERB_верхом_ADV", - "усесться_VERB_напротив_ADP", - "усесться_VERB_подле_NOUN", - "усесться_VERB_рядом_ADV", - "усесться_VERB_удобный_ADV", - "усеять_VERB_звезда_NOUN", - "усиленно_ADV_биться_VERB", - "усиленно_ADV_забиться_VERB", - "усиленно_ADV_заниматься_VERB", - "усиленно_ADV_работать_VERB", - "усилие_NOUN_воля_NOUN", - "усилить_VERB_охрана_NOUN", - "усилить_VERB_питание_NOUN", - "усилить_VERB_работа_NOUN", - "ускользать_VERB_от_ADP", - "ускользнуть_VERB_от_ADP", - "ускорить_VERB_ход_NOUN", - "ускорить_VERB_шаг_NOUN", - "ускорять_VERB_ход_NOUN", - "ускорять_VERB_шаг_NOUN", - "уследить_VERB_за_ADP", - "условие_NOUN_задача_NOUN", - "условие_NOUN_невесомость_NOUN", - "условие_NOUN_существование_NOUN", - "условиться_VERB_встретиться_VERB", - "условленное_VERB_место_NOUN", - "условленный_ADJ_место_NOUN", - "условленный_ADJ_час_NOUN", - "условный_ADJ_знак_NOUN", - "условный_ADJ_рефлекс_NOUN", - "условный_ADJ_сигнал_NOUN", - "услуга_NOUN_которую_PRON", - "услуга_NOUN_оказать_VERB", - "услыхать_VERB_шум_NOUN", - "услышать_VERB_громкий_ADJ", - "услышать_VERB_знакомый_ADJ", - "услышать_VERB_позади_ADP", - "услышать_VERB_скрип_ADJ", - "услышать_VERB_стук_NOUN", - "услышать_VERB_топот_NOUN", - "услышать_VERB_шорох_NOUN", - "услышать_VERB_шум_NOUN", - "усмехнуться_VERB_олег_PROPN", - "уснуть_VERB_крепкий_ADJ", - "успенский_ADJ_собор_NOUN", - "успеть_VERB_вовремя_ADV", - "успеть_VERB_добежать_VERB", - "успеть_VERB_договорить_VERB", - "успеть_VERB_опомниться_VERB", - "успеть_VERB_остыть_VERB", - "успеть_VERB_отскочить_VERB", - "успеть_VERB_переодеться_VERB", - "успеть_VERB_перехватить_VERB", - "успеть_VERB_побывать_VERB", - "успеть_VERB_привязаться_VERB", - "успеть_VERB_разглядеть_VERB", - "успеть_VERB_рассмотреть_VERB", - "успеть_VERB_сообразить_VERB", - "успеть_VERB_увернуться_VERB", - "успех_NOUN_предприятие_NOUN", - "успокоить_VERB_ее_PRON", - "успокоить_VERB_её_PRON", - "устало_ADV_опуститься_VERB", - "усталый_ADJ_измучить_VERB", - "усталый_ADJ_лицо_NOUN", - "усталый_ADJ_путник_NOUN", - "установить_VERB_личность_NOUN", - "установить_VERB_наблюдение_NOUN", - "установить_VERB_связь_NOUN", - "устать_VERB_махнуть_VERB", - "устать_VERB_опуститься_VERB", - "устин_PROPN_захарович_PROPN", - "устин_PROPN_павлыч_PROPN", - "устин_PROPN_устиныч_PROPN", - "устлать_VERB_ковёр_NOUN", - "устоять_VERB_перед_ADP", - "устоять_VERB_против_ADP", - "устраивать_VERB_засада_NOUN", - "устраиваться_VERB_удобный_ADV", - "устремить_VERB_вдаль_ADV", - "устремить_VERB_взгляд_NOUN", - "устремить_VERB_взор_NOUN", - "устремиться_VERB_вверх_ADV", - "устремиться_VERB_вниз_ADV", - "устремиться_VERB_вперёд_ADV", - "устремляться_VERB_вперёд_ADV", - "устроить_VERB_засада_NOUN", - "устроить_VERB_пир_NOUN", - "устроить_VERB_скандал_NOUN", - "устроиться_VERB_рядом_ADV", - "устроиться_VERB_удобный_ADV", - "уступ_NOUN_скала_NOUN", - "уступать_VERB_дорога_NOUN", - "уступать_VERB_место_NOUN", - "уступить_VERB_дорога_NOUN", - "уступить_VERB_место_NOUN", - "устыдиться_VERB_свой_DET", - "устье_NOUN_река_NOUN", - "усыпать_VERB_драгоценный_ADJ", - "усыпать_VERB_звезда_NOUN", - "усыпать_VERB_песок_NOUN", - "усыпать_VERB_цвет_NOUN", - "усыпительный_ADJ_вода_NOUN", - "утвердительно_ADV_кивать_VERB", - "утвердительно_ADV_кивнуть_VERB", - "утвердительный_ADJ_ответ_NOUN", - "утверждать_VERB_будто_SCONJ", - "утверждать_VERB_что_SCONJ", - "утереть_VERB_нос_NOUN", - "утереть_VERB_слеза_NOUN", - "утешаться_VERB_тем_PRON", - "утешить_VERB_ее_PRON", - "утиный_ADJ_нос_NOUN", - "утирать_VERB_пот_NOUN", - "утирать_VERB_слеза_NOUN", - "уткнуть_VERB_голова_NOUN", - "уткнуть_VERB_лицо_NOUN", - "уткнуть_VERB_нос_NOUN", - "уткнуться_VERB_лицо_NOUN", - "уткнуться_VERB_лоб_NOUN", - "уткнуться_VERB_нос_NOUN", - "утолить_VERB_голод_NOUN", - "утолить_VERB_жажда_NOUN", - "утолять_VERB_голод_NOUN", - "утолять_VERB_жажда_NOUN", - "уточнить_VERB_алёшка_PROPN", - "утратить_VERB_всякий_DET", - "утренний_ADJ_ветерок_NOUN", - "утренний_ADJ_воздух_NOUN", - "утренний_ADJ_газета_NOUN", - "утренний_ADJ_гимнастика_NOUN", - "утренний_ADJ_завтрак_NOUN", - "утренний_ADJ_заря_NOUN", - "утренний_ADJ_зарядка_NOUN", - "утренний_ADJ_звезда_NOUN", - "утренний_ADJ_звезда_PROPN", - "утренний_ADJ_кофе_NOUN", - "утренний_ADJ_луч_NOUN", - "утренний_ADJ_поезд_NOUN", - "утренний_ADJ_прогулка_NOUN", - "утренний_ADJ_прохлада_NOUN", - "утренний_ADJ_роса_NOUN", - "утренний_ADJ_свежесть_NOUN", - "утренний_ADJ_свет_NOUN", - "утренний_ADJ_солнце_NOUN", - "утренний_ADJ_тишина_NOUN", - "утренний_ADJ_туман_NOUN", - "утренний_ADJ_холодок_NOUN", - "утренний_ADJ_чай_NOUN", - "утруждать_VERB_себя_PRON", - "ух_PART_ты_PRON", - "ух_PROPN_ты_PRON", - "ухаживать_VERB_за_ADP", - "ухватиться_VERB_за_ADP", - "ухнуть_VERB_вниз_ADV", - "ухо_ADV_свой_DET", - "ухо_NOUN_востро_ADV", - "ухо_NOUN_зазвенеть_VERB", - "ухо_NOUN_заложить_VERB", - "ухо_NOUN_звенеть_VERB", - "ухо_NOUN_надрать_VERB", - "ухо_NOUN_развесить_VERB", - "уходить_VERB_ввысь_ADV", - "уходить_VERB_вглубь_ADV", - "уходить_VERB_вдаль_ADV", - "уходить_VERB_отсюда_ADV", - "уцепиться_VERB_за_ADP", - "участковый_ADJ_милиционер_NOUN", - "участливо_ADV_спросить_VERB", - "участник_NOUN_поход_NOUN", - "участник_NOUN_экспедиция_NOUN", - "участок_NOUN_фронт_NOUN", - "участь_NOUN_постичь_VERB", - "учащенно_ADV_биться_VERB", - "учебник_NOUN_география_NOUN", - "учебник_NOUN_история_NOUN", - "учебный_ADJ_год_NOUN", - "учебный_ADJ_заведение_NOUN", - "учебный_ADJ_пособие_NOUN", - "учебный_ADJ_процесс_NOUN", - "ученик_NOUN_го_NOUN", - "ученик_NOUN_пятый_ADJ", - "ученик_NOUN_седьмой_ADJ", - "ученик_NOUN_шестой_ADJ", - "ученический_ADJ_тетрадь_NOUN", - "учитель_NOUN_география_NOUN", - "учитель_NOUN_литература_NOUN", - "учитель_NOUN_математика_NOUN", - "учитель_NOUN_рисование_NOUN", - "учитель_NOUN_танец_NOUN", - "учитель_NOUN_физика_NOUN", - "учитель_NOUN_физкультура_NOUN", - "учительница_NOUN_английский_ADJ", - "учительница_NOUN_география_NOUN", - "учительница_NOUN_литература_NOUN", - "учительница_NOUN_математика_NOUN", - "учительница_NOUN_музыка_NOUN", - "учительский_ADJ_стол_NOUN", - "учить_VERB_урок_NOUN", - "учредительный_ADJ_собрание_NOUN", - "учти_ADJ_что_SCONJ", - "учёный_ADJ_медик_NOUN", - "учёный_ADJ_мир_NOUN", - "учёный_ADJ_муж_NOUN", - "учёный_ADJ_совет_NOUN", - "учёный_ADJ_степень_NOUN", - "ушибить_VERB_нога_NOUN", - "ущипнуть_VERB_себя_PRON", - "уютно_ADV_устроиться_VERB", - "уютный_ADJ_домик_NOUN", - "уютный_ADJ_комнатка_NOUN", - "уютный_ADJ_уголок_NOUN", - "уязвимый_ADJ_место_NOUN", - "уяснить_VERB_себя_PRON", - "фа_PROPN_дейк_PROPN", - "фа_PROPN_тамир_PROPN", - "фабрика_NOUN_кухня_NOUN", - "фабричный_ADJ_труба_NOUN", - "факт_NOUN_налицо_ADV", - "факт_NOUN_оставаться_VERB", - "факультет_NOUN_журналистика_NOUN", - "фальшивый_ADJ_борода_NOUN", - "фальшивый_ADJ_деньга_NOUN", - "фальшивый_ADJ_нота_NOUN", - "фамилия_NOUN_имя_NOUN", - "фамильный_ADJ_драгоценность_NOUN", - "фамильный_ADJ_склеп_NOUN", - "фанерный_ADJ_щит_NOUN", - "фанерный_ADJ_ящик_NOUN", - "фантастический_ADJ_картина_NOUN", - "фантастический_ADJ_рассказ_NOUN", - "фантастический_ADJ_роман_NOUN", - "фантастический_ADJ_существо_NOUN", - "фарфоровый_ADJ_кукла_NOUN", - "фарфоровый_ADJ_чашка_NOUN", - "фаршированный_ADJ_кочан_PROPN", - "фасад_NOUN_дом_NOUN", - "фашистский_ADJ_германия_PROPN", - "фашистский_ADJ_самолёт_NOUN", - "фашистский_ADJ_солдат_NOUN", - "фашистский_ADJ_танк_NOUN", - "февраль_NOUN_год_NOUN", - "федосей_PROPN_матвеевич_PROPN", - "федосья_PROPN_яковлевич_PROPN", - "федот_PROPN_евграфыч_PROPN", - "феликс_PROPN_эдмундович_PROPN", - "фенимор_PROPN_купер_PROPN", - "фернан_PROPN_роше_PROPN", - "фетровый_ADJ_шляпа_NOUN", - "фея_NOUN_камилла_PROPN", - "фея_NOUN_кларисса_PROPN", - "фея_NOUN_мелюзина_PROPN", - "фея_NOUN_раутенделейн_PROPN", - "фиакр_NOUN_номер_NOUN", - "фиговый_ADJ_дерево_NOUN", - "фигурный_ADJ_катание_NOUN", - "физико_ADJ_математический_ADJ", - "физический_ADJ_боль_NOUN", - "физический_ADJ_закон_NOUN", - "физический_ADJ_кабинет_NOUN", - "физический_ADJ_нагрузка_NOUN", - "физический_ADJ_подготовка_NOUN", - "физический_ADJ_сила_NOUN", - "физический_ADJ_страдание_NOUN", - "физический_ADJ_труд_NOUN", - "физический_ADJ_упражнение_NOUN", - "физкультурный_ADJ_зал_NOUN", - "филимон_PROPN_игнатиевич_PROPN", - "филипп_PROPN_ii_ADJ", - "филипп_PROPN_андреевич_PROPN", - "филипп_PROPN_аркадиевич_PROPN", - "филипп_PROPN_коллен_PROPN", - "филипп_PROPN_орлеанский_PROPN", - "философски_ADV_заметить_VERB", - "философский_ADJ_камень_NOUN", - "фильм_NOUN_про_ADP", - "фильм_NOUN_ужас_NOUN", - "финляндский_ADJ_вокзал_NOUN", - "финский_ADJ_залив_NOUN", - "финский_ADJ_нож_NOUN", - "фиолетовый_ADJ_дворец_NOUN", - "фиолетовый_ADJ_страна_NOUN", - "фиолетовый_ADJ_цвет_NOUN", - "фиц_PROPN_рой_PROPN", - "флагманский_ADJ_корабль_NOUN", - "флореаль_PROPN_аполлон_PROPN", - "фок_NOUN_мачта_NOUN", - "фома_PROPN_павлыч_PROPN", - "фон_NOUN_голубой_ADJ", - "фон_NOUN_небо_NOUN", - "фон_NOUN_тёмный_ADJ", - "фон_PART_вегерт_PROPN", - "фон_PART_вегерта_PROPN", - "фон_PART_гадке_PROPN", - "фон_PART_конов_PROPN", - "фон_PART_краш_PROPN", - "фон_PROPN_вегерт_PROPN", - "фон_PROPN_краш_PROPN", - "фонарный_ADJ_столб_NOUN", - "фонарь_NOUN_освещать_VERB", - "фонди_PROPN_монди_PROPN", - "фонтан_NOUN_бить_VERB", - "фонтан_NOUN_брызг_NOUN", - "форма_NOUN_напоминать_VERB", - "форменный_ADJ_одежда_NOUN", - "форменный_ADJ_платье_NOUN", - "форменный_ADJ_фуражка_NOUN", - "форти_PROPN_майльс_PROPN", - "фосфорический_ADJ_блеск_NOUN", - "фосфорический_ADJ_свет_NOUN", - "фотографический_ADJ_аппарат_NOUN", - "фотографический_ADJ_карточка_NOUN", - "фотографический_ADJ_снимок_NOUN", - "фотонный_ADJ_ракета_NOUN", - "фраза_NOUN_которую_PRON", - "франц_PROPN_маркович_PROPN", - "франциск_PROPN_i_ADJ", - "франциско_PROPN_серано_PROPN", - "француз_NOUN_пит_NOUN", - "француз_PROPN_пит_PROPN", - "французский_ADJ_армия_NOUN", - "французский_ADJ_войско_NOUN", - "французский_ADJ_колония_NOUN", - "французский_ADJ_консул_NOUN", - "французский_ADJ_король_NOUN", - "французский_ADJ_офицер_NOUN", - "французский_ADJ_писатель_NOUN", - "французский_ADJ_посланник_NOUN", - "французский_ADJ_правительство_NOUN", - "французский_ADJ_революция_NOUN", - "французский_ADJ_республика_NOUN", - "французский_ADJ_рыцарь_NOUN", - "французский_ADJ_флаг_NOUN", - "французский_ADJ_флот_NOUN", - "французский_ADJ_язык_NOUN", - "фрау_PROPN_маргарет_PROPN", - "фрау_PROPN_орта_PROPN", - "фрау_PROPN_эльза_PROPN", - "фредерик_PROPN_биорн_PROPN", - "фредерик_PROPN_де_PART", - "фрейлейн_PROPN_брунс_PROPN", - "фрейлейн_PROPN_фюрст_PROPN", - "фрекен_PROPN_бок_PROPN", - "фридрих_PROPN_адольфович_PROPN", - "фриско_PROPN_кид_PROPN", - "фронтовой_ADJ_друг_NOUN", - "фрукт_NOUN_овощ_NOUN", - "фруктовый_ADJ_дерево_NOUN", - "фруктовый_ADJ_сад_NOUN", - "фрэнк_PROPN_мюллер_PROPN", - "фрэнк_PROPN_старк_PROPN", - "фу_NOUN_у_PART", - "фу_PART_ты_PRON", - "фу_PROPN_у_PART", - "фунт_NOUN_стерлинг_NOUN", - "фунт_NOUN_хлеб_NOUN", - "фут_NOUN_высота_NOUN", - "фут_NOUN_длина_NOUN", - "футбол_NOUN_играть_VERB", - "футбольный_ADJ_команда_NOUN", - "футбольный_ADJ_матч_NOUN", - "футбольный_ADJ_мяч_NOUN", - "футбольный_ADJ_поле_NOUN", - "фыркнуть_VERB_варя_PROPN", - "фыркнуть_VERB_катя_PROPN", - "фыркнуть_VERB_маша_PROPN", - "фёдор_PROPN_алексеевич_PROPN", - "фёдор_PROPN_андреевич_PROPN", - "фёдор_PROPN_болиславович_PROPN", - "фёдор_PROPN_василиевич_PROPN", - "фёдор_PROPN_григориевич_PROPN", - "фёдор_PROPN_иванович_PROPN", - "фёдор_PROPN_кузьмич_PROPN", - "фёдор_PROPN_матвеевич_PROPN", - "фёдор_PROPN_михаилович_PROPN", - "фёдор_PROPN_никитович_PROPN", - "фёдор_PROPN_николаевич_PROPN", - "фёдор_PROPN_павлович_PROPN", - "фёдор_PROPN_савелиевич_PROPN", - "фёдор_PROPN_семёнович_PROPN", - "фёдор_PROPN_степанович_PROPN", - "фёдор_PROPN_фёдорович_PROPN", - "фёдор_PROPN_яковлевич_PROPN", - "х_ADJ_год_NOUN", - "х_PROPN_год_NOUN", - "ха_INTJ_ха_INTJ", - "хаджи_PROPN_магомет_PROPN", - "хайль_PROPN_гитлер_PROPN", - "хамитяй_PROPN_хамзяевич_PROPN", - "характер_NOUN_местность_NOUN", - "характерный_ADJ_для_ADP", - "характерный_ADJ_особенность_NOUN", - "характерный_ADJ_черта_NOUN", - "хасси_PROPN_аль_NOUN", - "хват_PROPN_барыга_PROPN", - "хватало_PROPN_растерзало_PROPN", - "хватать_VERB_смелость_NOUN", - "хватать_VERB_терпение_NOUN", - "хвататься_VERB_за_ADP", - "хватить_VERB_болтать_VERB", - "хватить_VERB_дух_NOUN", - "хватить_VERB_мужество_NOUN", - "хватить_VERB_надолго_ADV", - "хватить_VERB_ненадолго_ADV", - "хватить_VERB_смелость_NOUN", - "хватить_VERB_терпение_NOUN", - "хватить_VERB_ум_NOUN", - "хвойный_ADJ_дерево_NOUN", - "хвойный_ADJ_лес_NOUN", - "хвостовой_ADJ_часть_NOUN", - "хе_INTJ_хе_INTJ", - "хе_INTJ_хе_NOUN", - "хе_NOUN_хе_NOUN", - "хеир_PROPN_эддин_PROPN", - "хи_NOUN_хи_INTJ", - "хи_NOUN_хи_NOUN", - "хи_NOUN_хи_PROPN", - "химический_ADJ_вещество_NOUN", - "химический_ADJ_завод_NOUN", - "химический_ADJ_кабинет_NOUN", - "химический_ADJ_карандаш_NOUN", - "химический_ADJ_лаборатория_NOUN", - "химический_ADJ_опыт_NOUN", - "химический_ADJ_процесс_NOUN", - "химический_ADJ_реакция_NOUN", - "химический_ADJ_соединение_NOUN", - "химический_ADJ_состав_NOUN", - "химический_ADJ_элемент_NOUN", - "хирургический_ADJ_инструмент_NOUN", - "хирургический_ADJ_отделение_NOUN", - "хитро_ADV_подмигнуть_VERB", - "хитро_ADV_прищуриться_VERB", - "хитро_ADV_улыбаться_VERB", - "хитро_ADV_улыбнуться_VERB", - "хитрый_ADJ_улыбка_NOUN", - "хитрый_ADJ_штука_NOUN", - "хихикнуть_VERB_алёшка_PROPN", - "хищный_ADJ_животное_NOUN", - "хищный_ADJ_зверей_NOUN", - "хищный_ADJ_звери_NOUN", - "хищный_ADJ_зверь_NOUN", - "хищный_ADJ_птица_NOUN", - "хищный_ADJ_рыба_NOUN", - "хладнокровно_ADV_ответить_VERB", - "хлеб_NOUN_насущный_ADJ", - "хлеб_NOUN_соль_NOUN", - "хлебный_ADJ_дерево_NOUN", - "хлебный_ADJ_зерно_NOUN", - "хлебный_ADJ_карточка_NOUN", - "хлебный_ADJ_корка_NOUN", - "хлебный_ADJ_крошка_NOUN", - "хлебный_ADJ_мякиш_NOUN", - "хлебный_ADJ_поле_NOUN", - "хлестнуть_VERB_лошадь_NOUN", - "хлоп_NOUN_хлоп_NOUN", - "хлопанье_NOUN_дверь_NOUN", - "хлопанье_NOUN_крыло_NOUN", - "хлопать_VERB_глаз_NOUN", - "хлопать_VERB_крыло_NOUN", - "хлопать_VERB_ладонь_NOUN", - "хлопать_VERB_ресница_NOUN", - "хлопнуть_VERB_входной_ADJ", - "хлопнуть_VERB_дверца_NOUN", - "хлопнуть_VERB_дверь_NOUN", - "хлопнуть_VERB_калитка_NOUN", - "хлопнуть_VERB_ладонь_NOUN", - "хлопнуть_VERB_себя_PRON", - "хлопотать_VERB_вокруг_ADP", - "хлопотать_VERB_около_ADP", - "хлопчатобумажный_ADJ_ткань_NOUN", - "хлопья_NOUN_снег_NOUN", - "хлынуть_VERB_вода_NOUN", - "хлынуть_VERB_дождь_NOUN", - "хлынуть_VERB_ливень_NOUN", - "хлынуть_VERB_поток_NOUN", - "хлюпать_VERB_нос_NOUN", - "хлюпнуть_VERB_нос_NOUN", - "хмурить_VERB_бровь_NOUN", - "хмуро_PROPN_ответить_VERB", - "хмуро_PROPN_отозваться_VERB", - "хмурый_ADJ_взгляд_NOUN", - "хмурый_ADJ_лицо_NOUN", - "хо_NOUN_хо_NOUN", - "ход_NOUN_событие_NOUN", - "ход_NOUN_сообщение_NOUN", - "ходить_VERB_босиком_ADV", - "ходить_VERB_взад_ADV", - "ходить_VERB_пешком_ADV", - "ходить_VERB_слух_NOUN", - "ходить_VERB_ходун_NOUN", - "ходун_NOUN_ходить_VERB", - "хождение_NOUN_по_ADP", - "хозяин_NOUN_гостиница_NOUN", - "хозяин_NOUN_квартира_NOUN", - "хозяин_PROPN_болото_NOUN", - "хозяйский_ADJ_сын_NOUN", - "хозяйственный_ADJ_постройка_NOUN", - "хозяйственный_ADJ_сумка_NOUN", - "хозяйственный_ADJ_часть_NOUN", - "холмистый_ADJ_равнина_NOUN", - "холодно_ADV_возразить_VERB", - "холодно_ADV_ответить_VERB", - "холодно_ADV_отвечать_VERB", - "холодно_ADV_проговорить_VERB", - "холодно_ADV_произнести_VERB", - "холодный_ADJ_ветер_NOUN", - "холодный_ADJ_вода_NOUN", - "холодный_ADJ_дрожь_NOUN", - "холодный_ADJ_душ_NOUN", - "холодный_ADJ_зимний_ADJ", - "холодный_ADJ_капля_NOUN", - "холодный_ADJ_компресс_NOUN", - "холодный_ADJ_осенний_ADJ", - "холодный_ADJ_пот_NOUN", - "холодный_ADJ_сталь_NOUN", - "холодный_ADJ_струя_NOUN", - "холодный_ADJ_сырой_ADJ", - "холщовый_ADJ_мешок_NOUN", - "холщовый_ADJ_сумка_NOUN", - "хор_NOUN_воскликнуть_VERB", - "хор_NOUN_ответить_VERB", - "хор_NOUN_петь_VERB", - "хоровод_NOUN_водить_VERB", - "хоровой_ADJ_пение_NOUN", - "хорошенький_ADJ_головка_NOUN", - "хорошенький_ADJ_девушка_NOUN", - "хорошенький_ADJ_домик_NOUN", - "хорошенький_ADJ_личико_NOUN", - "хорошенько_ADV_выспаться_VERB", - "хорошенько_ADV_обдумать_VERB", - "хорошенько_ADV_отдохнуть_VERB", - "хорошенько_ADV_подумать_VERB", - "хорошенько_ADV_разглядеть_VERB", - "хорошенько_ADV_рассмотреть_VERB", - "хороший_ADJ_настроение_NOUN", - "хороший_ADJ_пловец_NOUN", - "хороший_ADJ_предзнаменование_NOUN", - "хороший_ADV_разглядеть_VERB", - "хороший_ADV_рассмотреть_VERB", - "хорошо_ADV_видный_ADJ", - "хорошо_ADV_владеть_VERB", - "хорошо_ADV_вооружить_VERB", - "хорошо_ADV_воспитать_VERB", - "хорошо_ADV_выспаться_VERB", - "хорошо_ADV_житься_VERB", - "хорошо_ADV_заметный_ADJ", - "хорошо_ADV_заплатить_VERB", - "хорошо_ADV_запомнить_VERB", - "хорошо_ADV_зарабатывать_VERB", - "хорошо_ADV_знакомый_ADJ", - "хорошо_ADV_известный_ADJ", - "хорошо_ADV_изучить_VERB", - "хорошо_ADV_кончаться_VERB", - "хорошо_ADV_одеть_VERB", - "хорошо_ADV_осведомить_VERB", - "хорошо_ADV_отдохнуть_VERB", - "хорошо_ADV_относиться_VERB", - "хорошо_ADV_плавать_VERB", - "хорошо_ADV_помнить_VERB", - "хорошо_ADV_поработать_VERB", - "хорошо_ADV_продумать_VERB", - "хорошо_ADV_просматриваться_VERB", - "хорошо_ADV_разбираться_VERB", - "хорошо_ADV_развить_VERB", - "хорошо_ADV_разыграть_VERB", - "хорошо_ADV_рассмотреть_VERB", - "хорошо_ADV_рисовать_VERB", - "хорошо_ADV_сохраниться_VERB", - "хорошо_ADV_учиться_VERB", - "хот_NOUN_дог_NOUN", - "хотеть_VERB_чаять_VERB", - "хотеться_VERB_есть_VERB", - "хотеться_VERB_побыть_VERB", - "хотеться_VERB_повидать_VERB", - "хотеться_VERB_поделиться_VERB", - "хотеться_VERB_поскорей_VERB", - "хотеться_VERB_расспросить_VERB", - "хотеться_VERB_расставаться_VERB", - "хотеться_VERB_скорый_ADV", - "хоть_ADV_капелька_NOUN", - "хоть_ADV_немного_ADV", - "хоть_ADV_немножко_ADV", - "хоть_ADV_ненадолго_ADV", - "хоть_ADV_отбавлять_ADV", - "хоть_ADV_отчасти_ADV", - "хоть_ADV_разок_VERB", - "хоть_ADV_сколько_ADV", - "хоть_ADV_чуточку_ADV", - "хоть_SCONJ_и_PART", - "хотя_PART_бы_PART", - "хотя_SCONJ_бы_PART", - "храбро_ADV_сражаться_VERB", - "храбрый_ADJ_воин_NOUN", - "храбрый_ADJ_офицер_NOUN", - "храбрый_ADJ_рыцарь_NOUN", - "храбрый_ADJ_солдат_NOUN", - "храм_NOUN_божий_ADJ", - "хранить_VERB_глубокий_ADJ", - "хранить_VERB_молчание_NOUN", - "хранить_VERB_тайна_NOUN", - "хрипло_ADV_крикнуть_VERB", - "хрипло_ADV_произнести_VERB", - "хрипловатый_ADJ_голос_NOUN", - "хриплый_ADJ_бас_NOUN", - "хриплый_ADJ_голос_NOUN", - "хриплый_ADJ_дыхание_NOUN", - "хриплый_ADJ_звук_NOUN", - "хриплый_ADJ_крик_NOUN", - "хриплый_ADJ_шёпот_NOUN", - "хрисан_PROPN_андреевич_PROPN", - "христа_PROPN_ради_ADP", - "христианский_ADJ_вера_NOUN", - "христианский_ADJ_мир_NOUN", - "христианский_ADJ_церковь_NOUN", - "христос_PROPN_воскресе_PROPN", - "христос_PROPN_ради_ADP", - "христофор_PROPN_бонифатьевич_PROPN", - "христофор_PROPN_колумб_PROPN", - "хромовый_ADJ_сапог_NOUN", - "хрустальный_ADJ_ваза_NOUN", - "хрустальный_ADJ_дворец_NOUN", - "хрустальный_ADJ_ключ_NOUN", - "хрустальный_ADJ_люстра_NOUN", - "хрустальный_ADJ_шар_NOUN", - "хрустальный_ADJ_яйцо_NOUN", - "хрустеть_VERB_под_ADP", - "хрустнуть_VERB_ветка_NOUN", - "хрустнуть_VERB_палец_NOUN", - "худенький_ADJ_бледный_ADJ", - "худенький_ADJ_девочка_NOUN", - "худенький_ADJ_плечо_NOUN", - "худенький_ADJ_ручка_NOUN", - "художественный_ADJ_литература_NOUN", - "художественный_ADJ_произведение_NOUN", - "художественный_ADJ_редактор_NOUN", - "художественный_ADJ_самодеятельность_NOUN", - "художественный_ADJ_училище_NOUN", - "художественный_ADJ_ценность_NOUN", - "художественный_ADJ_школа_NOUN", - "художник_NOUN_рисовать_VERB", - "худой_ADJ_бледный_ADJ", - "худой_ADJ_конец_NOUN", - "царевич_NOUN_димитрий_PROPN", - "царевич_NOUN_дмитрий_PROPN", - "царевна_NOUN_каменный_ADJ", - "царевна_NOUN_ханджар_PROPN", - "царить_VERB_вечный_ADJ", - "царить_VERB_вокруг_ADV", - "царить_VERB_глубокий_ADJ", - "царить_VERB_кругом_ADV", - "царить_VERB_молчание_NOUN", - "царить_VERB_мёртвый_ADJ", - "царить_VERB_полный_ADJ", - "царить_VERB_полумрак_NOUN", - "царить_VERB_тишина_NOUN", - "царица_NOUN_луковна_PROPN", - "царица_NOUN_небесный_ADJ", - "царица_PROPN_небесный_ADJ", - "царский_ADJ_армия_NOUN", - "царский_ADJ_величество_NOUN", - "царский_ADJ_венец_NOUN", - "царский_ADJ_власть_NOUN", - "царский_ADJ_дворец_NOUN", - "царский_ADJ_дочь_NOUN", - "царский_ADJ_милость_NOUN", - "царский_ADJ_правительство_NOUN", - "царский_ADJ_россия_PROPN", - "царский_ADJ_село_PROPN", - "царский_ADJ_семья_NOUN", - "царский_ADJ_слуга_NOUN", - "царский_ADJ_сын_NOUN", - "царский_ADJ_указ_NOUN", - "царствие_NOUN_небесный_ADJ", - "царство_NOUN_аида_PROPN", - "царство_NOUN_государство_NOUN", - "царство_NOUN_мёртвый_ADJ", - "царство_NOUN_небесный_ADJ", - "царство_NOUN_тень_NOUN", - "царь_NOUN_батюшка_NOUN", - "царь_NOUN_борис_PROPN", - "царь_NOUN_горох_PROPN", - "царь_NOUN_государь_NOUN", - "царь_NOUN_давид_PROPN", - "царь_NOUN_девица_NOUN", - "царь_NOUN_зверь_NOUN", - "царь_NOUN_московский_ADJ", - "царь_NOUN_пантелей_PROPN", - "царь_NOUN_пётр_PROPN", - "царь_NOUN_соломон_PROPN", - "царь_NOUN_фёдор_PROPN", - "царь_PROPN_девица_NOUN", - "цвести_VERB_сирень_NOUN", - "цвет_NOUN_кожа_NOUN", - "цвет_NOUN_радуга_NOUN", - "цвет_NOUN_слоновый_ADJ", - "цвет_NOUN_спелый_ADJ", - "цвет_NOUN_хаки_NOUN", - "цветной_ADJ_бумага_NOUN", - "цветной_ADJ_капуста_NOUN", - "цветной_ADJ_карандаш_NOUN", - "цветной_ADJ_карандашами_NOUN", - "цветной_ADJ_картинка_NOUN", - "цветной_ADJ_металл_NOUN", - "цветной_ADJ_стекло_NOUN", - "цветной_ADJ_телевизор_NOUN", - "цветной_ADJ_фотография_NOUN", - "цветовой_ADJ_гамма_NOUN", - "цветок_NOUN_папоротник_NOUN", - "цветочный_ADJ_город_NOUN", - "цветочный_ADJ_горшок_NOUN", - "цветочный_ADJ_клумба_NOUN", - "цветочный_ADJ_магазин_NOUN", - "цветущий_ADJ_сад_NOUN", - "цедить_VERB_сквозь_ADP", - "целебный_ADJ_трава_NOUN", - "целиком_ADV_поглотить_VERB", - "целлофановый_ADJ_пакет_NOUN", - "целый_ADJ_армия_NOUN", - "целый_ADJ_арсенал_NOUN", - "целый_ADJ_банда_NOUN", - "целый_ADJ_ватага_NOUN", - "целый_ADJ_вереница_NOUN", - "целый_ADJ_вечность_NOUN", - "целый_ADJ_воз_NOUN", - "целый_ADJ_ворох_NOUN", - "целый_ADJ_выводок_NOUN", - "целый_ADJ_горсть_NOUN", - "целый_ADJ_град_NOUN", - "целый_ADJ_груда_NOUN", - "целый_ADJ_день_NOUN", - "целый_ADJ_дюжина_NOUN", - "целый_ADJ_квартал_NOUN", - "целый_ADJ_кипа_NOUN", - "целый_ADJ_коллекция_NOUN", - "целый_ADJ_куча_NOUN", - "целый_ADJ_лекция_NOUN", - "целый_ADJ_месяц_NOUN", - "целый_ADJ_неделя_NOUN", - "целый_ADJ_орава_NOUN", - "целый_ADJ_охапка_NOUN", - "целый_ADJ_пачка_NOUN", - "целый_ADJ_полгода_NOUN", - "целый_ADJ_полк_NOUN", - "целый_ADJ_полчище_NOUN", - "целый_ADJ_поток_NOUN", - "целый_ADJ_пригоршня_NOUN", - "целый_ADJ_рой_NOUN", - "целый_ADJ_ряд_NOUN", - "целый_ADJ_свора_NOUN", - "целый_ADJ_связка_NOUN", - "целый_ADJ_серия_NOUN", - "целый_ADJ_сноп_NOUN", - "целый_ADJ_стадо_NOUN", - "целый_ADJ_стая_NOUN", - "целый_ADJ_столетие_NOUN", - "целый_ADJ_сутки_NOUN", - "целый_ADJ_табун_NOUN", - "целый_ADJ_толпа_NOUN", - "целый_ADJ_флотилия_NOUN", - "целый_ADJ_час_NOUN", - "целый_ADJ_шайка_NOUN", - "цель_NOUN_грабёж_NOUN", - "цель_NOUN_оправдывать_VERB", - "цементный_ADJ_пол_NOUN", - "ценный_ADJ_бумага_NOUN", - "ценный_ADJ_вещь_NOUN", - "ценный_ADJ_груз_NOUN", - "ценный_ADJ_информация_NOUN", - "ценный_ADJ_подарок_NOUN", - "ценный_ADJ_сведение_NOUN", - "ценный_ADJ_указание_NOUN", - "центр_NOUN_внимание_NOUN", - "центр_NOUN_город_NOUN", - "центр_NOUN_зал_NOUN", - "центр_NOUN_земля_PROPN", - "центр_NOUN_круг_NOUN", - "центр_NOUN_москва_PROPN", - "центр_NOUN_тяжесть_NOUN", - "центральный_ADJ_азия_PROPN", - "центральный_ADJ_аллея_NOUN", - "центральный_ADJ_америка_PROPN", - "центральный_ADJ_африка_PROPN", - "центральный_ADJ_вход_NOUN", - "центральный_ADJ_комитет_PROPN", - "центральный_ADJ_отопление_NOUN", - "центральный_ADJ_парк_NOUN", - "центральный_ADJ_площадь_NOUN", - "центральный_ADJ_пост_NOUN", - "центральный_ADJ_станция_NOUN", - "центральный_ADJ_улица_NOUN", - "центральный_ADJ_усадьба_NOUN", - "центральный_ADJ_часть_NOUN", - "центробежный_ADJ_сила_NOUN", - "цепкий_ADJ_взгляд_NOUN", - "цепкий_ADJ_лапа_NOUN", - "цепкий_ADJ_палец_NOUN", - "цепкий_ADJ_рука_NOUN", - "цепко_ADV_держать_VERB", - "цепляться_VERB_за_ADP", - "цепной_ADJ_пёс_NOUN", - "цепной_ADJ_реакция_NOUN", - "цепной_ADJ_собака_NOUN", - "цепочка_NOUN_след_NOUN", - "цепь_NOUN_сорваться_VERB", - "церемонно_ADV_поклониться_VERB", - "церковный_ADJ_колокол_NOUN", - "церковный_ADJ_ограда_NOUN", - "церковный_ADJ_паперть_NOUN", - "церковный_ADJ_пение_NOUN", - "церковный_ADJ_служба_NOUN", - "церковь_NOUN_св_PROPN", - "церковь_NOUN_святой_ADJ", - "цесаревна_NOUN_елизавета_PROPN", - "цзи_PROPN_цзы_PROPN", - "цивилизованный_ADJ_мир_NOUN", - "цивилизованный_ADJ_народ_NOUN", - "цивилизованный_ADJ_общество_NOUN", - "цивилизованный_ADJ_страна_NOUN", - "цивилизованный_ADJ_человек_NOUN", - "цирковой_ADJ_артист_NOUN", - "цирковой_ADJ_представление_NOUN", - "цитата_NOUN_из_ADP", - "циферблат_NOUN_час_NOUN", - "цыганский_ADJ_глаз_NOUN", - "цыганский_ADJ_табор_NOUN", - "цыпочка_NOUN_выйти_VERB", - "цыпочка_NOUN_подкрасться_VERB", - "цыпочка_NOUN_подойти_VERB", - "цыпочка_NOUN_пройти_VERB", - "чай_NOUN_кофе_NOUN", - "чай_NOUN_пить_VERB", - "чай_NOUN_сахар_NOUN", - "чайка_NOUN_попить_VERB", - "чайный_ADJ_ложечка_NOUN", - "чайный_ADJ_ложка_NOUN", - "чайный_ADJ_посуда_NOUN", - "чайный_ADJ_роза_NOUN", - "чайный_ADJ_сервиз_NOUN", - "чайный_ADJ_стол_NOUN", - "чайный_ADJ_чашка_NOUN", - "чарли_PROPN_блек_PROPN", - "чарли_PROPN_чаплин_PROPN", - "чарльз_PROPN_кленси_PROPN", - "час_NOUN_возмездие_NOUN", - "час_NOUN_досуг_NOUN", - "час_NOUN_другой_NOUN", - "час_NOUN_езда_NOUN", - "час_NOUN_кряду_ADV", - "час_NOUN_пик_ADV", - "час_NOUN_подряд_ADV", - "час_NOUN_полтора_NOUN", - "час_NOUN_полтора_NUM", - "час_NOUN_пополудни_NOUN", - "час_NOUN_пополуночи_NOUN", - "час_NOUN_пробить_VERB", - "час_NOUN_просиживать_VERB", - "час_NOUN_расплата_NOUN", - "час_NOUN_спустя_ADP", - "час_NOUN_тикать_VERB", - "час_NOUN_тому_ADV", - "час_NOUN_ходьба_NOUN", - "часа_NOUN_через_ADP", - "часа_PROPN_два_NUM", - "часов_PROPN_около_ADP", - "часовой_ADJ_мастер_NOUN", - "часовой_ADJ_механизм_NOUN", - "часовой_ADJ_стрелка_NOUN", - "часок_NOUN_другой_ADJ", - "частный_ADJ_детектив_NOUN", - "частный_ADJ_квартира_NOUN", - "частный_ADJ_собственность_NOUN", - "частный_ADJ_сыщик_NOUN", - "часто_ADV_болеть_VERB", - "часто_ADV_бывать_VERB", - "часто_ADV_видеться_VERB", - "часто_ADV_вспоминать_VERB", - "часто_ADV_встречаться_VERB", - "часто_ADV_дышать_VERB", - "часто_ADV_ездить_VERB", - "часто_ADV_задумываться_VERB", - "часто_ADV_задышать_VERB", - "часто_ADV_заморгать_VERB", - "часто_ADV_менять_VERB", - "часто_ADV_моргать_VERB", - "часто_ADV_навещать_VERB", - "часто_ADV_оглядываться_VERB", - "часто_ADV_останавливаться_VERB", - "часто_ADV_повторять_VERB", - "часто_ADV_повторяться_VERB", - "часто_ADV_попадаться_VERB", - "часто_ADV_посещать_VERB", - "часто_ADV_прибегать_VERB", - "часто_ADV_приходиться_VERB", - "часто_ADV_случаться_VERB", - "часто_ADV_ссориться_VERB", - "часто_ADV_часто_ADV", - "частый_ADJ_гость_NOUN", - "частый_ADJ_удар_NOUN", - "часть_NOUN_ii_ADJ", - "часть_NOUN_вторая_PROPN", - "часть_NOUN_первая_PROPN", - "часть_NOUN_тело_NOUN", - "чаша_NOUN_вес_NOUN", - "чашечка_NOUN_кофе_NOUN", - "чашка_NOUN_горячий_ADJ", - "чашка_NOUN_кофе_NOUN", - "чашка_NOUN_молоко_NOUN", - "чашка_NOUN_чай_NOUN", - "чаща_NOUN_кустарник_NOUN", - "чаща_NOUN_лес_NOUN", - "чаще_ADV_всего_PRON", - "чаще_ADV_других_ADJ", - "чаще_ADV_чем_SCONJ", - "чего_ADJ_то_PRON", - "чего_ADV_то_PRON", - "чего_PRON_нибудь_PRON", - "чего_PRON_то_PRON", - "чей_ADV_то_ADV", - "чей_ADV_то_DET", - "чей_DET_либо_DET", - "чей_DET_нибудь_DET", - "чей_DET_то_DET", - "чей_NOUN_то_DET", - "чековый_ADJ_книжка_NOUN", - "человек_NOUN_привыкшего_VERB", - "человекообразный_ADJ_обезьяна_NOUN", - "человеческий_ADJ_детёныш_NOUN", - "человеческий_ADJ_достоинство_NOUN", - "человеческий_ADJ_душа_NOUN", - "человеческий_ADJ_жертва_NOUN", - "человеческий_ADJ_жизнь_NOUN", - "человеческий_ADJ_жильё_NOUN", - "человеческий_ADJ_кость_NOUN", - "человеческий_ADJ_мозг_NOUN", - "человеческий_ADJ_мясо_NOUN", - "человеческий_ADJ_натура_NOUN", - "человеческий_ADJ_облик_NOUN", - "человеческий_ADJ_общество_NOUN", - "человеческий_ADJ_организм_NOUN", - "человеческий_ADJ_отношение_NOUN", - "человеческий_ADJ_природа_NOUN", - "человеческий_ADJ_разум_NOUN", - "человеческий_ADJ_раса_NOUN", - "человеческий_ADJ_речь_NOUN", - "человеческий_ADJ_род_NOUN", - "человеческий_ADJ_рост_NOUN", - "человеческий_ADJ_скелет_NOUN", - "человеческий_ADJ_слабость_NOUN", - "человеческий_ADJ_существо_NOUN", - "человеческий_ADJ_тело_NOUN", - "человеческий_ADJ_фигура_NOUN", - "человеческий_ADJ_фигурка_NOUN", - "человеческий_ADJ_череп_NOUN", - "человеческий_ADJ_чувство_NOUN", - "человеческий_ADJ_язык_NOUN", - "человечий_ADJ_голос_NOUN", - "чем_SCONJ_близкий_ADV", - "чем_SCONJ_долгий_ADV", - "чем_SCONJ_маленький_ADV", - "чем_SCONJ_обычно_ADV", - "чемпион_NOUN_мир_NOUN", - "червонный_ADJ_золото_NOUN", - "чердачный_ADJ_окно_NOUN", - "через_ADP_барьер_NOUN", - "через_ADP_двадцать_NUM", - "через_ADP_десять_NUM", - "через_ADP_джунгли_NOUN", - "через_ADP_забор_NOUN", - "через_ADP_изгородь_NOUN", - "через_ADP_канава_NOUN", - "через_ADP_мгновение_NOUN", - "через_ADP_месяц_NOUN", - "через_ADP_минута_NOUN", - "через_ADP_неделька_NOUN", - "через_ADP_неделя_NOUN", - "через_ADP_некоторый_DET", - "через_ADP_несколько_NUM", - "через_ADP_ограда_NOUN", - "через_ADP_пара_NOUN", - "через_ADP_перила_NOUN", - "через_ADP_плетень_NOUN", - "через_ADP_полгода_NOUN", - "через_ADP_полминуты_NOUN", - "через_ADP_полтора_NUM", - "через_ADP_полчаса_NOUN", - "через_ADP_посредство_NOUN", - "через_ADP_пролив_NOUN", - "через_ADP_пролом_NOUN", - "через_ADP_пятнадцать_NUM", - "через_ADP_пять_NUM", - "через_ADP_ров_NOUN", - "через_ADP_секунда_NOUN", - "через_ADP_слуховой_ADJ", - "через_ADP_сутки_NOUN", - "через_ADP_часок_NOUN", - "через_ADP_четверть_NOUN", - "черепаший_ADJ_шаг_NOUN", - "черепичный_ADJ_крыша_NOUN", - "черепной_ADJ_коробка_NOUN", - "чересчур_ADV_много_ADV", - "чернильный_ADJ_карандаш_NOUN", - "чернильный_ADJ_прибор_NOUN", - "чернильный_ADJ_пятно_NOUN", - "черно_ADJ_белый_ADJ", - "черно_ADJ_бурый_ADJ", - "черно_ADJ_зелёный_ADJ", - "черно_ADJ_красный_ADJ", - "черно_ADJ_синий_ADJ", - "черноволосый_ADJ_девочка_NOUN", - "черноглазый_ADJ_девочка_NOUN", - "черноглазый_ADJ_мальчик_NOUN", - "черноморский_ADJ_флот_NOUN", - "чернота_NOUN_ночь_NOUN", - "черпать_VERB_вода_NOUN", - "черта_NOUN_лицо_NOUN", - "черта_NOUN_характер_NOUN", - "чертовый_ADJ_мать_NOUN", - "чертёжный_ADJ_доска_NOUN", - "чесать_VERB_затылок_NOUN", - "честно_ADV_говорить_VERB", - "честно_ADV_заработать_VERB", - "честно_ADV_признаваться_VERB", - "честно_ADV_признаться_VERB", - "честной_ADJ_благородный_ADJ", - "честной_ADJ_бой_NOUN", - "честной_ADJ_гражданин_NOUN", - "честной_ADJ_купец_NOUN", - "честной_ADJ_пионерский_ADJ", - "честной_ADJ_пречестный_ADJ", - "честной_ADJ_слово_NOUN", - "честный_ADJ_малый_ADJ", - "честный_ADJ_человек_NOUN", - "честолюбивый_ADJ_замысел_NOUN", - "четверо_NUM_друг_NOUN", - "четверо_NUM_мужчина_NOUN", - "четверо_NUM_ребят_NOUN", - "четверо_NUM_суток_NOUN", - "четвероногий_ADJ_друг_NOUN", - "четверть_NOUN_век_NOUN", - "четверть_NOUN_миля_NOUN", - "четверть_NOUN_час_NOUN", - "четвёртый_ADJ_а_NOUN", - "четвёртый_ADJ_б_NOUN", - "четвёртый_ADJ_измерение_NOUN", - "четвёртый_ADJ_класс_NOUN", - "четвёртый_ADJ_отделение_NOUN", - "четвёртый_ADJ_пятый_ADJ", - "четвёртый_ADJ_сутки_NOUN", - "четвёртый_ADJ_этаж_NOUN", - "четко_ADV_выделяться_VERB", - "четко_ADV_вырисовываться_VERB", - "четко_ADV_произнести_VERB", - "четыре_NUM_лапа_NOUN", - "четыре_NUM_месяц_NOUN", - "четыре_NUM_миля_NOUN", - "четыре_NUM_пять_NUM", - "четыре_NUM_тысяча_NOUN", - "четыре_NUM_фут_NOUN", - "четыре_NUM_час_NOUN", - "четыре_NUM_штука_NOUN", - "четыреста_NUM_год_NOUN", - "четыреста_NUM_пятьдесят_NUM", - "четырнадцатый_ADJ_год_NOUN", - "четырнадцать_NUM_год_NOUN", - "четырнадцать_NUM_пятнадцать_NUM", - "четырнадцать_NUM_час_NOUN", - "чик_NOUN_чик_NOUN", - "чин_NOUN_капитан_NOUN", - "чинно_ADV_сидеть_VERB", - "чирикать_VERB_воробей_NOUN", - "чиркать_VERB_спичка_NOUN", - "чиркнуть_VERB_зажигалка_NOUN", - "чиркнуть_VERB_спичка_NOUN", - "численный_ADJ_превосходство_NOUN", - "число_NOUN_прочих_ADJ", - "чистильщик_NOUN_сапог_NOUN", - "чистить_VERB_зуб_NOUN", - "чистить_VERB_картошка_NOUN", - "чистить_VERB_сапог_NOUN", - "чисто_ADV_выбрить_VERB", - "чисто_ADV_вымыть_VERB", - "чисто_ADV_женский_ADJ", - "чисто_ADV_научный_ADJ", - "чисто_ADV_прибрать_VERB", - "чисто_ADV_русский_ADJ", - "чистосердечно_ADV_признаться_VERB", - "чистосердечный_ADJ_признание_NOUN", - "чистый_ADJ_безумие_NOUN", - "чистый_ADJ_бельё_NOUN", - "чистый_ADJ_вода_NOUN", - "чистый_ADJ_воздух_NOUN", - "чистый_ADJ_золото_NOUN", - "чистый_ADJ_лист_NOUN", - "чистый_ADJ_монета_NOUN", - "чистый_ADJ_поле_NOUN", - "чистый_ADJ_полотенце_NOUN", - "чистый_ADJ_правда_NOUN", - "чистый_ADJ_прозрачный_ADJ", - "чистый_ADJ_простыня_NOUN", - "чистый_ADJ_пруд_NOUN", - "чистый_ADJ_рубаха_NOUN", - "чистый_ADJ_рубашка_NOUN", - "чистый_ADJ_сердце_PROPN", - "чистый_ADJ_серебро_NOUN", - "чистый_ADJ_скатерть_NOUN", - "чистый_ADJ_случайность_NOUN", - "чистый_ADJ_совесть_NOUN", - "читай_PROPN_листай_PROPN", - "читальный_ADJ_зал_NOUN", - "читатель_NOUN_вероятно_ADV", - "читать_VERB_вслух_ADV", - "читать_VERB_газета_NOUN", - "читать_VERB_книга_NOUN", - "читать_VERB_книжка_NOUN", - "читать_VERB_лекция_NOUN", - "читать_VERB_молитва_NOUN", - "читать_VERB_стих_NOUN", - "член_NOUN_бюро_NOUN", - "член_NOUN_городской_ADJ", - "член_NOUN_жюри_NOUN", - "член_NOUN_клуб_NOUN", - "член_NOUN_клуб_PROPN", - "член_NOUN_команда_NOUN", - "член_NOUN_комиссия_NOUN", - "член_NOUN_комитет_NOUN", - "член_NOUN_королевский_ADJ", - "член_NOUN_корреспондент_NOUN", - "член_NOUN_общество_NOUN", - "член_NOUN_парламент_NOUN", - "член_NOUN_партия_NOUN", - "член_NOUN_патуабу_PROPN", - "член_NOUN_политбюро_PROPN", - "член_NOUN_правительство_NOUN", - "член_NOUN_правление_NOUN", - "член_NOUN_семья_NOUN", - "член_NOUN_совет_NOUN", - "член_NOUN_совет_PROPN", - "член_NOUN_союз_NOUN", - "член_NOUN_союз_PROPN", - "член_NOUN_суд_NOUN", - "член_NOUN_тайный_ADJ", - "член_NOUN_шайка_NOUN", - "член_NOUN_штаб_NOUN", - "член_NOUN_экипаж_NOUN", - "член_NOUN_экспедиция_NOUN", - "чмокать_VERB_губа_NOUN", - "чо_PROPN_ден_PROPN", - "чон_PROPN_у_PROPN", - "чорт_NOUN_взять_VERB", - "чрезвычайно_ADV_важный_ADJ", - "чрезвычайно_ADV_довольный_ADJ", - "чрезвычайно_ADV_интересный_ADJ", - "чрезвычайно_ADV_любопытный_ADJ", - "чрезвычайно_ADV_опасный_ADJ", - "чрезвычайно_ADV_приятный_ADJ", - "чрезвычайно_ADV_рад_ADJ", - "чрезвычайно_ADV_редко_ADV", - "чрезвычайно_ADV_трудный_ADJ", - "чрезвычайный_ADJ_важность_NOUN", - "чрезвычайный_ADJ_комиссия_NOUN", - "чрезвычайный_ADJ_происшествие_NOUN", - "чтение_NOUN_газета_NOUN", - "чтение_NOUN_книга_NOUN", - "чтение_NOUN_письмо_NOUN", - "что_PRON_ж_PART", - "что_PRON_либо_PRON", - "что_PRON_нибудь_PRON", - "что_PRON_поделаешь_VERB", - "что_SCONJ_ль_PRON", - "чтобы_SCONJ_защититься_VERB", - "чтобы_SCONJ_избегнуть_VERB", - "чтобы_SCONJ_избежать_VERB", - "чтобы_SCONJ_обезопасить_VERB", - "чтобы_SCONJ_облегчить_VERB", - "чтобы_SCONJ_отвлечься_VERB", - "чтобы_SCONJ_предотвратить_VERB", - "чтобы_SCONJ_предохранить_VERB", - "чтобы_SCONJ_прокормить_VERB", - "чтобы_SCONJ_скоротать_VERB", - "чтобы_SCONJ_скрыть_VERB", - "чтобы_SCONJ_согреться_VERB", - "чтобы_SCONJ_сократить_VERB", - "чтобы_SCONJ_удостовериться_VERB", - "чтобы_SCONJ_умилостивить_VERB", - "чувство_NOUN_благодарность_NOUN", - "чувство_NOUN_вина_NOUN", - "чувство_NOUN_выполнить_VERB", - "чувство_NOUN_голод_NOUN", - "чувство_NOUN_долг_NOUN", - "чувство_NOUN_жалость_NOUN", - "чувство_NOUN_которое_PRON", - "чувство_NOUN_месть_NOUN", - "чувство_NOUN_неловкость_NOUN", - "чувство_NOUN_одиночество_NOUN", - "чувство_NOUN_ответственность_NOUN", - "чувство_NOUN_отвращение_NOUN", - "чувство_NOUN_самосохранение_NOUN", - "чувство_NOUN_собственный_ADJ", - "чувство_NOUN_сострадание_NOUN", - "чувство_NOUN_справедливость_NOUN", - "чувство_NOUN_стыд_NOUN", - "чувство_NOUN_удовлетворение_NOUN", - "чувство_NOUN_юмор_NOUN", - "чувствовать_VERB_потребность_NOUN", - "чувствовать_VERB_приближение_NOUN", - "чувствовать_VERB_себя_PRON", - "чувствовать_VERB_усталость_NOUN", - "чугунный_ADJ_котёл_NOUN", - "чугунный_ADJ_ограда_NOUN", - "чугунный_ADJ_плита_NOUN", - "чугунный_ADJ_решётка_NOUN", - "чудесный_ADJ_образ_NOUN", - "чудесный_ADJ_превращение_NOUN", - "чудесный_ADJ_свойство_NOUN", - "чудесный_ADJ_спасение_NOUN", - "чудесный_ADJ_страна_NOUN", - "чудиться_VERB_будто_SCONJ", - "чудной_ADJ_картина_NOUN", - "чудо_NOUN_морской_ADJ", - "чудо_NOUN_природа_NOUN", - "чудо_NOUN_спастись_VERB", - "чудо_NOUN_техника_NOUN", - "чудо_NOUN_уцелеть_VERB", - "чудо_NOUN_юдо_NOUN", - "чудовище_NOUN_которое_PRON", - "чудовищный_ADJ_размер_NOUN", - "чудовищный_ADJ_сила_NOUN", - "чудодейственный_ADJ_сила_NOUN", - "чудотворный_ADJ_икона_NOUN", - "чужой_ADJ_добро_NOUN", - "чужой_ADJ_квартира_NOUN", - "чужой_ADJ_незнакомый_ADJ", - "чужой_ADJ_огород_NOUN", - "чужой_ADJ_планета_NOUN", - "чужой_ADJ_собственность_NOUN", - "чужой_ADJ_страна_NOUN", - "чужой_ADJ_территория_NOUN", - "чума_NOUN_холера_NOUN", - "чур_VERB_меня_PRON", - "чуткий_ADJ_слух_NOUN", - "чуткий_ADJ_ухо_NOUN", - "чутко_ADV_прислушиваться_VERB", - "чуть_ADV_брезжить_VERB", - "чуть_ADV_высоко_ADJ", - "чуть_ADV_дышать_ADV", - "чуть_ADV_забрезжить_VERB", - "чуть_ADV_заметно_ADV", - "чуть_ADV_заметный_ADJ", - "чуть_ADV_ли_PART", - "чуть_ADV_наклонить_VERB", - "чуть_ADV_насмешливый_ADJ", - "чуть_ADV_низкий_ADJ", - "чуть_ADV_низкий_ADV", - "чуть_ADV_побольше_NUM", - "чуть_ADV_погодя_VERB", - "чуть_ADV_поздний_ADV", - "чуть_ADV_покачиваться_VERB", - "чуть_ADV_помедлить_ADV", - "чуть_ADV_поодаль_ADV", - "чуть_ADV_приметный_ADJ", - "чуть_ADV_приоткрыть_VERB", - "чуть_ADV_приподнять_VERB", - "чуть_ADV_прищурить_VERB", - "чуть_ADV_раскосый_ADJ", - "чуть_ADV_слышно_ADV", - "чуть_ADV_слышный_ADJ", - "чуть_ADV_чуть_PART", - "чуть_PART_чуть_PART", - "чушь_PROPN_какой_DET", - "чуять_VERB_мой_DET", - "чьи_PRON_то_DET", - "чём_NOUN_дело_NOUN", - "чём_NOUN_то_PRON", - "чём_PRON_то_PRON", - "чёрно_ADJ_белый_ADJ", - "чёрный_ADJ_акула_NOUN", - "чёрный_ADJ_бархат_NOUN", - "чёрный_ADJ_бархатный_ADJ", - "чёрный_ADJ_бездна_NOUN", - "чёрный_ADJ_блестящий_ADJ", - "чёрный_ADJ_борода_NOUN", - "чёрный_ADJ_бык_PROPN", - "чёрный_ADJ_ворон_NOUN", - "чёрный_ADJ_ворон_PROPN", - "чёрный_ADJ_глазками_NOUN", - "чёрный_ADJ_громада_NOUN", - "чёрный_ADJ_джип_NOUN", - "чёрный_ADJ_дракон_NOUN", - "чёрный_ADJ_дым_NOUN", - "чёрный_ADJ_дыра_NOUN", - "чёрный_ADJ_зрачок_NOUN", - "чёрный_ADJ_икра_NOUN", - "чёрный_ADJ_камень_PROPN", - "чёрный_ADJ_квадрат_NOUN", - "чёрный_ADJ_кенда_NOUN", - "чёрный_ADJ_кожаный_ADJ", - "чёрный_ADJ_колдун_PROPN", - "чёрный_ADJ_кот_PROPN", - "чёрный_ADJ_кошка_PROPN", - "чёрный_ADJ_кудри_NOUN", - "чёрный_ADJ_курчавый_ADJ", - "чёрный_ADJ_лак_NOUN", - "чёрный_ADJ_лакированный_ADJ", - "чёрный_ADJ_локон_NOUN", - "чёрный_ADJ_лось_PROPN", - "чёрный_ADJ_маг_NOUN", - "чёрный_ADJ_магия_NOUN", - "чёрный_ADJ_маска_NOUN", - "чёрный_ADJ_медведь_PROPN", - "чёрный_ADJ_мерседес_PROPN", - "чёрный_ADJ_молния_PROPN", - "чёрный_ADJ_мрамор_NOUN", - "чёрный_ADJ_неблагодарность_NOUN", - "чёрный_ADJ_олень_PROPN", - "чёрный_ADJ_орёл_PROPN", - "чёрный_ADJ_охотник_PROPN", - "чёрный_ADJ_пантера_NOUN", - "чёрный_ADJ_перчатка_NOUN", - "чёрный_ADJ_плащ_NOUN", - "чёрный_ADJ_повязка_NOUN", - "чёрный_ADJ_полоса_NOUN", - "чёрный_ADJ_призрак_NOUN", - "чёрный_ADJ_принц_NOUN", - "чёрный_ADJ_принц_PROPN", - "чёрный_ADJ_провал_NOUN", - "чёрный_ADJ_простыня_NOUN", - "чёрный_ADJ_пудель_NOUN", - "чёрный_ADJ_пустота_NOUN", - "чёрный_ADJ_пятно_NOUN", - "чёрный_ADJ_пятнышко_NOUN", - "чёрный_ADJ_роджер_PROPN", - "чёрный_ADJ_роза_PROPN", - "чёрный_ADJ_ряса_NOUN", - "чёрный_ADJ_силуэт_NOUN", - "чёрный_ADJ_смерть_PROPN", - "чёрный_ADJ_смородина_NOUN", - "чёрный_ADJ_суконный_ADJ", - "чёрный_ADJ_сюртук_NOUN", - "чёрный_ADJ_таракан_NOUN", - "чёрный_ADJ_тень_NOUN", - "чёрный_ADJ_точка_NOUN", - "чёрный_ADJ_туча_NOUN", - "чёрный_ADJ_тушь_NOUN", - "чёрный_ADJ_тюльпан_NOUN", - "чёрный_ADJ_усик_NOUN", - "чёрный_ADJ_фрак_NOUN", - "чёрный_ADJ_ход_NOUN", - "чёрствый_ADJ_хлеб_NOUN", - "чёрт_NOUN_взять_VERB", - "чёрт_NOUN_побрать_VERB", - "чёрт_NOUN_подрать_VERB", - "чёрт_PROPN_взять_VERB", - "чёрт_PROPN_побрать_VERB", - "чёткий_ADJ_почерк_NOUN", - "ш_NOUN_ш_NOUN", - "шаг_NOUN_вперёд_ADV", - "шаг_NOUN_двести_NOUN", - "шаг_NOUN_марш_NOUN", - "шаг_NOUN_направиться_VERB", - "шаг_NOUN_ступить_VERB", - "шагать_VERB_вдоль_ADP", - "шагать_VERB_взад_ADV", - "шагать_VERB_впереди_ADV", - "шагать_VERB_рядом_ADV", - "шагнуть_VERB_близкий_ADV", - "шагнуть_VERB_вперёд_ADV", - "шагнуть_VERB_навстречу_ADV", - "шагнуть_VERB_назад_ADV", - "шагов_PROPN_через_ADP", - "шайка_NOUN_разбойник_NOUN", - "шальной_ADJ_пуля_NOUN", - "шангри_PROPN_ла_PROPN", - "шанс_NOUN_против_ADP", - "шапка_NOUN_невидимка_NOUN", - "шапка_NOUN_ушанка_NOUN", - "шарахаться_VERB_от_ADP", - "шарахнуться_VERB_назад_ADV", - "шариковый_ADJ_ручка_NOUN", - "шарить_VERB_по_ADP", - "шарканье_NOUN_нога_NOUN", - "шаркать_VERB_нога_NOUN", - "шарль_PROPN_лебо_PROPN", - "шарль_PROPN_обрей_PROPN", - "шаровой_ADJ_каюта_NOUN", - "шаровой_ADJ_молния_NOUN", - "шато_PROPN_мальи_PROPN", - "шато_PROPN_моран_PROPN", - "шато_PROPN_рено_PROPN", - "шахматный_ADJ_доска_NOUN", - "шахматный_ADJ_игра_NOUN", - "шахматный_ADJ_партия_NOUN", - "шахматный_ADJ_столик_NOUN", - "шахматный_ADJ_фигура_NOUN", - "шахматы_NOUN_играть_VERB", - "шахта_NOUN_номер_NOUN", - "шведский_ADJ_стенка_NOUN", - "швейный_ADJ_машина_NOUN", - "швейный_ADJ_машинка_NOUN", - "шевалье_PROPN_де_PART", - "шевелить_VERB_губа_NOUN", - "шевелить_VERB_палец_NOUN", - "шевелить_VERB_ус_NOUN", - "шевелить_VERB_ухо_NOUN", - "шевельнуть_VERB_губа_NOUN", - "шевельнуть_VERB_плечо_NOUN", - "шевеля_NOUN_губа_NOUN", - "шейка_NOUN_матка_NOUN", - "шейный_ADJ_платок_NOUN", - "шейный_ADJ_позвонок_NOUN", - "шел_NOUN_идти_VERB", - "шелест_NOUN_ветер_NOUN", - "шелест_NOUN_лист_NOUN", - "шелестеть_VERB_лист_NOUN", - "шелковистый_ADJ_волос_NOUN", - "шептать_VERB_молитва_NOUN", - "шер_PROPN_хан_PROPN", - "шерлок_NOUN_холмс_PROPN", - "шерлок_PROPN_холмс_PROPN", - "шерстяной_ADJ_носок_NOUN", - "шерстяной_ADJ_одеяло_NOUN", - "шерстяной_ADJ_платок_NOUN", - "шерстяной_ADJ_платье_NOUN", - "шерстяной_ADJ_ткань_NOUN", - "шерстяной_ADJ_чулок_NOUN", - "шершавый_ADJ_язык_NOUN", - "шествие_NOUN_замыкать_VERB", - "шестеро_NUM_друг_NOUN", - "шестидесятый_ADJ_год_NOUN", - "шестнадцатый_ADJ_век_NOUN", - "шестнадцатый_ADJ_год_NOUN", - "шестнадцать_NUM_год_NOUN", - "шестнадцать_NUM_час_NOUN", - "шестой_ADJ_а_NOUN", - "шестой_ADJ_б_NOUN", - "шестой_ADJ_класс_NOUN", - "шестой_ADJ_урок_NOUN", - "шестой_ADJ_чувство_NOUN", - "шестой_ADJ_этаж_NOUN", - "шесть_NUM_год_NOUN", - "шесть_NUM_дюйм_NOUN", - "шесть_NUM_километр_NOUN", - "шесть_NUM_месяц_NOUN", - "шесть_NUM_метр_NOUN", - "шесть_NUM_миллион_NOUN", - "шесть_NUM_миля_NOUN", - "шесть_NUM_неделя_NOUN", - "шесть_NUM_пенс_NOUN", - "шесть_NUM_рубль_NOUN", - "шесть_NUM_семь_NUM", - "шесть_NUM_суток_NOUN", - "шесть_NUM_тысяча_NOUN", - "шесть_NUM_фут_NOUN", - "шесть_NUM_час_NOUN", - "шесть_NUM_штука_NOUN", - "шестьдесят_NUM_восемь_NUM", - "шестьдесят_NUM_год_NOUN", - "шестьдесят_NUM_километр_NOUN", - "шестьдесят_NUM_копейка_NOUN", - "шестьдесят_NUM_метр_NOUN", - "шестьдесят_NUM_миля_NOUN", - "шестьдесят_NUM_пять_NUM", - "шестьдесят_NUM_семь_NUM", - "шестьдесят_NUM_тысяча_NOUN", - "шестьдесят_NUM_четыре_NUM", - "шестьдесят_NUM_шесть_NUM", - "шеф_NOUN_повар_NOUN", - "шеф_NOUN_полиция_NOUN", - "шея_NOUN_петля_NOUN", - "шиворот_NOUN_навыворот_NOUN", - "ширина_NOUN_плечо_NOUN", - "широкий_ADJ_аллея_NOUN", - "широкий_ADJ_водный_ADJ", - "широкий_ADJ_дуга_NOUN", - "широкий_ADJ_жест_NOUN", - "широкий_ADJ_кожаный_ADJ", - "широкий_ADJ_круг_NOUN", - "широкий_ADJ_лента_NOUN", - "широкий_ADJ_лестница_NOUN", - "широкий_ADJ_мраморный_ADJ", - "широкий_ADJ_плащ_NOUN", - "широкий_ADJ_плоский_ADJ", - "широкий_ADJ_подоконник_NOUN", - "широкий_ADJ_полоса_NOUN", - "широкий_ADJ_полукруг_NOUN", - "широкий_ADJ_пояс_NOUN", - "широкий_ADJ_простор_NOUN", - "широкий_ADJ_проход_NOUN", - "широкий_ADJ_равнина_NOUN", - "широкий_ADJ_распространение_NOUN", - "широкий_ADJ_ремень_NOUN", - "широкий_ADJ_рукав_NOUN", - "широкий_ADJ_ступень_NOUN", - "широкий_ADJ_трещина_NOUN", - "широкий_ADJ_улыбка_NOUN", - "широкий_ADJ_юбка_NOUN", - "широко_ADV_зевнуть_VERB", - "широко_ADV_известный_ADJ", - "широко_ADV_использоваться_VERB", - "широко_ADV_открывать_VERB", - "широко_ADV_открытый_ADJ", - "широко_ADV_открыть_VERB", - "широко_ADV_открыться_VERB", - "широко_ADV_развести_VERB", - "широко_ADV_разинуть_VERB", - "широко_ADV_разлиться_VERB", - "широко_ADV_раскинуть_VERB", - "широко_ADV_раскрывать_VERB", - "широко_ADV_раскрыть_VERB", - "широко_ADV_раскрыться_VERB", - "широко_ADV_распахнутыми_ADJ", - "широко_ADV_распахнуть_VERB", - "широко_ADV_распахнуться_VERB", - "широко_ADV_распространить_VERB", - "широко_ADV_расставить_VERB", - "широко_ADV_расставлять_VERB", - "широко_ADV_улыбаться_VERB", - "широко_ADV_улыбнуться_VERB", - "широко_ADV_шагать_VERB", - "широкополый_ADJ_соломенный_ADJ", - "широкополый_ADJ_шляпа_NOUN", - "шито_NOUN_крыто_NOUN", - "шкипер_NOUN_джордж_PROPN", - "школьный_ADJ_библиотека_NOUN", - "школьный_ADJ_бригада_NOUN", - "школьный_ADJ_буфет_NOUN", - "школьный_ADJ_возраст_NOUN", - "школьный_ADJ_двор_NOUN", - "школьный_ADJ_занятие_NOUN", - "школьный_ADJ_здание_NOUN", - "школьный_ADJ_концерт_NOUN", - "школьный_ADJ_коридор_NOUN", - "школьный_ADJ_крыльцо_NOUN", - "школьный_ADJ_музей_NOUN", - "школьный_ADJ_новость_NOUN", - "школьный_ADJ_правило_NOUN", - "школьный_ADJ_программа_NOUN", - "школьный_ADJ_работник_NOUN", - "школьный_ADJ_сад_NOUN", - "школьный_ADJ_скамья_NOUN", - "школьный_ADJ_совет_NOUN", - "школьный_ADJ_стадион_NOUN", - "школьный_ADJ_столовая_NOUN", - "школьный_ADJ_сторож_NOUN", - "школьный_ADJ_сумка_NOUN", - "школьный_ADJ_тетрадка_NOUN", - "школьный_ADJ_тетрадь_NOUN", - "школьный_ADJ_учебник_NOUN", - "школьный_ADJ_учитель_NOUN", - "школьный_ADJ_форма_NOUN", - "шкура_NOUN_бизон_NOUN", - "шли_PROPN_молча_ADV", - "шли_VERB_год_NOUN", - "шли_VERB_день_NOUN", - "шли_VERB_они_PRON", - "шло_PROPN_время_NOUN", - "шлёпать_VERB_босой_ADJ", - "шлёпать_VERB_по_ADP", - "шмаков_PROPN_пётр_PROPN", - "шмыгать_VERB_нос_NOUN", - "шмыгнуть_VERB_нос_NOUN", - "шоколадный_ADJ_конфета_NOUN", - "шоколадный_ADJ_цвет_NOUN", - "шоссейный_ADJ_дорога_NOUN", - "шпионить_VERB_за_ADP", - "штаб_NOUN_армия_NOUN", - "штаб_NOUN_дивизия_NOUN", - "штаб_NOUN_квартира_NOUN", - "штаб_NOUN_полок_NOUN", - "штабс_NOUN_капитан_NOUN", - "штабс_PROPN_капитан_NOUN", - "штат_NOUN_иллинойс_PROPN", - "штат_NOUN_нью_PROPN", - "штатский_ADJ_костюм_NOUN", - "штатский_ADJ_платье_NOUN", - "што_VERB_ли_PART", - "штормовой_ADJ_ветер_NOUN", - "штука_NOUN_двадцать_NUM", - "штука_NOUN_десять_NUM", - "штурманский_ADJ_рубка_NOUN", - "шум_NOUN_битва_NOUN", - "шум_NOUN_водопад_NOUN", - "шум_NOUN_гам_NOUN", - "шум_NOUN_дождь_NOUN", - "шум_NOUN_мотор_NOUN", - "шум_NOUN_прибой_NOUN", - "шум_NOUN_распахнуться_VERB", - "шумно_ADV_вздохнуть_VERB", - "шумно_ADV_вздыхать_VERB", - "шумно_ADV_выдохнуть_VERB", - "шумно_ADV_дышать_VERB", - "шумный_ADJ_ватага_NOUN", - "шумный_ADJ_игра_NOUN", - "шумный_ADJ_компания_NOUN", - "шумный_ADJ_толпа_NOUN", - "шутить_VERB_смеяться_VERB", - "шутка_NOUN_встревожиться_VERB", - "шутка_NOUN_перепугаться_VERB", - "шутка_NOUN_плохой_ADJ", - "шутка_NOUN_рассердиться_VERB", - "шутка_NOUN_шутить_VERB", - "шутливый_ADJ_тон_NOUN", - "шёлковый_ADJ_лента_NOUN", - "шёлковый_ADJ_материя_NOUN", - "шёлковый_ADJ_нить_NOUN", - "шёлковый_ADJ_платок_NOUN", - "шёлковый_ADJ_платье_NOUN", - "шёлковый_ADJ_подушка_NOUN", - "шёлковый_ADJ_пояс_NOUN", - "шёлковый_ADJ_рубашка_NOUN", - "шёлковый_ADJ_ткань_NOUN", - "шёлковый_ADJ_халат_NOUN", - "шёлковый_ADJ_чулок_NOUN", - "шёлковый_ADJ_шарф_NOUN", - "шёлковый_ADJ_шнурок_NOUN", - "шёпот_NOUN_отозваться_VERB", - "шёпот_NOUN_произнести_VERB", - "шёпот_NOUN_сообщить_VERB", - "шёпот_NOUN_спросить_VERB", - "шёпотом_ADV_спросить_VERB", - "щадить_VERB_ни_CCONJ", - "щебетание_NOUN_птица_NOUN", - "щебетать_VERB_птица_NOUN", - "щедро_ADV_вознаградить_VERB", - "щедро_ADV_наградить_VERB", - "щедро_ADV_одарить_VERB", - "щека_ADV_ее_PRON", - "щека_ADV_у_ADP", - "щека_NOUN_пылать_VERB", - "щекотливый_ADJ_вопрос_NOUN", - "щель_NOUN_между_ADP", - "щемить_VERB_сердце_NOUN", - "щепотка_NOUN_соль_NOUN", - "щипать_VERB_трава_NOUN", - "щит_NOUN_управление_NOUN", - "щитовидный_ADJ_железа_NOUN", - "щиток_NOUN_управление_NOUN", - "щурить_VERB_глаз_NOUN", - "щуриться_VERB_от_ADP", - "щёлк_NOUN_щёлк_NOUN", - "щёлкать_VERB_зуб_NOUN", - "щёлкнуть_VERB_выключатель_NOUN", - "щёлкнуть_VERB_зажигалка_NOUN", - "щёлкнуть_VERB_замок_NOUN", - "щёлкнуть_VERB_затвор_NOUN", - "щёлкнуть_VERB_зуб_NOUN", - "щёлкнуть_VERB_каблук_NOUN", - "щёлкнуть_VERB_ключ_NOUN", - "щёлкнуть_VERB_палец_NOUN", - "щёлкнуть_VERB_язык_NOUN", - "ы_NOUN_ы_NOUN", - "э_INTJ_э_INTJ", - "э_INTJ_э_NOUN", - "э_INTJ_э_PART", - "э_INTJ_эх_INTJ", - "э_NOUN_да_CCONJ", - "э_NOUN_э_INTJ", - "э_NOUN_э_NOUN", - "э_NOUN_э_PART", - "э_NOUN_эх_INTJ", - "э_NOUN_эх_PART", - "э_PROPN_да_CCONJ", - "э_PROPN_нет_VERB", - "эгейский_ADJ_море_NOUN", - "эдуард_PROPN_андреевич_PROPN", - "эдуард_PROPN_вачаганович_PROPN", - "эдуард_PROPN_николаевич_PROPN", - "эй_INTJ_пацан_NOUN", - "эй_INTJ_эй_INTJ", - "эй_PART_вы_PRON", - "эй_PROPN_ты_PRON", - "эйфелев_ADJ_башня_NOUN", - "эйфелевый_ADJ_башня_NOUN", - "эка_PROPN_невидаль_PROPN", - "экваториальный_ADJ_африка_PROPN", - "экий_ADJ_ты_PRON", - "экипаж_NOUN_корабль_NOUN", - "экой_ADJ_ты_PRON", - "экран_NOUN_возникнуть_VERB", - "экран_NOUN_компьютер_NOUN", - "экран_NOUN_монитор_NOUN", - "экран_NOUN_погаснуть_VERB", - "экран_NOUN_появиться_VERB", - "экран_NOUN_телевизор_NOUN", - "экстремальный_ADJ_ситуация_NOUN", - "экстренный_ADJ_случай_NOUN", - "элегантно_ADV_одеть_VERB", - "элегантный_ADJ_костюм_NOUN", - "электрический_ADJ_заряд_NOUN", - "электрический_ADJ_звонок_NOUN", - "электрический_ADJ_искра_NOUN", - "электрический_ADJ_лампа_NOUN", - "электрический_ADJ_лампочка_NOUN", - "электрический_ADJ_освещение_NOUN", - "электрический_ADJ_провод_NOUN", - "электрический_ADJ_разряд_NOUN", - "электрический_ADJ_свет_NOUN", - "электрический_ADJ_станция_NOUN", - "электрический_ADJ_стул_NOUN", - "электрический_ADJ_ток_NOUN", - "электрический_ADJ_фонарик_NOUN", - "электрический_ADJ_фонарь_NOUN", - "электрический_ADJ_чайник_NOUN", - "электрический_ADJ_энергия_NOUN", - "электромагнитный_ADJ_волна_NOUN", - "электронный_ADJ_адрес_NOUN", - "электронный_ADJ_машина_NOUN", - "электронный_ADJ_микроскоп_NOUN", - "электронный_ADJ_мозг_NOUN", - "электронный_ADJ_почта_NOUN", - "элементарно_ADV_ватсон_PROPN", - "элементарный_ADJ_частица_NOUN", - "эликсир_NOUN_жизнь_NOUN", - "эль_NOUN_сагал_NOUN", - "эль_PROPN_кадур_PROPN", - "эль_PROPN_сагала_PROPN", - "эльга_PROPN_имантович_PROPN", - "эльза_PROPN_карлович_PROPN", - "эмалированный_ADJ_кружка_NOUN", - "эмилия_PROPN_карлович_PROPN", - "эмилия_PROPN_христофорович_PROPN", - "эмма_PROPN_мухин_PROPN", - "эмма_PROPN_роза_PROPN", - "эмма_PROPN_романович_PROPN", - "энергично_ADV_кивнуть_VERB", - "энергично_ADV_приняться_VERB", - "энергично_ADV_работать_VERB", - "энергичный_ADJ_движение_NOUN", - "энергичный_ADJ_жест_NOUN", - "энергичный_ADJ_мера_NOUN", - "энни_PROPN_форест_PROPN", - "энциклопедический_ADJ_словарь_NOUN", - "эпоха_NOUN_возрождение_PROPN", - "эпоха_NOUN_легенда_NOUN", - "эрнест_PROPN_хемингуэй_PROPN", - "эстер_PROPN_дерие_PROPN", - "этаж_NOUN_высоко_ADJ", - "этаж_NOUN_низкий_ADJ", - "этель_PROPN_линдсей_PROPN", - "это_DET_безобразие_NOUN", - "это_DET_богатство_NOUN", - "это_DET_великолепие_NOUN", - "это_DET_восклицание_NOUN", - "это_DET_времени_NOUN", - "это_DET_время_NOUN", - "это_DET_дело_NOUN", - "это_DET_добро_NOUN", - "это_DET_заболевание_NOUN", - "это_DET_замечание_NOUN", - "это_DET_занятие_NOUN", - "это_DET_заявление_NOUN", - "это_DET_зрелище_NOUN", - "это_DET_известие_NOUN", - "это_DET_лето_NOUN", - "это_DET_мгновение_NOUN", - "это_DET_мероприятие_NOUN", - "это_DET_место_NOUN", - "это_DET_напоминание_NOUN", - "это_DET_недоразумение_NOUN", - "это_DET_обстоятельство_NOUN", - "это_DET_открытие_NOUN", - "это_DET_отношение_NOUN", - "это_DET_ощущение_NOUN", - "это_DET_письмо_NOUN", - "это_DET_поприще_NOUN", - "это_DET_послание_NOUN", - "это_DET_предложение_NOUN", - "это_DET_предположение_NOUN", - "это_DET_предприятие_NOUN", - "это_DET_признание_NOUN", - "это_DET_прозвище_NOUN", - "это_DET_происшествие_NOUN", - "это_DET_решение_NOUN", - "это_DET_событие_NOUN", - "это_DET_сообщение_NOUN", - "это_DET_сооружение_NOUN", - "это_DET_стихотворение_NOUN", - "это_DET_сходство_NOUN", - "это_DET_умение_NOUN", - "это_DET_упражнение_NOUN", - "это_DET_утверждение_NOUN", - "это_DET_явление_NOUN", - "это_PART_пустяки_ADJ", - "это_PRON_видано_VERB", - "это_PRON_надолго_ADJ", - "это_PRON_негодяем_VERB", - "это_PRON_неспроста_NOUN", - "этот_DET_дурацкий_ADJ", - "этот_DET_затея_NOUN", - "этот_DET_злосчастный_ADJ", - "этот_DET_момент_NOUN", - "этот_DET_подонок_NOUN", - "этот_DET_проклятый_ADJ", - "этот_DET_тип_NOUN", - "этот_DET_чертовый_ADJ", - "этот_DET_чёртов_ADJ", - "этот_DET_штуковина_NOUN", - "эфери_PROPN_тау_PROPN", - "эфирный_ADJ_масло_NOUN", - "эх_INTJ_жалко_ADV", - "эх_INTJ_жаль_ADV", - "эх_INTJ_кабы_SCONJ", - "эх_PART_вы_PRON", - "эх_PART_ты_PRON", - "эхо_NOUN_отозваться_VERB", - "эхо_NOUN_повторить_VERB", - "эхом_NOUN_отозваться_VERB", - "ю_PROPN_син_PROPN", - "ю_PROPN_ю_PROPN", - "ювелирный_ADJ_магазин_NOUN", - "ювелирный_ADJ_украшение_NOUN", - "юг_NOUN_франция_PROPN", - "юго_ADJ_восточный_ADJ", - "юго_ADJ_западный_ADJ", - "юго_NOUN_восток_NOUN", - "юго_NOUN_запад_NOUN", - "южно_ADJ_американский_ADJ", - "южный_ADJ_америка_PROPN", - "южный_ADJ_африка_PROPN", - "южный_ADJ_берег_NOUN", - "южный_ADJ_бухта_NOUN", - "южный_ADJ_ветер_NOUN", - "южный_ADJ_граница_NOUN", - "южный_ADJ_крест_PROPN", - "южный_ADJ_море_NOUN", - "южный_ADJ_океан_NOUN", - "южный_ADJ_оконечность_NOUN", - "южный_ADJ_побережье_NOUN", - "южный_ADJ_полушарие_NOUN", - "южный_ADJ_полюс_NOUN", - "южный_ADJ_полярный_ADJ", - "южный_ADJ_склон_NOUN", - "южный_ADJ_часть_NOUN", - "южный_ADJ_широта_NOUN", - "южный_ADJ_штат_NOUN", - "юлий_PROPN_генрихович_PROPN", - "юлий_PROPN_цезарь_PROPN", - "юлия_PROPN_александрович_PROPN", - "юлия_PROPN_алексеевич_PROPN", - "юлия_PROPN_арсениевич_PROPN", - "юлия_PROPN_григориевич_PROPN", - "юлия_PROPN_иванович_PROPN", - "юлия_PROPN_константинович_PROPN", - "юлия_PROPN_львович_PROPN", - "юлия_PROPN_михаилович_PROPN", - "юлия_PROPN_николаевич_PROPN", - "юлия_PROPN_павлович_PROPN", - "юлия_PROPN_цезаря_PROPN", - "юн_PROPN_хо_PROPN", - "юный_ADJ_возраст_NOUN", - "юный_ADJ_герой_NOUN", - "юный_ADJ_детектив_NOUN", - "юный_ADJ_джентльмен_NOUN", - "юный_ADJ_друг_NOUN", - "юный_ADJ_леди_NOUN", - "юный_ADJ_мститель_NOUN", - "юный_ADJ_натуралист_NOUN", - "юный_ADJ_паж_NOUN", - "юный_ADJ_пионер_NOUN", - "юный_ADJ_разведчик_NOUN", - "юный_ADJ_рыцарь_NOUN", - "юный_ADJ_сыщик_NOUN", - "юный_ADJ_техник_NOUN", - "юный_ADJ_читатель_NOUN", - "юр_PROPN_танка_PROPN", - "юра_PROPN_цветков_PROPN", - "юрий_PROPN_александрович_PROPN", - "юрий_PROPN_алексеевич_PROPN", - "юрий_PROPN_андреевич_PROPN", - "юрий_PROPN_афанасиевич_PROPN", - "юрий_PROPN_гагарин_PROPN", - "юрий_PROPN_денисович_PROPN", - "юрий_PROPN_иванов_PROPN", - "юрий_PROPN_иванович_PROPN", - "юрий_PROPN_львович_PROPN", - "юрий_PROPN_матвеевич_PROPN", - "юрий_PROPN_михаилович_PROPN", - "юрий_PROPN_николаевич_PROPN", - "юрий_PROPN_петрович_PROPN", - "юрий_PROPN_юриевич_PROPN", - "юркнуть_VERB_под_ADP", - "я_PRON_мигом_VERB", - "я_PRON_побегу_VERB", - "яблоневый_ADJ_сад_NOUN", - "яблочный_ADJ_пирог_NOUN", - "явиться_VERB_пред_ADP", - "явиться_VERB_сюда_ADV", - "явление_NOUN_природа_NOUN", - "являть_VERB_себя_PRON", - "являться_VERB_одним_NUM", - "являться_VERB_представитель_NOUN", - "являться_VERB_причина_NOUN", - "являться_VERB_самым_ADJ", - "явный_ADJ_доказательство_NOUN", - "явный_ADJ_намерение_NOUN", - "явный_ADJ_облегчение_NOUN", - "явный_ADJ_признак_NOUN", - "явный_ADJ_удовольствие_NOUN", - "явственно_ADV_слышать_VERB", - "явственно_ADV_услышать_VERB", - "ядерный_ADJ_взрыв_NOUN", - "ядерный_ADJ_оружие_NOUN", - "ядовито_ADJ_зелёный_ADJ", - "ядовитый_ADJ_газ_NOUN", - "ядовитый_ADJ_гриб_NOUN", - "ядовитый_ADJ_змея_NOUN", - "ядовитый_ADJ_зуб_NOUN", - "язвительный_ADV_заметить_VERB", - "язвительный_ADV_спросить_VERB", - "язык_NOUN_высунуть_VERB", - "язык_NOUN_оригинал_NOUN", - "язык_NOUN_пламя_NOUN", - "язык_NOUN_проглотить_VERB", - "языческий_ADJ_бог_NOUN", - "язычок_NOUN_пламя_NOUN", - "яичный_ADJ_желток_NOUN", - "яичный_ADJ_скорлупа_NOUN", - "яков_PROPN_антонович_PROPN", - "яков_PROPN_борисович_PROPN", - "яков_PROPN_гаврилович_PROPN", - "яков_PROPN_ефимович_PROPN", - "яков_PROPN_иванович_PROPN", - "яков_PROPN_ильич_PROPN", - "яков_PROPN_платонович_PROPN", - "якорный_ADJ_канат_NOUN", - "якорный_ADJ_стоянка_NOUN", - "якорный_ADJ_цепь_NOUN", - "яма_NOUN_вырыть_VERB", - "ян_PROPN_ван_PART", - "ян_PROPN_яныч_PROPN", - "январь_NOUN_год_NOUN", - "янина_PROPN_станиславович_PROPN", - "ярдах_NOUN_от_ADP", - "яркий_ADJ_алый_ADJ", - "яркий_ADJ_блеск_NOUN", - "яркий_ADJ_вспышка_NOUN", - "яркий_ADJ_голубой_ADJ", - "яркий_ADJ_жёлтый_ADJ", - "яркий_ADJ_звезда_NOUN", - "яркий_ADJ_звёздочка_NOUN", - "яркий_ADJ_зелень_NOUN", - "яркий_ADJ_зелёный_ADJ", - "яркий_ADJ_краска_NOUN", - "яркий_ADJ_красный_ADJ", - "яркий_ADJ_лампа_NOUN", - "яркий_ADJ_лунный_ADJ", - "яркий_ADJ_луч_NOUN", - "яркий_ADJ_молния_NOUN", - "яркий_ADJ_окраска_NOUN", - "яркий_ADJ_оранжевый_ADJ", - "яркий_ADJ_освещение_NOUN", - "яркий_ADJ_пламя_NOUN", - "яркий_ADJ_полоса_NOUN", - "яркий_ADJ_пятно_NOUN", - "яркий_ADJ_розовый_ADJ", - "яркий_ADJ_румянец_NOUN", - "яркий_ADJ_румянцем_NOUN", - "яркий_ADJ_свет_NOUN", - "яркий_ADJ_синий_ADJ", - "яркий_ADJ_солнечный_ADJ", - "яркий_ADJ_солнце_NOUN", - "яркий_ADJ_цвет_NOUN", - "яркий_ADJ_цветной_ADJ", - "ярко_ADJ_голубой_ADJ", - "ярко_ADJ_жёлтый_ADJ", - "ярко_ADJ_зелёный_ADJ", - "ярко_ADJ_красный_ADJ", - "ярко_ADJ_оранжевый_ADJ", - "ярко_ADJ_синий_ADJ", - "ярко_ADV_блестеть_VERB", - "ярко_ADV_вспыхнуть_VERB", - "ярко_ADV_выделяться_VERB", - "ярко_ADV_выразить_VERB", - "ярко_ADV_гореть_VERB", - "ярко_ADV_начистить_VERB", - "ярко_ADV_окрасить_VERB", - "ярко_ADV_осветить_VERB", - "ярко_ADV_освещать_VERB", - "ярко_ADV_пылать_VERB", - "ярко_ADV_раскрасить_VERB", - "ярко_ADV_сверкать_VERB", - "ярко_ADV_светить_VERB", - "ярко_ADV_светиться_VERB", - "ярко_ADV_сиять_VERB", - "ярославский_ADJ_вокзал_NOUN", - "яростный_ADJ_взгляд_NOUN", - "яростный_ADJ_вопль_NOUN", - "яростный_ADJ_крик_NOUN", - "яростный_ADJ_рёв_NOUN", - "ясно_ADV_видеть_VERB", - "ясно_ADV_виднеться_VERB", - "ясно_ADV_видно_ADV", - "ясно_ADV_видный_ADJ", - "ясно_ADV_выделяться_VERB", - "ясно_ADV_выразить_VERB", - "ясно_ADV_вырисовываться_VERB", - "ясно_ADV_доказывать_VERB", - "ясно_ADV_показывать_VERB", - "ясно_ADV_представить_VERB", - "ясно_ADV_представиться_VERB", - "ясно_ADV_представлять_VERB", - "ясно_ADV_разглядеть_VERB", - "ясно_ADV_различать_VERB", - "ясно_ADV_различить_VERB", - "ясно_ADV_расслышать_VERB", - "ясно_ADV_слышать_VERB", - "ясно_ADV_слышаться_VERB", - "ясно_ADV_слышный_ADJ", - "ясно_ADV_сознавать_VERB", - "ясно_ADV_указывать_VERB", - "ясно_ADV_читаться_VERB", - "ясный_ADJ_морозный_ADJ", - "ясный_ADJ_отчёт_NOUN", - "ясный_ADJ_перец_NOUN", - "ясный_ADJ_погода_NOUN", - "ясный_ADJ_сокол_NOUN", - "ясный_ADJ_солнышко_NOUN", - "ясный_ADJ_солнышко_PROPN", - "ястребиный_ADJ_глаз_NOUN", - "яхт_NOUN_клуб_NOUN", - "ящик_NOUN_комод_NOUN", - "ящик_NOUN_письменный_ADJ", - "ящик_NOUN_стол_NOUN", - "ёж_NOUN_понятный_ADJ", - "ёжиться_VERB_от_ADP", - "ёкнуть_VERB_сердце_NOUN", - "ёлка_NOUN_зелёный_ADJ", - "ёлка_NOUN_палка_NOUN", - "ёлочный_ADJ_игрушка_NOUN", - "ёлочный_ADJ_украшение_NOUN" - ] -} \ No newline at end of file diff --git a/old_version/language_data/stop_words.txt b/old_version/language_data/stop_words.txt deleted file mode 100644 index c3f1e9efe7088629a07a151d0cdb0338ef4838e8..0000000000000000000000000000000000000000 --- a/old_version/language_data/stop_words.txt +++ /dev/null @@ -1,1444 +0,0 @@ -а -а. л. -а.л. -а/о -аа -а-а -ааа -а-а-а -аааа -а-а-а-а -абы -авось -авт. л. -авт.л. -автор -ага -агу -адм.-терр. -аж -аз -ай -ай-ай-ай -айда -ай-яй-яй -акад. -аки -акуевата -акуевать -але -али -алкать -алле -алло -аль -аля -а-ля -аминь -ан -анти -апчхи -атас -ау -ауе -аф -ах -аха -ахах -ахаха -ахахклассный -ахти -ахтунг -ахуить -аще -ая -б -б -ба -бабах -ба-бах -баста -бах -бац -без -безо -бел -бела -бен -бис -бишь -бшь -б-ка -бл -благо -благодаря -близ -бля -бляя -бляяя -блять -бо -более -больше -бом -браво -бро -брр -бррр -брысь -бу-бу-бу -буд -буде -будто -буль-буль -бум -бы -быть -было -бэй -в -в. -в/о -вай -ватны -ватна -ватн -ван -вау -воу -ваш -вблизи -вв. -ввиду -вглубь -вдобавок -вдоль -вдруг -ведь -везде -вено -весь -весьма -взамен -виват -вишь -вкз. -включая -вкруг -вместе -вместо -вне -внизу -внутри -внутрь -во -во-во -возле -возможно -вокруг -вон -вона -вообще -вообще-то -во-он -во-от -вопреки -воскресеньеПредновогодний -вослед -вост.-европ. -вот -вперед -впереди -вполне -впрочем -впрямь -вр -вроде -вряд -вс -все -всё -всегда -всего -все-таки -всё-таки -вслед -вследствие -всюду -всяк -всякий -всяко -всякое -вы -выше -высер -высера -г -г. -гг. -гг. -гавно -г-да -где -где-либо -где-нибудь -где-то -геть -г-жа -гк -глядь -гм -г-н -го -говно -гомосек -гомосечь -гоп -гор. -гос. -гос-во -господи -гр -гр. -гр-ка -гр-не -гу -гугу -гугугу -гу-гу-гу -гу - гу - гу -гы -д. о. -д.о. -д/о -да -да -да-а -да-а-а -дабы -давай -давайте -давно -да-да -да-да-да -даже -дай -дайте -дак -далее -данный -д-да -де -действительно -дель -ден -деп. -дер -дёр -дер. -дерьмо -ди -дисс. -для -до -добро -довольно -доколе -дол. -долбеж -долбёж -долл. -дон -доселе -дотоле -др -др. -дроч -дрочер -дрочить -другие -другое -другой -дудки -ды -дык -ебать -его -едва -ее -ей -еей -ееей -ееий -еееееий -её -ежедн. -ежели -ежли -ей-богу -ей-ей -ейный -екб -елки-палки -е-мое -epдинaнд -если -есть -ет -ето -етот -ете -еще -ещё -ж -ж. -ж. д. -ж.д. -ж.-д. -ж/д -жа -же -жен. -жопа -ж*па -з. -з. к. -з.к. -з/к -з/о -за -заместо -зап. -зап.-европ. -заруб. -засрало -засрать -затем -зато -зачем -зачем-то -здесь -здеся -здорово -здравствуй -здравствуйте -здрасте -зйбс -значит -зы -и -и т. д. -и т. д. и т. п. -и т. п. -и т.д. -и т.д. и т.п. -и т.п. -и. о. -и.о. -ибн -ибо -иже -из -изв -изд-во -из-за -изнутри -изо -из-под -изъебистый -изъёбистый -и-и -ил -или -иль -имв -именно -имхо -ин -ин. -иначе -иной -иногда -иностр. -инст. -ин-т -ип -исключая -исключительно -итак -ить -их -ихний -ишь -йо -йоу -к -к. -ка -кабель -ка-ак -кабы -каждый -кажный -кажется -как -как-либо -как-нибудь -как-никак -како -каков -каково -каковой -какой -какой-либо -какой-нибудь -какой-никакой -какой-то -как-то -кал -кал. -канд. -караул -касательно -кб -кв -кв. -кг -кг. -кек -кети -кис-кис -ккал. -ккал -кл -ко -когда -когда-либо -когда-нибудь -когда-то -кое -кое-где -кое-как -кое-какой -кое-кто -кое-что -кой -кой-какой -кой-кто -кой-то -кой-что -коли -коль -комментарий -конечно -конечно -короче -корп. -который -кроме -кругом -кряду -кстати -кто -кто-кто -кто-либо -кто-нибудь -кто-то -ку -куда -куда-либо -куда-нибудь -куда-то -куды -ку-ку -кха -кхм -кхкх -кх-кх -кц -кыш -ла -ладно -ле -леха -лёха -ли -либо -личка -лишь -лс -лучше -ль -льн -любой -ля -м -м. -мамка -матм -мальный -мальная -марш -мб -мв -мбайт -мда -м-да -мдя -меж -между -менее -мерси -мимо -мин. -мин. -мин-во -миним. -минус -миро -мк -мл. -мл -млн -мля -мм -мм -м-м -ммм -м-м-м -многие -многий -много -многое -моб -может -можно -мой -мол -моск. -муж. -мудак -мудаком -мы -мя -мяу -мяш -на -наб -наб. -наверное -навроде -навсегда -над -надо -надо -назад -наиболее -на-ка -накануне -наконец -наперекор -наподобие -например -напротив -нас -насчет -нате -нахер -нахрен -нахуй -наш -н-да -не -неа -не-а -неадек -небось -невесть -нед. -не-е -не-е-ет -не-ет -нежели -неизвестно -некий -некогда -некого -некоторые -некоторый -некто -нельзя -немногие -немногий -немногое -неструганный -нестругать -нет -нет -нет-нет -нет-нет-нет -неужели -неужто -нехай -неча -нечего -нечо -нечто -нешто -нг -ни -нибудь -нигде -ниже -никак -никакой -никогда -никой -никто -никуда -ниоткуда -нипочем -нипочём -нисколечко -нисколько -нит -ниче -ничего -ничей -ничо -ничто -ничуть -ништяк -нм -н-не -н-нет -н-ну -но -но-но -ну -нужно -ну-ка -ну-ко -ну-ну -ну-с -ну-у -ну-у -ны -ныне -нью -нэ -о -о. -об -оба -обо -ов -оглы -огребать -ого -ого-го -о-го-го -один -однажды -однако -одно -ое -оое -ооее -ой -ой-ой-ой -ок -окд -о'кей -около -окрест -окромя -о'кэй -окей -окэй -ом -он -она -они -оно -оный -о-о -о-о-о -оп -опять -особенно -остальное -остальной -остальные -от -откуда -откуда-нибудь -откуда-то -относительно -ото -отовсюду -отсюда -отсюдова -оттого -оттого-то -оттуда -оттудова -отчего -отчего-то -офф -ох -ох-хо-хо -охуеть -охуевать -очень -оочень -ооочень -ооооооооочень -п. -п/я -пам -папам -па-пам -па - пам -парарам -па-ра-рам -па - ра - рам -пао -пардон -пе -пер. -перед -передо -передрочить -пи -пидор -пидора -пидра -пидорка -пидорок -пид -пиздабол -пиздец -п*здец -пздц -пздц -п*зда -п#зда -пизда -писюн -писюны -писюный -пиф-паф -пли -плюс -плух -плюх -по -по-вашему -поверх -повсюду -по-всякому -под -поди -подле -подо -подобно -по-другому -поелику -пожалуйста -пожалуй -по-за -позади -по-иному -пока -покамест -покуда -полноте -полубомж -полундра -помимо -по-моему -по-над -по-нашему -понеже -поперек -пос. -по-своему -посему -посередине -посередь -поскольку -после -посреди -посредине -посредством -пост -постольку -по-твоему -потом -потому -потому-то -почем -почему -почему-либо -почему-то -почти -почто -пошто -поэтому -поэтому-то -пп -пп. -ппц -пр. -пр -пра -правда -превыше -пред -предо -прежде -при -прибухиващий -прибухивающий -притом -причем -причём -про -промеж -просп. -просто -против -противу -прочая -прочее -прочий -пр-т -прям -прямо -пс -пу -пускай -пусть -путем -пущай -пшел -р. -равно -равняйсь -ради -раз -разве -ред -р-н -ровно -рόдники -рп -р-раз -рссо -рссоя -рть -ру -руб. -рф -рядом -с -с. -сам -самый -самый-самый -сать -сверх -свое -свой -свыше -се -себе -себя -сей -сейчас -сек. -сем -середь -сзади -сие -сиречь -сичас -ска -скб -сквозь -сколь -сколько -сколько-нибудь -сколько-то -сколь-нибудь -сли -слишком -словно -см -см. -сначала -снова -со -собир -собира -собственно -совершенно -совсем -согласно -сообразно -соответственно -сори -сорри -сос -сосать -соска -сост -ссать -ссыкун -спасибо -спасибочки -спустя -сразу -среди -средь -сродни -ст -столь -столько -столько-то -стоп -стр. -стук -сука -сукин -супер -супротив -сы -ссы -нессы -сю -сюда -сюды -сяк -сякой -сям -т. -т/к -та -та-ак -так -также -таки -тако -таков -таковой -таковский -такой -такой-сякой -такой-то -так-так -так-таки -так-так-так -так-то -там -тама -там-то -та-та -та-та-та -тауматафакатангихангакоауауотаматеатурипукакапикимаунгахоронукупокаифенуакитанатах -тб -твой -тд_мозг -те -тел. -тем -тен -теперь -ти -тик-так -типа -то -тов. -тогда -тогда-то -того -тож -тоже -той -ток -тока -токмо -токо -только -только-то -топ -то-се -тот -то-то -тот-то -точно -тра-та-та -трах -трис -трындец -тсс -тс-с -тт. -ттт -туда -туда-сюда -туда-то -туды -тук -тук-тук -тук-тук-тук -тут -тута -тут-то -ту-ту -тц -ты -тый -тыс. -тыща -ть -тьфу -тьфу-тьфу -тьфу-тьфу-тьфу -тю -тя -у -уа -ублюдок -увы -угодно -угу -уебок -уёбок -уж -уже -ужели -ужель -уй -ул -ул. -ура -ураа -урааа -ураааа -усе -усерать -усераться -у-у -ууу -у-у-у -уф -ух -уух -ууух -фак -фаак -фааак -ф.и.о. -фи -физ -фить -фио -фон -фра -фр -фр. -фу -фуу -фууу -футб -ха -ха-ха -ха-ха-ха -хай -хвать -хе -хей -хеей -хееей -хех -хе-хе -хе-хе-хе -хер -хз -хи -хи-хи -хи-хи-хи -хлоп -хм -хны -хо -хой -хорошо -хоть -хотя -хо-хо -хо-хо-хо -хошь -хр -хрен -хрясь -хто -хуй -хухра -хухры мухры -хухры-мухры -хухры - мухры -ца -чать -цоб -цыц -ч. -чаво -чай -чао -чб -че -чево -чего -чегой-то -чего-то -чей -чей-либо -чей-нибудь -чей-то -челяб -чем -через -черт-т -че-то -чекак -чёкак -чк -чи -чик-чик -чмок -чо -чого -чрез -что -чтоб -чтобы -чтой-то -что-либо -что-нибудь -что-нить -что-о -что-о-о -что-то -что-то -что-что -чу -чур -чуть -чуть -ч-черт -чь -ша -шалом -шкура -шняга -шо -шоб -шт -шт. -што -штош -штоша -штоб -шу -ща -щас -щелк -ы -ыы -ыыы -ыыыы -ых -э -эвон -эге -эдак -эдакий -эй -эк -эка -экз. -экий -эксить -эль -энд -энный -эт -этак -этакий -это -этот -эт-то -эх -ээ -э-э -э-эх -эээ -э-э-э -я -яко -якобы -японс -янв -фев -мар -мара -апр -май -июн -июл -авг -сен -сен -окт -ноя -ной -дек -дата -создание -шиза -вновь -видимо -по-моему -казаться -показать -полностью -подписать -подписаться -подписывать -подписываться -пс -псс -пссс -регистрация -херней -щегол -кучерявый -охереть -охерить -абросимовбесплатный -фоминбесплатный -асумовбесплатный -сюдаподписаться -сюдаподписываться -бесплатныйбронь -тулапереходить -пушкинпоказать -пилотследующий -шацпрокурор -пушкинадвокат -ми -мими -мимими -ми-ми-ми -ми - ми - ми -мин -мина -сек -сека -сечь -канешн -зомбак -реально -похожий -пох -похуй -патикороча -па -пукан -пиндос -пендос -негр -линдеманный -мощщщщий -мощщщщ -порно -даг -тр -хаять -обещ -чно -дж -ст. л. -ст.л. -ст. -л. -пн -вт -ср -чт -пт -сб -вск -еклмн -еклмна -ёклмн -б -г -д -е -ё -з -ж -й -л -м -н -п -р -т -ф -х -ц -ч -ш -щ -ъ -ы -ь -э -ю -я -и́ -ы́ -э́ -ю́ -я́ -а́ -е́ -о́ -ó -у́ -' -- -! -" -# -$ -% -& -( -) -* -, -. -/ -: -; -? -@ -[ -\ -] -^ -_ -{ -| -} -~ -+ -= -• -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -a -A -b -B -c -C -d -D -e -E -f -F -g -G -h -H -i -I -j -J -k -K -l -L -m -M -n -N -№ -o -O -p -P -q -Q -r -R -s -S -t -T -u -U -v -V -w -W -x -X -y -Y -z -Z -ID -id -хх -хiх -ххi -xx -xxi -xix -мочь -идти -думать -мыслить -найти -уметь -хотеть -находиться -дуть -год -трахать -говорить -видеть -выйти -знать -стать -сказать -дать -ответить -спросить \ No newline at end of file diff --git a/old_version/model1.gz b/old_version/model1.gz deleted file mode 100644 index 8f8714c8d338363671ccf3cf47110040d69c0db7..0000000000000000000000000000000000000000 --- a/old_version/model1.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f00a30a9b37b4c8c611aca7b2fa12c08f08769974f165b75dd3a3863f9b54f0a -size 547791266 diff --git a/old_version/model2.gz b/old_version/model2.gz deleted file mode 100644 index f808f32e6a741416120016a150ce79e5f4d9fc4d..0000000000000000000000000000000000000000 --- a/old_version/model2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04a5956a39aabfc0e550614b3351752c872df92d9eea019212ec4ed36286c0a8 -size 130040640 diff --git "a/old_version/pages/1_\342\232\231\357\270\217_\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217.py" "b/old_version/pages/1_\342\232\231\357\270\217_\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217.py" deleted file mode 100644 index de520a139af964d97d40cc04d14ddcbb6aa9782b..0000000000000000000000000000000000000000 --- "a/old_version/pages/1_\342\232\231\357\270\217_\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217.py" +++ /dev/null @@ -1,78 +0,0 @@ -import streamlit as st - - -st.set_page_config(page_title='GenLexTasks', layout="wide", page_icon=':ru:') -if st.session_state.get('-LOGGED_IN_BOOL-'): - ANNOUNCES = st.expander('**ВАЖНАЯ ИНФОРМАЦИЯ**', expanded=True) - ANNOUNCES.success( - '**Уважаемые пользователи, пожалуйста, после генерации заданий перейдите на вкладку "📝Онлайн-тест" ' - 'и заполните там опросник. Таким образом Вы очень поможете в улучшении качества заданий! Спасибо!🤗**') - ANNOUNCES.warning( - '**Сейчас генератор проходит завершающую настройку и отладку, для которой необходимо большое количество ' - 'данных об уместности выбранных целевых слов и дистракторов к ним. Поэтому просим Вас отнестись с пониманием ' - 'к излишне большому количеству заданий.**') - ANNOUNCES.warning( - '**В настоящее время генератор может работать только с отдельными словами (от пробела до пробела).' - 'Использование словосочетаний в качестве целевых слов или дистракторов будет добавлено в ближайшее время.**') - ANNOUNCES.warning( - '**❗️ㅤУбедительно просим Вас дожидаться окончания генерации или загрузки и не переходить на ' - 'другие вкладки до выведения соответствующего сообщения.**') - ANNOUNCES.warning( - '**❗ㅤВ случае появления красных сообщений об ошибке, как правило, проблема решается ' - 'повторными нажатиями на нужный Вам элемент. Приносим извинения за неудобства.**') - - INSTRUCTION = st.expander(label='**ИНСТРУКЦИЯ**', expanded=True) - INSTRUCTION.markdown( - '**_I. Выберите режим работы._**' - '\n\n**_:red[СОЗДАНИЕ ЗАДАНИЙ]_**' - '\n\nПосле выбора данного режима работы появится форма, которую необходимо заполнить:' - '\n\n1. Придумайте **название** для файла с заданиями. ' - 'Вы можете оставить это поле пустым - именем по умолчанию служит текущая дата и первые 20 символов ' - 'введенного Вами текста.' - '\n\n2. Введите **текст** или выберите **текстовый файл** с исходным текстом, на основе которого Вы хотите ' - 'создать задания. ' - '\n\n3. Укажите *способ выбора целевых слов*:' - '\n\t* *:green[Автоматически]*: программа сама выберет подходящие по сложности целевые слова.' - '\n\t* *:blue[Самостоятельно]*: введите в соответствующее поле целевые слова через запятую в той форме, ' - 'в которой они встречаются в тексте. В этом случае *:orange[языковой уровень]* можно не указывать, но тогда ' - 'дистракторы будут полностью случайными и несоотнесёнными с уровнем.' - '\n4. Если Вы выбрали *:green[автоматический поиск целевых слов]*, **_:red[обязательно]_** укажите ' - '*:orange[языковой уровень]*. Данный параметр отвечает за выбор лексического минимума, использующегося при ' - 'подборе дистракторов.' - '\n5. Если Вы выбрали *:blue[самостоятельный ввод целевых слов]*, проверьте, что заполнили соответствующее ' - 'поле. ️ \n❗ **:red[Введите слова в той форме, в которой они встречаются в тексте]**.' - '\n\n6. Укажите число дистракторов - неправильных вариантов ответа. Если указано _более четырех_ ' - 'дистракторов, возможно, что в некоторых заданиях будет выведено _меньшее количество, но не менее четырех_ ' - 'вариантов. Данное обстоятельство связано с проверкой наличия дистракторов в лексических минимумах.' - '\n7. Выберите **способы вывода** готовых материалов.' - '\n8. Для начала работы нажмите на кнопку **"Запуск"**. Если все поля заполнены верно, ' - 'начнется процесс генерации заданий. Прогресс будет отображаться на экране.' - '\n9. По окончании процесса генерации заданий будет выведено **_:green[соответсвующее сообщение]_**. ' - 'Затем Вы можете перейти на вкладки **просмотра и 📥 сохранения** заданий, а так же 📝**онлайн-теста**.' - '\n\n**_:red[ЗАГРУЗКА ИЗ АРХИВА]_**' - '\n\nПосле выбора данного режима работы появится таблица, в которой перечислены названия заданий, ' - 'которые Вы сохранили, языковой уровень и дата их создания.' - ' Для загрузки определенного файла с заданиями:' - '\n1. Введите (или скопируйте из таблицы) название.' - '\n2. Укажите соответсвующий языковой уровень.' - '\n3. Нажмите на кнопку **"Загрузить"**.' - '\n4. Если все поля заполнены верно, Вы увидите сообщение о том, что **:green[задания успешно загружены]**.' - '\n\n\nДля того, чтобы свернуть/развернуть блоки **Инструкций** или **Важной информации**, ' - 'кликните по заголовку этого блока или по стрелке (ᐯ / ᐱ), располагающейся в его правом верхнем углу.') - - INSTRUCTION_ONLINE_TEST = st.expander(label='**ИНСТРУКЦИЯ ОНЛАЙН-ТЕСТ**', expanded=True) - INSTRUCTION_ONLINE_TEST.markdown( - 'Уважаемые пользователи, предлагаем Вам заполнить опросник по оценке качества созданных заданий. ' - '\n\nНиже находится анкета с заданиями в таблице.' - '\n\n- В **первом столбце** приводится ответ - слово, удаленное из оригинального текста.' - '\n\n- Отметьте во **втором столбце**, уместно ли создавать задание с данным словом.' - '\n\n- В **третьем столбце** приведены подобранные программой дистракторы.' - '\n\n- Введите в **четвертый столбец** дистракторы (целиком или букву), которые, по Вашему мнению, ' - '**:red[не уместны]**. ' - '\n\n**:green[Уместными дистракторами]** мы предлагаем считать те, которые одновременно удовлетворяют ' - 'следующим условиям в рамках языкового уровня, для которого они созданы:' - '\n\n1. не слишком очевидно являются неправильными вариантами (*варить суп/стол*);' - '\n\n2. и при этом не могут быть полноценной заменой удаленного слова (*варить суп/кашу*)' - ) -else: - st.warning('**Войдите или зарегистрируйтесь**') diff --git "a/old_version/pages/2_\360\237\221\250\342\200\215\360\237\217\253_\320\235\320\260\321\207\320\260\320\273\320\276_\321\200\320\260\320\261\320\276\321\202\321\213.py" "b/old_version/pages/2_\360\237\221\250\342\200\215\360\237\217\253_\320\235\320\260\321\207\320\260\320\273\320\276_\321\200\320\260\320\261\320\276\321\202\321\213.py" deleted file mode 100644 index b36c59ac483eb22a83d7d085f45c85d054a4284c..0000000000000000000000000000000000000000 --- "a/old_version/pages/2_\360\237\221\250\342\200\215\360\237\217\253_\320\235\320\260\321\207\320\260\320\273\320\276_\321\200\320\260\320\261\320\276\321\202\321\213.py" +++ /dev/null @@ -1,271 +0,0 @@ -import datetime -import streamlit as st -from utilities_database.user_database_utils import load_user_tasks_data -from utilities_database.user_database_utils import save_data_in_database -from utilities_database.user_database_widgets import user_save_text_table -from utilities_database.user_database_utils import load_users_particular_task -from streamlit_extras.no_default_selectbox import selectbox as custom_select_box - -# Interface -if st.session_state.get('-LOGGED_IN_BOOL-'): - st.set_page_config(page_title='GenLexTasks', layout="wide", page_icon=':ru:') - INSTRUCTION = st.expander(label='**ИНСТРУКЦИЯ**', expanded=False) - INSTRUCTION.markdown( - '**_I. Выберите режим работы._**' - '\n\n**_:red[СОЗДАНИЕ ЗАДАНИЙ]_**' - '\n\nПосле выбора данного режима работы появится форма, которую необходимо заполнить:' - '\n\n1. Придумайте **название** для файла с заданиями. ' - 'Вы можете оставить это поле пустым - именем по умолчанию служит текущая дата и первые 20 символов ' - 'введенного Вами текста.' - '\n\n2. Введите **текст** или выберите **текстовый файл** с исходным текстом, на основе которого Вы хотите ' - 'создать задания. ' - '\n\n3. Укажите *способ выбора целевых слов*:' - '\n\t* *:green[Автоматически]*: программа сама выберет подходящие по сложности целевые слова.' - '\n\t* *:blue[Самостоятельно]*: введите в соответствующее поле целевые слова через запятую в той форме, ' - 'в которой они встречаются в тексте. В этом случае *:orange[языковой уровень]* можно не указывать, но тогда ' - 'дистракторы будут полностью случайными и несоотнесёнными с уровнем.' - '\n4. Если Вы выбрали *:green[автоматический поиск целевых слов]*, **_:red[обязательно]_** укажите ' - '*:orange[языковой уровень]*. Данный параметр отвечает за выбор лексического минимума, использующегося при ' - 'подборе дистракторов.' - '\n5. Если Вы выбрали *:blue[самостоятельный ввод целевых слов]*, проверьте, что заполнили соответствующее ' - 'поле. ️ ❗ **:red[Введите слова в той форме, в которой они встречаются в тексте]**.' - '\n6. Укажите число дистракторов - неправильных вариантов ответа. Если указано _более четырех_ ' - 'дистракторов, возможно, что в некоторых заданиях будет выведено _меньшее количество, но не менее четырех_ ' - 'вариантов. Данное обстоятельство связано с проверкой наличия дистракторов в лексических минимумах.' - '\n7. Выберите **способы вывода** готовых материалов.' - '\n8. Для начала работы нажмите на кнопку **"Запуск"**. Если все поля заполнены верно, ' - 'начнется процесс генерации заданий. Прогресс будет отображаться на экране.' - '\n9. По окончании процесса генерации заданий будет выведено **_:green[соответсвующее сообщение]_**. ' - 'Затем Вы можете перейти на вкладки **просмотра и 📥 сохранения** заданий, а так же 📝**онлайн-теста**.' - '\n\n**_:red[ЗАГРУЗКА ИЗ АРХИВА]_**' - '\n\nПосле выбора данного режима работы появится таблица, в которой перечислены названия заданий, ' - 'которые Вы сохранили, языковой уровень и дата их создания.' - ' Для загрузки определенного файла с заданиями:' - '\n1. Введите (или скопируйте из таблицы) название.' - '\n2. Укажите соответсвующий языковой уровень.' - '\n3. Нажмите на кнопку **"Загрузить"**.' - '\n4. Если все поля заполнены верно, Вы увидите сообщение о том, что **:green[задания успешно загружены]**.' - '\n\n\nДля того, чтобы свернуть/развернуть блоки **Инструкций** или **Важной информации**, ' - 'кликните по заголовку этого блока или по стрелке (ᐯ / ᐱ), располагающейся в его правом верхнем углу.') - ANNOUNCES = st.expander('**ВАЖНАЯ ИНФОРМАЦИЯ**', expanded=False) - ANNOUNCES.success( - '**Уважаемые пользователи, пожалуйста, после генерации заданий перейдите на вкладку "📝Онлайн-тест" ' - 'и заполните там опросник. Таким образом Вы очень поможете в улучшении качества заданий! Спасибо!🤗**') - ANNOUNCES.warning( - '**Сейчас генератор проходит завершающую настройку и отладку, для которой необходимо большое количество ' - 'данных об уместности выбранных целевых слов и дистракторов к ним. Поэтому просим Вас отнестись с пониманием ' - 'к излишне большому количеству заданий.**') - ANNOUNCES.warning( - '**❗️ㅤУбедительно просим Вас дожидаться окончания генерации или загрузки и не переходить на ' - 'другие вкладки до выведения соответствующего сообщения.**') - ANNOUNCES.warning( - '**❗ㅤВ случае появления красных сообщений об ошибке, как правило, проблема решается ' - 'повторными нажатиями на нужный Вам элемент. Приносим извинения за неудобства.**') - WHAT_TO_DO = st.radio( - label='**Выберите режим работы**', - options=[ - 'Создать новые задания', - 'Загрузить задания из моего архива'], - key='-WHAT_TO_DO_MODE-', - horizontal=True) - if WHAT_TO_DO == 'Загрузить задания из моего архива': - LOAD_FORM = st.form('LOAD_FORM') - UPLOAD_CLOUD_USER_NAME = st.session_state.get('-USER_NAME-') - loaded_data = load_user_tasks_data( - user_task_database=user_save_text_table, - save_type='download', - creator_name=UPLOAD_CLOUD_USER_NAME) - LOAD_FORM.table(loaded_data) - COL1, COL2 = LOAD_FORM.columns([1, 1]) - UPLOAD_CLOUD_FILE_NAME = COL1.text_input('Введите название заданий', placeholder='Жду название') - with COL2: - UPLOAD_CLOUD_CEFR_LEVEL = custom_select_box( - 'Выберите языковой уровень', - ['A1', 'A2', 'B1', 'B2', 'Без уровня'], - no_selection_label='-Выберите языковой уровень-') - st.session_state['-UPLOAD_CLOUD_CEFR_LEVEL-'] = UPLOAD_CLOUD_CEFR_LEVEL - LOAD_BUTTON = LOAD_FORM.form_submit_button('Загрузить') - if LOAD_BUTTON: - if UPLOAD_CLOUD_USER_NAME in (None, '') or UPLOAD_CLOUD_FILE_NAME in (None, ''): - st.error('Вы не заполнили все поля') - st.stop() - __TASK_DATA__ = load_users_particular_task( - user_task_database=user_save_text_table, - load_mode='download', - creator_name=UPLOAD_CLOUD_USER_NAME, - save_name=UPLOAD_CLOUD_FILE_NAME, - cefr_level=UPLOAD_CLOUD_CEFR_LEVEL) - # In order to bypass further - st.session_state['UPLOAD_CLOUD_USER_NAME'] = UPLOAD_CLOUD_USER_NAME - st.session_state['-UPLOAD_CLOUD_FILE_NAME-'] = UPLOAD_CLOUD_FILE_NAME - st.session_state['RESULT'] = __TASK_DATA__ - st.session_state['-LOADED_CEFR_LEVEL-'] = UPLOAD_CLOUD_CEFR_LEVEL - st.session_state['-DISPLAY_READY-'] = True - st.session_state['-DISPLAY_VERSION-'] = True - st.session_state['-DOWNLOAD_VERSION-'] = True - st.session_state['-ONLINE_TEST_READY-'] = True - st.success('Данные загружены. Можете переходить на следующие страницы.') - else: - # Upload text form - FORM = st.form('CREATE_FORM') - USER__SAVE_IN_CLOUD_FILE_NAME = FORM.text_input( - '**Введите название**', - placeholder='Жду название', - key='-USER__SAVE_IN_CLOUD_FILE_NAME-') - UPLOAD_TEXT = FORM.text_area( - label='**Вставьте текст:**', - value='', - placeholder='Жду текст', - key='-USER_INPUT_TEXT-') - UPLOAD_FILE = FORM.file_uploader( - label='**Или выберите файл:**', - type='txt', - key='-USER_INPUT_FILE-') - TW_MODE_COL, DISTRACTOR_MODEL_COL = FORM.columns(2) - TARGET_WORDS_MODE = TW_MODE_COL.radio( - label='**Как выбирать целевые слова?**', - options=['Автоматически', 'Самостоятельно'], - key='-TARGET_WORDS_MODE-', horizontal=True) - DISTRACTOR_MODEL = DISTRACTOR_MODEL_COL.radio( - label='**Модель для выбора неправильных вариантов**', - options=['Модель-1', 'Модель-2', 'Модель-3'], - key='-DISTRACTOR_MODEL_MODE-', horizontal=True) - CEFR_NUM_DISTRACTORS_COL, UTW_COL = FORM.columns([2, 2]) - with CEFR_NUM_DISTRACTORS_COL: - CEFR_TEXT_LEVEL = custom_select_box( - 'Укажите уровень по CEFR:', - ['Без уровня', 'A1', 'A2', 'B1', 'B2'], - no_selection_label='-Выберите языковой уровень-') - st.session_state['-CEFR_TEXT_LEVEL-'] = CEFR_TEXT_LEVEL - NUMBER_DISTRACTORS = CEFR_NUM_DISTRACTORS_COL.number_input( - label='**Выберите количество дистракторов в задании:**', - min_value=1, - max_value=9, - value=2, - key='-NUM_DISTRACTORS-') - TARGET_WORDS = UTW_COL.text_area( - label='**Если "Самостоятельно", введите целевые слова:**', - value='', - height=120, - placeholder='Через запятую и пробел', - key='-INPUT_TARGET_WORDS-') - FORM.markdown('**Выберите формат(-ы) вывода:**') - col1, col2, col3 = FORM.columns(3) - SAVE_IN_CLOUD = col1.checkbox( - label='**Сохранить в облаке**', - value=False, - key='-SAVE_IN_CLOUD-') - DOWNLOAD_VERSION = col2.checkbox( - label='**Скачать**', - value=False, - key='-DOWNLOAD_VERSION-') - ONLINE_TEST_VERSION = col3.checkbox( - label='**Онлайн тест**', - value=True, - key='-ONLINE_TEST_VERSION-') - - START_COL, RERUN_COL, EXIT_COL = FORM.columns([1, 1, 1]) - START_BUTTON = START_COL.form_submit_button( - label='**Запуск**') - RERUN_BUTTON = RERUN_COL.form_submit_button( - label='**Перезагрузка**') - EXIT_BUTTON = EXIT_COL.form_submit_button( - label='**Выход**') - - if START_BUTTON: - LOGS = st.empty() - LOGS.success('**Готовые задания или онлайн-тест появятся на отдельных страницах**') - - # Initiate interface structure - PROGRESS_BAR = st.progress(0) - LOGS_D = st.empty() - PROGRESS_BAR_S = st.progress(0) - - # Start generation process. Everything happens inside main_workflow func - if DISTRACTOR_MODEL == 'Модель-3': - from utilities_language_bert.rus_main_workflow_bert import main_workflow_bert - __TASK_DATA__ = main_workflow_bert( - file=UPLOAD_FILE, - text=UPLOAD_TEXT, - logs=LOGS, - logs_d=LOGS_D, - progress=PROGRESS_BAR, - progress_s=PROGRESS_BAR_S, - level=CEFR_TEXT_LEVEL, - tw_mode_automatic_mode=TARGET_WORDS_MODE, - target_words=TARGET_WORDS, - num_distractors=NUMBER_DISTRACTORS, - save_name=USER__SAVE_IN_CLOUD_FILE_NAME) - else: - PROGRESS_BAR_D = st.progress(0) - from utilities_language_w2v.rus_main_workflow_w2v import main_workflow_w2v - __TASK_DATA__ = main_workflow_w2v( - file=UPLOAD_FILE, - text=UPLOAD_TEXT, - logs=LOGS, - logs_d=LOGS_D, - progress=PROGRESS_BAR, - progress_d=PROGRESS_BAR_D, - progress_s=PROGRESS_BAR_S, - level=CEFR_TEXT_LEVEL, - tw_mode_automatic_mode=TARGET_WORDS_MODE, - target_words=TARGET_WORDS, - num_distractors=NUMBER_DISTRACTORS, - save_name=USER__SAVE_IN_CLOUD_FILE_NAME, - model_name=DISTRACTOR_MODEL) - - # In order to bypass further - USER__SAVE_IN_CLOUD_FILE_NAME = USER__SAVE_IN_CLOUD_FILE_NAME if USER__SAVE_IN_CLOUD_FILE_NAME != '' \ - else __TASK_DATA__['name'] - st.session_state['RESULT'] = __TASK_DATA__ - st.session_state['-DISPLAY_READY-'] = True - st.session_state['-DISPLAY_VERSION-'] = True - st.session_state['-ONLINE_TEST_READY-'] = True - st.session_state['-LOADED_CEFR_LEVEL-'] = CEFR_TEXT_LEVEL - st.session_state['-UPLOAD_CLOUD_FILE_NAME-'] = USER__SAVE_IN_CLOUD_FILE_NAME - - PROGRESS_BAR.progress(100) - PROGRESS_BAR_S.progress(100) - if SAVE_IN_CLOUD: - save_data_in_database( - user_task_database=user_save_text_table, - save_type='download', - save_name=USER__SAVE_IN_CLOUD_FILE_NAME, - cefr_level=CEFR_TEXT_LEVEL, - time_stamp=str(datetime.datetime.now())[:-7], - creator_name=st.session_state.get('-USER_NAME-'), - generated_result=__TASK_DATA__, - distractor_model=DISTRACTOR_MODEL) - LOGS.success('**Все готово! Сохраняем задания в облако! Чтобы скачать задания перейдите в ' - 'соответсвующую вкладку**') - else: - LOGS.success('**Все готово! Готовые задания и/или онлайн-тест доступны в соответствующих вкладках.**') - - # if TARGET_WORDS_MODE == 'Самостоятельно': - # st.error('По разным причинам не смогли не смогли придумать задания со словами: ' + - # ', '.join(__TASK_DATA__['BAD_USER_TARGET_WORDS'])) - PROGRESS_BAR = '' - PROGRESS_BAR_S = '' - LOGS_D = '' - - if EXIT_BUTTON: - for key in st.session_state: - del st.session_state[key] - st.error('Я устал. Я ухожу') - st.session_state["START_GENERATION"] = False - st.stop() - if RERUN_BUTTON: - for key in st.session_state: - del st.session_state[key] - st.error('Что-то пошло не так?! Перезагружаюсь!') - st.session_state["START_GENERATION"] = False - st.stop() - st.experimental_rerun() - - # LABEL - st.markdown('*Автор-разработчик: А.В.Белый, кафедра математической лингвистики, филологический факультет СПбГУ,' - ' 3 курс, бакалавриат, "Прикладная, компьютерная и математическая лингвистика (английский язык)"*' - '\n\n*Научный руководитель: канд. филол. наук, доц. О.А.Митрофанова*') - st.markdown('*E-mail: st087202@student.spbu.ru*') -else: - st.warning('**Войдите или зарегистрируйтесь**') diff --git "a/old_version/pages/3_\360\237\223\245_\320\241\320\272\320\260\321\207\320\260\321\202\321\214.py" "b/old_version/pages/3_\360\237\223\245_\320\241\320\272\320\260\321\207\320\260\321\202\321\214.py" deleted file mode 100644 index 303ce14fbb29a85984361c8c6437544d5ea2c87c..0000000000000000000000000000000000000000 --- "a/old_version/pages/3_\360\237\223\245_\320\241\320\272\320\260\321\207\320\260\321\202\321\214.py" +++ /dev/null @@ -1,39 +0,0 @@ -import streamlit as st -from utilities_ui.custom_download_button import download_button as d_button - -st.set_page_config(page_title='Скачать', layout="wide", page_icon=':ru:') -if st.session_state.get('-LOGGED_IN_BOOL-') and (st.session_state.get('-DISPLAY_READY-') - or st.session_state.get('-DOWNLOAD_VERSION-')): - result = st.session_state.get('RESULT') - if result is None: - st.error('Не можем ничего загрузить! Вы ничего не просили!') - st.stop() - # Download buttons - if st.session_state.get('-DOWNLOAD_VERSION-'): - invite, tasks_col, tasks_with_answers_col, full_coll, rest = st.columns([1, 1, 2, 3, 1]) - invite.write('Скачать:') - with tasks_col: - d_button( - label='Задания', - data=result['STUDENT_OUT'], - file_name=f'{result["name"]}_tasks.txt') - with tasks_with_answers_col: - d_button( - label='Задания+Ключи', - data=result['TEACHER_OUT'], - file_name=f'{result["name"]}_tasks_and_keys.txt') - with full_coll: - d_button( - label='Исходник+Задания+Ключи', - data=result['TOTAL_OUT'], - file_name=f'{result["name"]}_all.txt') - - if st.session_state.get('-DISPLAY_VERSION-'): - display_tasks_with_answers, display_tasks_only = st.tabs(['Задания+Ответы', 'Задания']) - display_tasks_with_answers.write(str(result['TEACHER_OUT'].replace('_', '\_'))) - display_tasks_only.write(str(result['STUDENT_OUT'].replace('_', '\_'))) - -elif st.session_state.get('-LOGGED_IN_BOOL-'): - st.warning('**Сначала введите текст**') -else: - st.warning('**Войдите или зарегистрируйтесь**') diff --git "a/old_version/pages/4_\360\237\223\235_\320\236\320\275\320\273\320\260\320\271\320\275-\321\202\320\265\321\201\321\202 (\321\215\320\272\321\201\320\277\320\265\321\200\320\270\320\274\320\265\320\275\321\202).py" "b/old_version/pages/4_\360\237\223\235_\320\236\320\275\320\273\320\260\320\271\320\275-\321\202\320\265\321\201\321\202 (\321\215\320\272\321\201\320\277\320\265\321\200\320\270\320\274\320\265\320\275\321\202).py" deleted file mode 100644 index 7bda8111583b56729e6e282006e0e1bc86332f53..0000000000000000000000000000000000000000 --- "a/old_version/pages/4_\360\237\223\235_\320\236\320\275\320\273\320\260\320\271\320\275-\321\202\320\265\321\201\321\202 (\321\215\320\272\321\201\320\277\320\265\321\200\320\270\320\274\320\265\320\275\321\202).py" +++ /dev/null @@ -1,67 +0,0 @@ -import datetime -import pandas as pd -import streamlit as st -from utilities_database.user_database_utils import save_data_in_database -from utilities_database.user_database_widgets import user_save_text_table - -st.set_page_config(page_title='Онлайн-тест', layout="wide", page_icon=':ru:') -if st.session_state.get('-ONLINE_TEST_READY-') and st.session_state.get('-LOGGED_IN_BOOL-'): - INSTRUCTION = st.expander(label='**ИНСТРУКЦИЯ**', expanded=True) - INSTRUCTION.markdown( - 'Уважаемые пользователи, предлагаем Вам заполнить опросник по оценке качества созданных заданий. ' - '\n\nНиже находится анкета с заданиями в таблице.' - '\n\n- В **первом столбце** приводится ответ - слово, удаленное из оригинального текста.' - '\n\n- Отметьте во **втором столбце**, уместно ли создавать задание с данным словом.' - '\n\n- В **третьем столбце** приведены подобранные программой дистракторы.' - '\n\n- Введите в **четвертый столбец** дистракторы (целиком или букву), которые, по Вашему мнению, ' - '**:red[не уместны]**. ' - '\n\n**:green[Уместными дистракторами]** мы предлагаем считать те, которые одновременно удовлетворяют ' - 'следующим условиям в рамках языкового уровня, для которого они созданы:' - '\n\n1. не слишком очевидно являются неправильными вариантами (*варить суп/стол*);' - '\n\n2. и при этом не могут быть полноценной заменой удаленного слова (*варить суп/кашу*)' - ) - result = st.session_state.get('RESULT') - if result is None: - st.error('Не можем ничего загрузить! Вы ничего не просили!') - st.stop() - tasks = result['TASKS_ONLY'] - answers = result['KEYS_ONLY_RAW'] - len_answers = len(answers) - st.header('Онлайн-тест') - ONLINE_TEST = st.form('Онлайн тест') - ONLINE_TEST.write(result['TEXT_WITH_GAPS'].replace('_', '\_')) - BAD_DISTRACTORS_AND_ANSWERS_temp = ONLINE_TEST.experimental_data_editor( - pd.DataFrame([{"Задание №": i+1, - "Ответ": [answers[i][1]], - "Задание уместно": False, - "Дистракторы": tasks[i][1], - "Неуместные дистракторы": ''} - for i in range(len(tasks))]), - num_rows="fixed", - height=45*len_answers, - use_container_width=True) - COMMENTS = ONLINE_TEST.text_input(label='**Прокомментировать**', - placeholder='Напишите комментарий') - SUBMIT = ONLINE_TEST.form_submit_button('READY') - if SUBMIT: - points = test_mark = 'Teacher' - appropriate_tasks = BAD_DISTRACTORS_AND_ANSWERS_temp["Задание уместно"].values.tolist() - inappropriate_distractors = BAD_DISTRACTORS_AND_ANSWERS_temp["Неуместные дистракторы"].values.tolist() - RETURN_TEST_DATA = [{'ANSWER': answers[i], - 'APPROPRIATE_TASK': appropriate_tasks[i], - 'INAPPROPRIATE_DISTRACTORS': inappropriate_distractors[i]} for i in range(len_answers)] - save_data_in_database(user_task_database=user_save_text_table, - save_type='online_test', - save_name=st.session_state['-UPLOAD_CLOUD_FILE_NAME-'], - cefr_level=st.session_state['-LOADED_CEFR_LEVEL-'], - time_stamp=str(datetime.datetime.now())[:-7], - creator_name=st.session_state.get('-USER_NAME-'), - test_taker_name=st.session_state.get('-USER_NAME-'), - test_taker_answers=RETURN_TEST_DATA, - generated_result=result, - test_taker_result={'Баллов': points, 'Всего': len_answers, 'Оценка': test_mark}, - comments=COMMENTS) -elif st.session_state.get('-LOGGED_IN_BOOL-'): - st.warning('**Не можем ничего загрузить! Вы ничего не просили!**') -else: - st.warning('**Войдите или зарегистрируйтесь**') diff --git a/old_version/requirements.txt b/old_version/requirements.txt deleted file mode 100644 index 50ce6d7ec8bb5a6e47208b6896defac75a2fe5f7..0000000000000000000000000000000000000000 --- a/old_version/requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -deta>=1.1.0 -nltk>=3.8.1 -spacy>=3.7.2 -torch>=2.1.0 -gensim>=4.3.2 -pandas>=2.2.0 -requests>=2.31.0 -pymorphy2>=0.9.1 -trycourier>=5.0.0 -streamlit==1.30.0 -argon2-cffi>=21.3.0 -cryptography>=42.0.3 -transformers>=4.37.2 -streamlit-extras>=0.4.0 -ru_core_news_lg @ https://github.com/explosion/spacy-models/releases/download/ru_core_news_lg-3.7.0/ru_core_news_lg-3.7.0-py3-none-any.whl diff --git a/old_version/utilities/__pycache__/utils.cpython-310.pyc b/old_version/utilities/__pycache__/utils.cpython-310.pyc deleted file mode 100644 index b19fc2913c5ead0ab532850ae3ac27e21d84a8f5..0000000000000000000000000000000000000000 Binary files a/old_version/utilities/__pycache__/utils.cpython-310.pyc and /dev/null differ diff --git a/old_version/utilities/utils.py b/old_version/utilities/utils.py deleted file mode 100644 index 58fb296ef9f4e5bc343cf6f81e52784fc89cf375..0000000000000000000000000000000000000000 --- a/old_version/utilities/utils.py +++ /dev/null @@ -1,29 +0,0 @@ -import uuid - - -def points_to_mark(good, total): - percents = good / total * 100 - if percents < 50: - return 2 - elif percents < 66: - return 3 - elif percents < 90: - return 4 - else: - return 5 - - -def answer_letter(answer, variants): - answer = answer.lower() - for var in variants: - letter, var = var.split(') ') - if var == answer: - return letter + ') ' + answer - - -def is_valid_uuid(value): - try: - uuid.UUID(str(value)) - return True - except ValueError: - return False diff --git a/old_version/utilities_cookies/__pycache__/cookie_manager.cpython-310.pyc b/old_version/utilities_cookies/__pycache__/cookie_manager.cpython-310.pyc deleted file mode 100644 index 95e7bfa0d239001fa2a62ce34b7b2e810a0d3a7c..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_cookies/__pycache__/cookie_manager.cpython-310.pyc and /dev/null differ diff --git a/old_version/utilities_cookies/__pycache__/encrypted_cookie_manager.cpython-310.pyc b/old_version/utilities_cookies/__pycache__/encrypted_cookie_manager.cpython-310.pyc deleted file mode 100644 index 842a874ac1eb3764183e0c32b8bd465b11e3676a..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_cookies/__pycache__/encrypted_cookie_manager.cpython-310.pyc and /dev/null differ diff --git a/old_version/utilities_cookies/build/asset-manifest.json b/old_version/utilities_cookies/build/asset-manifest.json deleted file mode 100644 index 8ee921ec81b0c7dc6175ceb3d13ed55547623c65..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/asset-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": { - "main.js": "./static/js/main.666d1b34.chunk.js", - "main.js.map": "./static/js/main.666d1b34.chunk.js.map", - "runtime-main.js": "./static/js/runtime-main.9b51049f.js", - "runtime-main.js.map": "./static/js/runtime-main.9b51049f.js.map", - "static/js/2.422ca0c4.chunk.js": "./static/js/2.422ca0c4.chunk.js", - "static/js/2.422ca0c4.chunk.js.map": "./static/js/2.422ca0c4.chunk.js.map", - "index.html": "./index.html", - "static/js/2.422ca0c4.chunk.js.LICENSE.txt": "./static/js/2.422ca0c4.chunk.js.LICENSE.txt" - }, - "entrypoints": [ - "static/js/runtime-main.9b51049f.js", - "static/js/2.422ca0c4.chunk.js", - "static/js/main.666d1b34.chunk.js" - ] -} \ No newline at end of file diff --git a/old_version/utilities_cookies/build/index.html b/old_version/utilities_cookies/build/index.html deleted file mode 100644 index 39c8dcfa6c4939d89305768faa02d92bf85bb99d..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/index.html +++ /dev/null @@ -1 +0,0 @@ -Cookies Manager \ No newline at end of file diff --git a/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js b/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js deleted file mode 100644 index 1fd17f11d35fc387466e4141d5ff5ba07823b5ae..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 2.422ca0c4.chunk.js.LICENSE.txt */ -(this.webpackJsonpstreamlit_cookie_manager=this.webpackJsonpstreamlit_cookie_manager||[]).push([[2],[function(t,e,n){t.exports=n(10)},function(t,e,n){"use strict";t.exports=n(8)},function(t,e,n){"use strict";n.d(e,"a",(function(){return xf}));var r={};n.r(r),n.d(r,"memcpy",(function(){return Yt})),n.d(r,"joinUint8Arrays",(function(){return Wt})),n.d(r,"toArrayBufferView",(function(){return Ht})),n.d(r,"toInt8Array",(function(){return $t})),n.d(r,"toInt16Array",(function(){return Kt})),n.d(r,"toInt32Array",(function(){return Gt})),n.d(r,"toBigInt64Array",(function(){return qt})),n.d(r,"toUint8Array",(function(){return Jt})),n.d(r,"toUint16Array",(function(){return Zt})),n.d(r,"toUint32Array",(function(){return Qt})),n.d(r,"toBigUint64Array",(function(){return Xt})),n.d(r,"toFloat32Array",(function(){return te})),n.d(r,"toFloat64Array",(function(){return ee})),n.d(r,"toUint8ClampedArray",(function(){return ne})),n.d(r,"toArrayBufferViewIterator",(function(){return ie})),n.d(r,"toInt8ArrayIterator",(function(){return ae})),n.d(r,"toInt16ArrayIterator",(function(){return oe})),n.d(r,"toInt32ArrayIterator",(function(){return ue})),n.d(r,"toUint8ArrayIterator",(function(){return se})),n.d(r,"toUint16ArrayIterator",(function(){return ce})),n.d(r,"toUint32ArrayIterator",(function(){return fe})),n.d(r,"toFloat32ArrayIterator",(function(){return le})),n.d(r,"toFloat64ArrayIterator",(function(){return he})),n.d(r,"toUint8ClampedArrayIterator",(function(){return ye})),n.d(r,"toArrayBufferViewAsyncIterator",(function(){return pe})),n.d(r,"toInt8ArrayAsyncIterator",(function(){return ve})),n.d(r,"toInt16ArrayAsyncIterator",(function(){return be})),n.d(r,"toInt32ArrayAsyncIterator",(function(){return ge})),n.d(r,"toUint8ArrayAsyncIterator",(function(){return me})),n.d(r,"toUint16ArrayAsyncIterator",(function(){return ke})),n.d(r,"toUint32ArrayAsyncIterator",(function(){return we})),n.d(r,"toFloat32ArrayAsyncIterator",(function(){return _e})),n.d(r,"toFloat64ArrayAsyncIterator",(function(){return Ie})),n.d(r,"toUint8ClampedArrayAsyncIterator",(function(){return Se})),n.d(r,"rebaseValueOffsets",(function(){return xe})),n.d(r,"compareArrayLike",(function(){return Ae}));var i={};n.r(i),n.d(i,"getBool",(function(){return un})),n.d(i,"getBit",(function(){return sn})),n.d(i,"setBool",(function(){return cn})),n.d(i,"truncateBitmap",(function(){return fn})),n.d(i,"packBools",(function(){return ln})),n.d(i,"iterateBits",(function(){return hn})),n.d(i,"popcnt_bit_range",(function(){return yn})),n.d(i,"popcnt_array",(function(){return pn})),n.d(i,"popcnt_uint32",(function(){return dn}));var a={};n.r(a),n.d(a,"uint16ToFloat64",(function(){return Nr})),n.d(a,"float64ToUint16",(function(){return Cr}));var o={};n.r(o),n.d(o,"isArrowBigNumSymbol",(function(){return Hr})),n.d(o,"bignumToString",(function(){return Yr})),n.d(o,"bignumToBigInt",(function(){return Wr})),n.d(o,"BN",(function(){return Xr}));var u={};n.r(u),n.d(u,"clampIndex",(function(){return Ci})),n.d(u,"clampRange",(function(){return Vi})),n.d(u,"createElementComparator",(function(){return Pi}));var s={};n.r(s),n.d(s,"BaseInt64",(function(){return ao})),n.d(s,"Uint64",(function(){return oo})),n.d(s,"Int64",(function(){return uo})),n.d(s,"Int128",(function(){return so}));n(3);var c=n(1),f=n.n(c),l=new WeakMap,h=new WeakMap;function y(t){var e=l.get(t);return console.assert(null!=e,"'this' is expected an Event object, but got",t),e}function p(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"===typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!==typeof console&&"function"===typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function d(t,e){l.set(this,{eventTarget:t,event:e,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:e.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});for(var n=Object.keys(e),r=0;r0){for(var t=new Array(arguments.length),e=0;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){u=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function D(t,e,n,r,i,a,o){try{var u=t[a](o),s=u.value}catch(c){return void n(c)}u.done?e(s):Promise.resolve(s).then(r,i)}function L(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var a=t.apply(e,n);function o(t){D(a,r,i,o,u,"next",t)}function u(t){D(a,r,i,o,u,"throw",t)}o(void 0)}))}}function F(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function M(t,e){for(var n=0;n>>0)+4294967296*this.high},W.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},W.Long.ZERO=new W.Long(0,0),W.Builder=function(t){if(t)e=t;else var e=1024;this.bb=W.ByteBuffer.allocate(e),this.space=e,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},W.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},W.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},W.Builder.prototype.dataBuffer=function(){return this.bb},W.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},W.Builder.prototype.prep=function(t,e){t>this.minalign&&(this.minalign=t);for(var n=1+~(this.bb.capacity()-this.space+e)&t-1;this.space=0&&0==this.vtable[e];e--);for(var n=e+1;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);var r=(n+2)*W.SIZEOF_SHORT;this.addInt16(r);var i=0,a=this.space;t:for(e=0;e=0;r--)this.writeInt8(n.charCodeAt(r))}this.prep(this.minalign,W.SIZEOF_INT),this.addOffset(t),this.bb.setPosition(this.space)},W.Builder.prototype.requiredField=function(t,e){var n=this.bb.capacity()-t,r=n-this.bb.readInt32(n);if(!(0!=this.bb.readInt16(r+e)))throw new Error("FlatBuffers: field "+e+" must be set")},W.Builder.prototype.startVector=function(t,e,n){this.notNested(),this.vector_num_elems=e,this.prep(W.SIZEOF_INT,t*e),this.prep(n,t*e)},W.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},W.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var e=t;else{e=[];for(var n=0;n=56320)r=i;else r=(i<<10)+t.charCodeAt(n++)+-56613888;r<128?e.push(r):(r<2048?e.push(r>>6&31|192):(r<65536?e.push(r>>12&15|224):e.push(r>>18&7|240,r>>12&63|128),e.push(r>>6&63|128)),e.push(63&r|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);n=0;for(var a=this.space,o=this.bb.bytes();n>24},W.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},W.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},W.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},W.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},W.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},W.ByteBuffer.prototype.readInt64=function(t){return new W.Long(this.readInt32(t),this.readInt32(t+4))},W.ByteBuffer.prototype.readUint64=function(t){return new W.Long(this.readUint32(t),this.readUint32(t+4))},W.ByteBuffer.prototype.readFloat32=function(t){return W.int32[0]=this.readInt32(t),W.float32[0]},W.ByteBuffer.prototype.readFloat64=function(t){return W.int32[W.isLittleEndian?0:1]=this.readInt32(t),W.int32[W.isLittleEndian?1:0]=this.readInt32(t+4),W.float64[0]},W.ByteBuffer.prototype.writeInt8=function(t,e){this.bytes_[t]=e},W.ByteBuffer.prototype.writeUint8=function(t,e){this.bytes_[t]=e},W.ByteBuffer.prototype.writeInt16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},W.ByteBuffer.prototype.writeUint16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},W.ByteBuffer.prototype.writeInt32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},W.ByteBuffer.prototype.writeUint32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},W.ByteBuffer.prototype.writeInt64=function(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)},W.ByteBuffer.prototype.writeUint64=function(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)},W.ByteBuffer.prototype.writeFloat32=function(t,e){W.float32[0]=e,this.writeInt32(t,W.int32[0])},W.ByteBuffer.prototype.writeFloat64=function(t,e){W.float64[0]=e,this.writeInt32(t,W.int32[W.isLittleEndian?0:1]),this.writeInt32(t+4,W.int32[W.isLittleEndian?1:0])},W.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length>10),56320+(1023&a)))}return r},W.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},W.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+W.SIZEOF_INT},W.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},W.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=W.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: file identifier must be length "+W.FILE_IDENTIFIER_LENGTH);for(var e=0;e>6*n)+r];n>0;){var a=e>>6*(n-1);i.push(128|63&a),n-=1}return i}}Z.prototype={decode:function(t,e){var n;n="object"===typeof t&&t instanceof ArrayBuffer?new Uint8Array(t):"object"===typeof t&&"buffer"in t&&t.buffer instanceof ArrayBuffer?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(0),e=$(e),this._streaming||(this._decoder=new X({fatal:this._fatal}),this._BOMseen=!1),this._streaming=Boolean(e.stream);for(var r,i=new K(n),a=[];!i.endOfStream()&&(r=this._decoder.handler(i,i.read()))!==G;)null!==r&&(Array.isArray(r)?a.push.apply(a,r):a.push(r));if(!this._streaming){do{if((r=this._decoder.handler(i,i.read()))===G)break;null!==r&&(Array.isArray(r)?a.push.apply(a,r):a.push(r))}while(!i.endOfStream());this._decoder=null}return a.length&&(-1===["utf-8"].indexOf(this.encoding)||this._ignoreBOM||this._BOMseen||(65279===a[0]?(this._BOMseen=!0,a.shift()):this._BOMseen=!0)),function(t){for(var e="",n=0;n>10),56320+(1023&r)))}return e}(a)}},Q.prototype={encode:function(t,e){t=t?String(t):"",e=$(e),this._streaming||(this._encoder=new tt(this._options)),this._streaming=Boolean(e.stream);for(var n,r=[],i=new K(function(t){for(var e=String(t),n=e.length,r=0,i=[];r57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(r===n-1)i.push(65533);else{var o=t.charCodeAt(r+1);if(56320<=o&&o<=57343){var u=1023&a,s=1023&o;i.push(65536+(u<<10)+s),r+=1}else i.push(65533)}r+=1}return i}(t));!i.endOfStream()&&(n=this._encoder.handler(i,i.read()))!==G;)Array.isArray(n)?r.push.apply(r,n):r.push(n);if(!this._streaming){for(;(n=this._encoder.handler(i,i.read()))!==G;)Array.isArray(n)?r.push.apply(r,n):r.push(n);this._encoder=null}return new Uint8Array(r)}};var et="function"===typeof Buffer?Buffer:null,nt="function"===typeof TextDecoder&&"function"===typeof TextEncoder,rt=function(t){if(nt||!et){var e=new t("utf-8");return function(t){return e.decode(t)}}return function(t){var e=Jt(t),n=e.buffer,r=e.byteOffset,i=e.length;return et.from(n,r,i).toString()}}("undefined"!==typeof TextDecoder?TextDecoder:Z),it=function(t){if(nt||!et){var e=new t;return function(t){return e.encode(t)}}return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return Jt(et.from(t,"utf8"))}}("undefined"!==typeof TextEncoder?TextEncoder:Q);function at(t,e){return at=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},at(t,e)}function ot(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(t,"prototype",{value:Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),writable:!1}),e&&at(t,e)}function ut(t){return ut=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},ut(t)}function st(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}var ct=n(4),ft=n.n(ct);function lt(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ht(t,e){if(e&&("object"===ft()(e)||"function"===typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return lt(t)}function yt(t){var e=st();return function(){var n,r=ut(t);if(e){var i=ut(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ht(this,n)}}var pt=Object.freeze({done:!0,value:void 0}),dt=function(){function t(e){F(this,t),this._json=e}return E(t,[{key:"schema",get:function(){return this._json.schema}},{key:"batches",get:function(){return this._json.batches||[]}},{key:"dictionaries",get:function(){return this._json.dictionaries||[]}}]),t}(),vt=function(){function t(){F(this,t)}return E(t,[{key:"tee",value:function(){return this._getDOMStream().tee()}},{key:"pipe",value:function(t,e){return this._getNodeStream().pipe(t,e)}},{key:"pipeTo",value:function(t,e){return this._getDOMStream().pipeTo(t,e)}},{key:"pipeThrough",value:function(t,e){return this._getDOMStream().pipeThrough(t,e)}},{key:"_getDOMStream",value:function(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}},{key:"_getNodeStream",value:function(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}}]),t}(),bt=function(t,e){ot(r,t);var n=yt(r);function r(){var t;return F(this,r),(t=n.call(this))._values=[],t.resolvers=[],t._closedPromise=new Promise((function(e){return t._closedPromiseResolve=e})),t}return E(r,[{key:"closed",get:function(){return this._closedPromise}},{key:"cancel",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.return(e);case 2:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"write",value:function(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}},{key:"abort",value:function(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}},{key:"close",value:function(){if(this._closedPromiseResolve){for(var t=this.resolvers;t.length>0;)t.shift().resolve(pt);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}},{key:e,value:function(){return this}},{key:"toDOMStream",value:function(t){return Be.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}},{key:"toNodeStream",value:function(t){return Be.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}},{key:"throw",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.abort(e);case 2:return t.abrupt("return",pt);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"return",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.close();case 2:return t.abrupt("return",pt);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"read",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.next(e,"read");case 2:return t.abrupt("return",t.sent.value);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"peek",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.next(e,"peek");case 2:return t.abrupt("return",t.sent.value);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"next",value:function(){var t=this;return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((function(e,n){t.resolvers.push({resolve:e,reject:n})})):Promise.resolve(pt)}},{key:"_ensureOpen",value:function(){if(this._closedPromiseResolve)return!0;throw new Error("".concat(this," is closed"))}}]),r}(vt,Symbol.asyncIterator),gt=U(function(){var t=function(){throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=function(){throw t()},e.asUintN=function(){throw t()},"undefined"!==typeof BigInt?[BigInt,!0]:[e,!1]}(),2),mt=gt[0],kt=gt[1],wt=U(function(){var t=function(){throw new Error("BigInt64Array is not available in this environment")};return"undefined"!==typeof BigInt64Array?[BigInt64Array,!0]:[function(){function e(){throw F(this,e),t()}return E(e,null,[{key:"BYTES_PER_ELEMENT",get:function(){return 8}},{key:"of",value:function(){throw t()}},{key:"from",value:function(){throw t()}}]),e}(),!1]}(),2),_t=wt[0],It=(wt[1],U(function(){var t=function(){throw new Error("BigUint64Array is not available in this environment")};return"undefined"!==typeof BigUint64Array?[BigUint64Array,!0]:[function(){function e(){throw F(this,e),t()}return E(e,null,[{key:"BYTES_PER_ELEMENT",get:function(){return 8}},{key:"of",value:function(){throw t()}},{key:"from",value:function(){throw t()}}]),e}(),!1]}(),2)),St=It[0],xt=(It[1],function(t){return"number"===typeof t}),At=function(t){return"boolean"===typeof t},Tt=function(t){return"function"===typeof t},Bt=function(t){return null!=t&&Object(t)===t},Ot=function(t){return Bt(t)&&Tt(t.then)},Dt=function(t){return Bt(t)&&Tt(t[Symbol.iterator])},Lt=function(t){return Bt(t)&&Tt(t[Symbol.asyncIterator])},Ft=function(t){return Bt(t)&&Bt(t.schema)},Mt=function(t){return Bt(t)&&"done"in t&&"value"in t},Et=function(t){return Bt(t)&&Tt(t.stat)&&xt(t.fd)},Ut=function(t){return Bt(t)&&Ct(t.body)},Nt=function(t){return Bt(t)&&Tt(t.abort)&&Tt(t.getWriter)&&!(t instanceof vt)},Ct=function(t){return Bt(t)&&Tt(t.cancel)&&Tt(t.getReader)&&!(t instanceof vt)},Vt=function(t){return Bt(t)&&Tt(t.end)&&Tt(t.write)&&At(t.writable)&&!(t instanceof vt)},jt=function(t){return Bt(t)&&Tt(t.read)&&Tt(t.pipe)&&At(t.readable)&&!(t instanceof vt)},Rt=R.mark(ie),Pt=W.ByteBuffer,zt="undefined"!==typeof SharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;function Yt(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.byteLength,i=t.byteLength,a=new Uint8Array(t.buffer,t.byteOffset,i),o=new Uint8Array(e.buffer,e.byteOffset,Math.min(r,i));return a.set(o,n),t}function Wt(t,e){for(var n,r,i,a=function(t){for(var e,n,r,i,a,o,u=t[0]?[t[0]]:[],s=0,c=0,f=t.length;++s0)do{if(t[n]!==e[n])return!1}while(++n0&&(r.push(i),u+=i.byteLength),!(e||o<=u)){y.next=22;break}case 16:return y.next=18,s();case 18:h=y.sent,a=h.cmd,o=h.size;case 21:if(o0&&(i.push(a),s+=a.byteLength),!(n||u<=s)){t.next=31;break}case 25:return t.next=27,c();case 27:y=t.sent,o=y.cmd,u=y.size;case 30:if(u0&&(i.push(Jt(a)),s+=a.byteLength),!(n||u<=s)){t.next=31;break}case 25:return t.next=27,c();case 27:y=t.sent,o=y.cmd,u=y.size;case 30:if(u=i)){t.next=2;break}return t.abrupt("return",{done:!1,value:new Uint8Array(n,0,i)});case 2:return t.next=4,e.read(new Uint8Array(n,r,i-r));case 4:if(a=t.sent,o=a.done,u=a.value,!((r+=u.byteLength)0&&(c.push(f),s+=f.byteLength)),!(i||u<=s)){t.next=36;break}case 30:return t.next=32,l();case 32:d=t.sent,o=d.cmd,u=d.size;case 35:if(u=0;n--)t.addInt32(e[n]);return t.endVector()}},{key:"startTypeIdsVector",value:function(t,e){t.startVector(4,e,4)}},{key:"endUnion",value:function(t){return t.endObject()}},{key:"createUnion",value:function(t,n,r){return e.startUnion(t),e.addMode(t,n),e.addTypeIds(t,r),e.endUnion(t)}}]),e}();e.Union=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"bitWidth",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}},{key:"isSigned",value:function(){var t=this.bb.__offset(this.bb_pos,6);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}}],[{key:"getRootAsInt",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startInt",value:function(t){t.startObject(2)}},{key:"addBitWidth",value:function(t,e){t.addFieldInt32(0,e,0)}},{key:"addIsSigned",value:function(t,e){t.addFieldInt8(1,+e,0)}},{key:"endInt",value:function(t){return t.endObject()}},{key:"createInt",value:function(e,n,r){return t.startInt(e),t.addBitWidth(e,n),t.addIsSigned(e,r),t.endInt(e)}}]),t}();t.Int=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"precision",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.Precision.HALF}}],[{key:"getRootAsFloatingPoint",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startFloatingPoint",value:function(t){t.startObject(1)}},{key:"addPrecision",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.Precision.HALF)}},{key:"endFloatingPoint",value:function(t){return t.endObject()}},{key:"createFloatingPoint",value:function(t,n){return e.startFloatingPoint(t),e.addPrecision(t,n),e.endFloatingPoint(t)}}]),e}();e.FloatingPoint=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}}],[{key:"getRootAsUtf8",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startUtf8",value:function(t){t.startObject(0)}},{key:"endUtf8",value:function(t){return t.endObject()}},{key:"createUtf8",value:function(e){return t.startUtf8(e),t.endUtf8(e)}}]),t}();t.Utf8=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}}],[{key:"getRootAsBinary",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startBinary",value:function(t){t.startObject(0)}},{key:"endBinary",value:function(t){return t.endObject()}},{key:"createBinary",value:function(e){return t.startBinary(e),t.endBinary(e)}}]),t}();t.Binary=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}}],[{key:"getRootAsLargeUtf8",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startLargeUtf8",value:function(t){t.startObject(0)}},{key:"endLargeUtf8",value:function(t){return t.endObject()}},{key:"createLargeUtf8",value:function(e){return t.startLargeUtf8(e),t.endLargeUtf8(e)}}]),t}();t.LargeUtf8=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}}],[{key:"getRootAsLargeBinary",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startLargeBinary",value:function(t){t.startObject(0)}},{key:"endLargeBinary",value:function(t){return t.endObject()}},{key:"createLargeBinary",value:function(e){return t.startLargeBinary(e),t.endLargeBinary(e)}}]),t}();t.LargeBinary=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"byteWidth",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}}],[{key:"getRootAsFixedSizeBinary",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startFixedSizeBinary",value:function(t){t.startObject(1)}},{key:"addByteWidth",value:function(t,e){t.addFieldInt32(0,e,0)}},{key:"endFixedSizeBinary",value:function(t){return t.endObject()}},{key:"createFixedSizeBinary",value:function(e,n){return t.startFixedSizeBinary(e),t.addByteWidth(e,n),t.endFixedSizeBinary(e)}}]),t}();t.FixedSizeBinary=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}}],[{key:"getRootAsBool",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startBool",value:function(t){t.startObject(0)}},{key:"endBool",value:function(t){return t.endObject()}},{key:"createBool",value:function(e){return t.startBool(e),t.endBool(e)}}]),t}();t.Bool=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"precision",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}},{key:"scale",value:function(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}}],[{key:"getRootAsDecimal",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startDecimal",value:function(t){t.startObject(2)}},{key:"addPrecision",value:function(t,e){t.addFieldInt32(0,e,0)}},{key:"addScale",value:function(t,e){t.addFieldInt32(1,e,0)}},{key:"endDecimal",value:function(t){return t.endObject()}},{key:"createDecimal",value:function(e,n,r){return t.startDecimal(e),t.addPrecision(e,n),t.addScale(e,r),t.endDecimal(e)}}]),t}();t.Decimal=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"unit",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.DateUnit.MILLISECOND}}],[{key:"getRootAsDate",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startDate",value:function(t){t.startObject(1)}},{key:"addUnit",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.DateUnit.MILLISECOND)}},{key:"endDate",value:function(t){return t.endObject()}},{key:"createDate",value:function(t,n){return e.startDate(t),e.addUnit(t,n),e.endDate(t)}}]),e}();e.Date=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"unit",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.TimeUnit.MILLISECOND}},{key:"bitWidth",value:function(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}}],[{key:"getRootAsTime",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startTime",value:function(t){t.startObject(2)}},{key:"addUnit",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}},{key:"addBitWidth",value:function(t,e){t.addFieldInt32(1,e,32)}},{key:"endTime",value:function(t){return t.endObject()}},{key:"createTime",value:function(t,n,r){return e.startTime(t),e.addUnit(t,n),e.addBitWidth(t,r),e.endTime(t)}}]),e}();e.Time=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"unit",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.TimeUnit.SECOND}},{key:"timezone",value:function(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}}],[{key:"getRootAsTimestamp",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startTimestamp",value:function(t){t.startObject(2)}},{key:"addUnit",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.TimeUnit.SECOND)}},{key:"addTimezone",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"endTimestamp",value:function(t){return t.endObject()}},{key:"createTimestamp",value:function(t,n,r){return e.startTimestamp(t),e.addUnit(t,n),e.addTimezone(t,r),e.endTimestamp(t)}}]),e}();e.Timestamp=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"unit",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH}}],[{key:"getRootAsInterval",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startInterval",value:function(t){t.startObject(1)}},{key:"addUnit",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH)}},{key:"endInterval",value:function(t){return t.endObject()}},{key:"createInterval",value:function(t,n){return e.startInterval(t),e.addUnit(t,n),e.endInterval(t)}}]),e}();e.Interval=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"unit",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.TimeUnit.MILLISECOND}}],[{key:"getRootAsDuration",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startDuration",value:function(t){t.startObject(1)}},{key:"addUnit",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}},{key:"endDuration",value:function(t){return t.endObject()}},{key:"createDuration",value:function(t,n){return e.startDuration(t),e.addUnit(t,n),e.endDuration(t)}}]),e}();e.Duration=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"key",value:function(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}},{key:"value",value:function(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}}],[{key:"getRootAsKeyValue",value:function(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}},{key:"startKeyValue",value:function(t){t.startObject(2)}},{key:"addKey",value:function(t,e){t.addFieldOffset(0,e,0)}},{key:"addValue",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"endKeyValue",value:function(t){return t.endObject()}},{key:"createKeyValue",value:function(e,n,r){return t.startKeyValue(e),t.addKey(e,n),t.addValue(e,r),t.endKeyValue(e)}}]),t}();t.KeyValue=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"id",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}},{key:"indexType",value:function(e){var n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.apache.arrow.flatbuf.Int).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}},{key:"isOrdered",value:function(){var t=this.bb.__offset(this.bb_pos,8);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}}],[{key:"getRootAsDictionaryEncoding",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startDictionaryEncoding",value:function(t){t.startObject(3)}},{key:"addId",value:function(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}},{key:"addIndexType",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"addIsOrdered",value:function(t,e){t.addFieldInt8(2,+e,0)}},{key:"endDictionaryEncoding",value:function(t){return t.endObject()}},{key:"createDictionaryEncoding",value:function(t,n,r,i){return e.startDictionaryEncoding(t),e.addId(t,n),e.addIndexType(t,r),e.addIsOrdered(t,i),e.endDictionaryEncoding(t)}}]),e}();e.DictionaryEncoding=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"name",value:function(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}},{key:"nullable",value:function(){var t=this.bb.__offset(this.bb_pos,6);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}},{key:"typeType",value:function(){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):t.apache.arrow.flatbuf.Type.NONE}},{key:"type",value:function(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(t,this.bb_pos+e):null}},{key:"dictionary",value:function(e){var n=this.bb.__offset(this.bb_pos,12);return n?(e||new t.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}},{key:"children",value:function(e,n){var r=this.bb.__offset(this.bb_pos,14);return r?(n||new t.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}},{key:"childrenLength",value:function(){var t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}},{key:"customMetadata",value:function(e,n){var r=this.bb.__offset(this.bb_pos,16);return r?(n||new t.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}},{key:"customMetadataLength",value:function(){var t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}}],[{key:"getRootAsField",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startField",value:function(t){t.startObject(7)}},{key:"addName",value:function(t,e){t.addFieldOffset(0,e,0)}},{key:"addNullable",value:function(t,e){t.addFieldInt8(1,+e,0)}},{key:"addTypeType",value:function(e,n){e.addFieldInt8(2,n,t.apache.arrow.flatbuf.Type.NONE)}},{key:"addType",value:function(t,e){t.addFieldOffset(3,e,0)}},{key:"addDictionary",value:function(t,e){t.addFieldOffset(4,e,0)}},{key:"addChildren",value:function(t,e){t.addFieldOffset(5,e,0)}},{key:"createChildrenVector",value:function(t,e){t.startVector(4,e.length,4);for(var n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}},{key:"startChildrenVector",value:function(t,e){t.startVector(4,e,4)}},{key:"addCustomMetadata",value:function(t,e){t.addFieldOffset(6,e,0)}},{key:"createCustomMetadataVector",value:function(t,e){t.startVector(4,e.length,4);for(var n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}},{key:"startCustomMetadataVector",value:function(t,e){t.startVector(4,e,4)}},{key:"endField",value:function(t){return t.endObject()}},{key:"createField",value:function(t,n,r,i,a,o,u,s){return e.startField(t),e.addName(t,n),e.addNullable(t,r),e.addTypeType(t,i),e.addType(t,a),e.addDictionary(t,o),e.addChildren(t,u),e.addCustomMetadata(t,s),e.endField(t)}}]),e}();e.Field=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"offset",value:function(){return this.bb.readInt64(this.bb_pos)}},{key:"length",value:function(){return this.bb.readInt64(this.bb_pos+8)}}],[{key:"createBuffer",value:function(t,e,n){return t.prep(8,16),t.writeInt64(n),t.writeInt64(e),t.offset()}}]),t}();t.Buffer=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"endianness",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.Endianness.Little}},{key:"fields",value:function(e,n){var r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}},{key:"fieldsLength",value:function(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}},{key:"customMetadata",value:function(e,n){var r=this.bb.__offset(this.bb_pos,8);return r?(n||new t.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}},{key:"customMetadataLength",value:function(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}}],[{key:"getRootAsSchema",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startSchema",value:function(t){t.startObject(3)}},{key:"addEndianness",value:function(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.Endianness.Little)}},{key:"addFields",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"createFieldsVector",value:function(t,e){t.startVector(4,e.length,4);for(var n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}},{key:"startFieldsVector",value:function(t,e){t.startVector(4,e,4)}},{key:"addCustomMetadata",value:function(t,e){t.addFieldOffset(2,e,0)}},{key:"createCustomMetadataVector",value:function(t,e){t.startVector(4,e.length,4);for(var n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}},{key:"startCustomMetadataVector",value:function(t,e){t.startVector(4,e,4)}},{key:"endSchema",value:function(t){return t.endObject()}},{key:"finishSchemaBuffer",value:function(t,e){t.finish(e)}},{key:"createSchema",value:function(t,n,r,i){return e.startSchema(t),e.addEndianness(t,n),e.addFields(t,r),e.addCustomMetadata(t,i),e.endSchema(t)}}]),e}();e.Schema=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ye||(Ye={})),function(t){!function(t){!function(t){!function(t){t.Schema=Ye.apache.arrow.flatbuf.Schema}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ge||(Ge={})),function(t){!function(t){!function(t){!function(t){!function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"}(t.MessageHeader||(t.MessageHeader={}))}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ge||(Ge={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"length",value:function(){return this.bb.readInt64(this.bb_pos)}},{key:"nullCount",value:function(){return this.bb.readInt64(this.bb_pos+8)}}],[{key:"createFieldNode",value:function(t,e,n){return t.prep(8,16),t.writeInt64(n),t.writeInt64(e),t.offset()}}]),t}();t.FieldNode=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Ge||(Ge={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"length",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}},{key:"nodes",value:function(e,n){var r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.apache.arrow.flatbuf.FieldNode).__init(this.bb.__vector(this.bb_pos+r)+16*e,this.bb):null}},{key:"nodesLength",value:function(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}},{key:"buffers",value:function(t,e){var n=this.bb.__offset(this.bb_pos,8);return n?(e||new Ye.apache.arrow.flatbuf.Buffer).__init(this.bb.__vector(this.bb_pos+n)+16*t,this.bb):null}},{key:"buffersLength",value:function(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}}],[{key:"getRootAsRecordBatch",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startRecordBatch",value:function(t){t.startObject(3)}},{key:"addLength",value:function(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}},{key:"addNodes",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"startNodesVector",value:function(t,e){t.startVector(16,e,8)}},{key:"addBuffers",value:function(t,e){t.addFieldOffset(2,e,0)}},{key:"startBuffersVector",value:function(t,e){t.startVector(16,e,8)}},{key:"endRecordBatch",value:function(t){return t.endObject()}},{key:"createRecordBatch",value:function(t,n,r,i){return e.startRecordBatch(t),e.addLength(t,n),e.addNodes(t,r),e.addBuffers(t,i),e.endRecordBatch(t)}}]),e}();e.RecordBatch=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ge||(Ge={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"id",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}},{key:"data",value:function(e){var n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.apache.arrow.flatbuf.RecordBatch).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}},{key:"isDelta",value:function(){var t=this.bb.__offset(this.bb_pos,8);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}}],[{key:"getRootAsDictionaryBatch",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startDictionaryBatch",value:function(t){t.startObject(3)}},{key:"addId",value:function(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}},{key:"addData",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"addIsDelta",value:function(t,e){t.addFieldInt8(2,+e,0)}},{key:"endDictionaryBatch",value:function(t){return t.endObject()}},{key:"createDictionaryBatch",value:function(t,n,r,i){return e.startDictionaryBatch(t),e.addId(t,n),e.addData(t,r),e.addIsDelta(t,i),e.endDictionaryBatch(t)}}]),e}();e.DictionaryBatch=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ge||(Ge={})),function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"version",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Ye.apache.arrow.flatbuf.MetadataVersion.V1}},{key:"headerType",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):t.apache.arrow.flatbuf.MessageHeader.NONE}},{key:"header",value:function(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}},{key:"bodyLength",value:function(){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}},{key:"customMetadata",value:function(t,e){var n=this.bb.__offset(this.bb_pos,12);return n?(e||new Ye.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}},{key:"customMetadataLength",value:function(){var t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}}],[{key:"getRootAsMessage",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startMessage",value:function(t){t.startObject(5)}},{key:"addVersion",value:function(t,e){t.addFieldInt16(0,e,Ye.apache.arrow.flatbuf.MetadataVersion.V1)}},{key:"addHeaderType",value:function(e,n){e.addFieldInt8(1,n,t.apache.arrow.flatbuf.MessageHeader.NONE)}},{key:"addHeader",value:function(t,e){t.addFieldOffset(2,e,0)}},{key:"addBodyLength",value:function(t,e){t.addFieldInt64(3,e,t.createLong(0,0))}},{key:"addCustomMetadata",value:function(t,e){t.addFieldOffset(4,e,0)}},{key:"createCustomMetadataVector",value:function(t,e){t.startVector(4,e.length,4);for(var n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}},{key:"startCustomMetadataVector",value:function(t,e){t.startVector(4,e,4)}},{key:"endMessage",value:function(t){return t.endObject()}},{key:"finishMessageBuffer",value:function(t,e){t.finish(e)}},{key:"createMessage",value:function(t,n,r,i,a,o){return e.startMessage(t),e.addVersion(t,n),e.addHeaderType(t,r),e.addHeader(t,i),e.addBodyLength(t,a),e.addCustomMetadata(t,o),e.endMessage(t)}}]),e}();e.Message=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Ge||(Ge={}));Ye.apache.arrow.flatbuf.Type;var Je,Ze,Qe=Ye.apache.arrow.flatbuf.DateUnit,Xe=Ye.apache.arrow.flatbuf.TimeUnit,tn=Ye.apache.arrow.flatbuf.Precision,en=Ye.apache.arrow.flatbuf.UnionMode,nn=Ye.apache.arrow.flatbuf.IntervalUnit,rn=Ge.apache.arrow.flatbuf.MessageHeader,an=Ye.apache.arrow.flatbuf.MetadataVersion;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(Je||(Je={})),function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"}(Ze||(Ze={}));var on=R.mark(hn);function un(t,e,n,r){return 0!==(n&1<>r}function cn(t,e,n){return n?!!(t[e>>3]|=1<>3]&=~(1<0||n.byteLength>3):ln(hn(n,t,e,null,un)).subarray(0,r)),i}return n}function ln(t){var e,n=[],r=0,i=0,a=0,o=O(t);try{for(o.s();!(e=o.n()).done;){e.value&&(a|=1<0)&&(n[r++]=a);var u=new Uint8Array(n.length+7&-8);return u.set(n),u}function hn(t,e,n,r,i){var a,o,u,s,c;return R.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:a=e%8,o=e>>3,u=0,s=n;case 3:if(!(s>0)){f.next=11;break}c=t[o++];case 5:return f.next=7,i(r,u++,c,a);case 7:if(--s>0&&++a<8){f.next=5;break}case 8:a=0,f.next=3;break;case 11:case"end":return f.stop()}}),on)}function yn(t,e,n){if(n-e<=0)return 0;if(n-e<8){var r,i=0,a=O(hn(t,e,n-e,t,sn));try{for(a.s();!(r=a.n()).done;){i+=r.value}}catch(s){a.e(s)}finally{a.f()}return i}var o=n>>3<<3,u=e+(e%8===0?0:8-e%8);return yn(t,e,u)+yn(t,o,n)+pn(t,u>>3,o-u>>3)}function pn(t,e,n){for(var r=0,i=0|e,a=new DataView(t.buffer,t.byteOffset,t.byteLength),o=void 0===n?t.byteLength:i+n;o-i>=4;)r+=dn(a.getUint32(i)),i+=4;for(;o-i>=2;)r+=dn(a.getUint16(i)),i+=2;for(;o-i>=1;)r+=dn(a.getUint8(i)),i+=1;return r}function dn(t){var e=0|t;return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24}function vn(t){return function(t){if(Array.isArray(t))return T(t)}(t)||function(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||B(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var bn=function(){function t(){F(this,t)}return E(t,[{key:"visitMany",value:function(t){for(var e=this,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i1&&void 0!==arguments[1])||arguments[1];return gn(this,t,e)}},{key:"visitNull",value:function(t){return null}},{key:"visitBool",value:function(t){return null}},{key:"visitInt",value:function(t){return null}},{key:"visitFloat",value:function(t){return null}},{key:"visitUtf8",value:function(t){return null}},{key:"visitBinary",value:function(t){return null}},{key:"visitFixedSizeBinary",value:function(t){return null}},{key:"visitDate",value:function(t){return null}},{key:"visitTimestamp",value:function(t){return null}},{key:"visitTime",value:function(t){return null}},{key:"visitDecimal",value:function(t){return null}},{key:"visitList",value:function(t){return null}},{key:"visitStruct",value:function(t){return null}},{key:"visitUnion",value:function(t){return null}},{key:"visitDictionary",value:function(t){return null}},{key:"visitInterval",value:function(t){return null}},{key:"visitFixedSizeList",value:function(t){return null}},{key:"visitMap",value:function(t){return null}}]),t}();function gn(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=null,i=Je.NONE;switch(e instanceof yr||e instanceof qe?i=mn(e.type):e instanceof Fn?i=mn(e):"number"!==typeof(i=e)&&(i=Je[e]),i){case Je.Null:r=t.visitNull;break;case Je.Bool:r=t.visitBool;break;case Je.Int:r=t.visitInt;break;case Je.Int8:r=t.visitInt8||t.visitInt;break;case Je.Int16:r=t.visitInt16||t.visitInt;break;case Je.Int32:r=t.visitInt32||t.visitInt;break;case Je.Int64:r=t.visitInt64||t.visitInt;break;case Je.Uint8:r=t.visitUint8||t.visitInt;break;case Je.Uint16:r=t.visitUint16||t.visitInt;break;case Je.Uint32:r=t.visitUint32||t.visitInt;break;case Je.Uint64:r=t.visitUint64||t.visitInt;break;case Je.Float:r=t.visitFloat;break;case Je.Float16:r=t.visitFloat16||t.visitFloat;break;case Je.Float32:r=t.visitFloat32||t.visitFloat;break;case Je.Float64:r=t.visitFloat64||t.visitFloat;break;case Je.Utf8:r=t.visitUtf8;break;case Je.Binary:r=t.visitBinary;break;case Je.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case Je.Date:r=t.visitDate;break;case Je.DateDay:r=t.visitDateDay||t.visitDate;break;case Je.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case Je.Timestamp:r=t.visitTimestamp;break;case Je.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case Je.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case Je.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case Je.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case Je.Time:r=t.visitTime;break;case Je.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case Je.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case Je.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case Je.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case Je.Decimal:r=t.visitDecimal;break;case Je.List:r=t.visitList;break;case Je.Struct:r=t.visitStruct;break;case Je.Union:r=t.visitUnion;break;case Je.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case Je.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case Je.Dictionary:r=t.visitDictionary;break;case Je.Interval:r=t.visitInterval;break;case Je.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case Je.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case Je.FixedSizeList:r=t.visitFixedSizeList;break;case Je.Map:r=t.visitMap}if("function"===typeof r)return r;if(!n)return function(){return null};throw new Error("Unrecognized type '".concat(Je[i],"'"))}function mn(t){switch(t.typeId){case Je.Null:return Je.Null;case Je.Int:var e=t.bitWidth,n=t.isSigned;switch(e){case 8:return n?Je.Int8:Je.Uint8;case 16:return n?Je.Int16:Je.Uint16;case 32:return n?Je.Int32:Je.Uint32;case 64:return n?Je.Int64:Je.Uint64}return Je.Int;case Je.Float:switch(t.precision){case tn.HALF:return Je.Float16;case tn.SINGLE:return Je.Float32;case tn.DOUBLE:return Je.Float64}return Je.Float;case Je.Binary:return Je.Binary;case Je.Utf8:return Je.Utf8;case Je.Bool:return Je.Bool;case Je.Decimal:return Je.Decimal;case Je.Time:switch(t.unit){case Xe.SECOND:return Je.TimeSecond;case Xe.MILLISECOND:return Je.TimeMillisecond;case Xe.MICROSECOND:return Je.TimeMicrosecond;case Xe.NANOSECOND:return Je.TimeNanosecond}return Je.Time;case Je.Timestamp:switch(t.unit){case Xe.SECOND:return Je.TimestampSecond;case Xe.MILLISECOND:return Je.TimestampMillisecond;case Xe.MICROSECOND:return Je.TimestampMicrosecond;case Xe.NANOSECOND:return Je.TimestampNanosecond}return Je.Timestamp;case Je.Date:switch(t.unit){case Qe.DAY:return Je.DateDay;case Qe.MILLISECOND:return Je.DateMillisecond}return Je.Date;case Je.Interval:switch(t.unit){case nn.DAY_TIME:return Je.IntervalDayTime;case nn.YEAR_MONTH:return Je.IntervalYearMonth}return Je.Interval;case Je.Map:return Je.Map;case Je.List:return Je.List;case Je.Struct:return Je.Struct;case Je.Union:switch(t.mode){case en.Dense:return Je.DenseUnion;case en.Sparse:return Je.SparseUnion}return Je.Union;case Je.FixedSizeBinary:return Je.FixedSizeBinary;case Je.FixedSizeList:return Je.FixedSizeList;case Je.Dictionary:return Je.Dictionary}throw new Error("Unrecognized type '".concat(Je[t.typeId],"'"))}bn.prototype.visitInt8=null,bn.prototype.visitInt16=null,bn.prototype.visitInt32=null,bn.prototype.visitInt64=null,bn.prototype.visitUint8=null,bn.prototype.visitUint16=null,bn.prototype.visitUint32=null,bn.prototype.visitUint64=null,bn.prototype.visitFloat16=null,bn.prototype.visitFloat32=null,bn.prototype.visitFloat64=null,bn.prototype.visitDateDay=null,bn.prototype.visitDateMillisecond=null,bn.prototype.visitTimestampSecond=null,bn.prototype.visitTimestampMillisecond=null,bn.prototype.visitTimestampMicrosecond=null,bn.prototype.visitTimestampNanosecond=null,bn.prototype.visitTimeSecond=null,bn.prototype.visitTimeMillisecond=null,bn.prototype.visitTimeMicrosecond=null,bn.prototype.visitTimeNanosecond=null,bn.prototype.visitDenseUnion=null,bn.prototype.visitSparseUnion=null,bn.prototype.visitIntervalDayTime=null,bn.prototype.visitIntervalYearMonth=null;var kn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"compareSchemas",value:function(t,e){return t===e||e instanceof t.constructor&&Ln.compareFields(t.fields,e.fields)}},{key:"compareFields",value:function(t,e){return t===e||Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((function(t,n){return Ln.compareField(t,e[n])}))}},{key:"compareField",value:function(t,e){return t===e||e instanceof t.constructor&&t.name===e.name&&t.nullable===e.nullable&&Ln.visit(t.type,e.type)}}]),n}(bn);function wn(t,e){return e instanceof t.constructor}function _n(t,e){return t===e||wn(t,e)}function In(t,e){return t===e||wn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Sn(t,e){return t===e||wn(t,e)&&t.precision===e.precision}function xn(t,e){return t===e||wn(t,e)&&t.unit===e.unit}function An(t,e){return t===e||wn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function Tn(t,e){return t===e||wn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function Bn(t,e){return t===e||wn(t,e)&&t.mode===e.mode&&t.typeIds.every((function(t,n){return t===e.typeIds[n]}))&&Ln.compareFields(t.children,e.children)}function On(t,e){return t===e||wn(t,e)&&t.unit===e.unit}kn.prototype.visitNull=_n,kn.prototype.visitBool=_n,kn.prototype.visitInt=In,kn.prototype.visitInt8=In,kn.prototype.visitInt16=In,kn.prototype.visitInt32=In,kn.prototype.visitInt64=In,kn.prototype.visitUint8=In,kn.prototype.visitUint16=In,kn.prototype.visitUint32=In,kn.prototype.visitUint64=In,kn.prototype.visitFloat=Sn,kn.prototype.visitFloat16=Sn,kn.prototype.visitFloat32=Sn,kn.prototype.visitFloat64=Sn,kn.prototype.visitUtf8=_n,kn.prototype.visitBinary=_n,kn.prototype.visitFixedSizeBinary=function(t,e){return t===e||wn(t,e)&&t.byteWidth===e.byteWidth},kn.prototype.visitDate=xn,kn.prototype.visitDateDay=xn,kn.prototype.visitDateMillisecond=xn,kn.prototype.visitTimestamp=An,kn.prototype.visitTimestampSecond=An,kn.prototype.visitTimestampMillisecond=An,kn.prototype.visitTimestampMicrosecond=An,kn.prototype.visitTimestampNanosecond=An,kn.prototype.visitTime=Tn,kn.prototype.visitTimeSecond=Tn,kn.prototype.visitTimeMillisecond=Tn,kn.prototype.visitTimeMicrosecond=Tn,kn.prototype.visitTimeNanosecond=Tn,kn.prototype.visitDecimal=_n,kn.prototype.visitList=function(t,e){return t===e||wn(t,e)&&t.children.length===e.children.length&&Ln.compareFields(t.children,e.children)},kn.prototype.visitStruct=function(t,e){return t===e||wn(t,e)&&t.children.length===e.children.length&&Ln.compareFields(t.children,e.children)},kn.prototype.visitUnion=Bn,kn.prototype.visitDenseUnion=Bn,kn.prototype.visitSparseUnion=Bn,kn.prototype.visitDictionary=function(t,e){return t===e||wn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&Ln.visit(t.indices,e.indices)&&Ln.visit(t.dictionary,e.dictionary)},kn.prototype.visitInterval=On,kn.prototype.visitIntervalDayTime=On,kn.prototype.visitIntervalYearMonth=On,kn.prototype.visitFixedSizeList=function(t,e){return t===e||wn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&Ln.compareFields(t.children,e.children)},kn.prototype.visitMap=function(t,e){return t===e||wn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&Ln.compareFields(t.children,e.children)};var Dn,Ln=new kn,Fn=function(){function t(){F(this,t)}return E(t,[{key:"typeId",get:function(){return Je.NONE}},{key:"compareTo",value:function(t){return Ln.visit(this,t)}}],[{key:"isNull",value:function(t){return t&&t.typeId===Je.Null}},{key:"isInt",value:function(t){return t&&t.typeId===Je.Int}},{key:"isFloat",value:function(t){return t&&t.typeId===Je.Float}},{key:"isBinary",value:function(t){return t&&t.typeId===Je.Binary}},{key:"isUtf8",value:function(t){return t&&t.typeId===Je.Utf8}},{key:"isBool",value:function(t){return t&&t.typeId===Je.Bool}},{key:"isDecimal",value:function(t){return t&&t.typeId===Je.Decimal}},{key:"isDate",value:function(t){return t&&t.typeId===Je.Date}},{key:"isTime",value:function(t){return t&&t.typeId===Je.Time}},{key:"isTimestamp",value:function(t){return t&&t.typeId===Je.Timestamp}},{key:"isInterval",value:function(t){return t&&t.typeId===Je.Interval}},{key:"isList",value:function(t){return t&&t.typeId===Je.List}},{key:"isStruct",value:function(t){return t&&t.typeId===Je.Struct}},{key:"isUnion",value:function(t){return t&&t.typeId===Je.Union}},{key:"isFixedSizeBinary",value:function(t){return t&&t.typeId===Je.FixedSizeBinary}},{key:"isFixedSizeList",value:function(t){return t&&t.typeId===Je.FixedSizeList}},{key:"isMap",value:function(t){return t&&t.typeId===Je.Map}},{key:"isDictionary",value:function(t){return t&&t.typeId===Je.Dictionary}}]),t}();Fn[Symbol.toStringTag]=((Dn=Fn.prototype).children=null,Dn.ArrayType=Array,Dn[Symbol.toStringTag]="DataType");var Mn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"toString",value:function(){return"Null"}},{key:"typeId",get:function(){return Je.Null}}]),n}(Fn);Mn[Symbol.toStringTag]=function(t){return t[Symbol.toStringTag]="Null"}(Mn.prototype);var En=function(t){ot(n,t);var e=yt(n);function n(t,r){var i;return F(this,n),(i=e.call(this)).isSigned=t,i.bitWidth=r,i}return E(n,[{key:"typeId",get:function(){return Je.Int}},{key:"ArrayType",get:function(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:case 64:return this.isSigned?Int32Array:Uint32Array}throw new Error("Unrecognized ".concat(this[Symbol.toStringTag]," type"))}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),n}(Fn);En[Symbol.toStringTag]=function(t){return t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"}(En.prototype);var Un=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!0,8)}return E(n)}(En),Nn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!0,16)}return E(n)}(En),Cn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!0,32)}return E(n)}(En),Vn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!0,64)}return E(n)}(En),jn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!1,8)}return E(n)}(En),Rn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!1,16)}return E(n)}(En),Pn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!1,32)}return E(n)}(En),zn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,!1,64)}return E(n)}(En);Object.defineProperty(Un.prototype,"ArrayType",{value:Int8Array}),Object.defineProperty(Nn.prototype,"ArrayType",{value:Int16Array}),Object.defineProperty(Cn.prototype,"ArrayType",{value:Int32Array}),Object.defineProperty(Vn.prototype,"ArrayType",{value:Int32Array}),Object.defineProperty(jn.prototype,"ArrayType",{value:Uint8Array}),Object.defineProperty(Rn.prototype,"ArrayType",{value:Uint16Array}),Object.defineProperty(Pn.prototype,"ArrayType",{value:Uint32Array}),Object.defineProperty(zn.prototype,"ArrayType",{value:Uint32Array});var Yn=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).precision=t,r}return E(n,[{key:"typeId",get:function(){return Je.Float}},{key:"ArrayType",get:function(){switch(this.precision){case tn.HALF:return Uint16Array;case tn.SINGLE:return Float32Array;case tn.DOUBLE:return Float64Array}throw new Error("Unrecognized ".concat(this[Symbol.toStringTag]," type"))}},{key:"toString",value:function(){return"Float".concat(this.precision<<5||16)}}]),n}(Fn);Yn[Symbol.toStringTag]=function(t){return t.precision=null,t[Symbol.toStringTag]="Float"}(Yn.prototype);var Wn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,tn.HALF)}return E(n)}(Yn),Hn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,tn.SINGLE)}return E(n)}(Yn),$n=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,tn.DOUBLE)}return E(n)}(Yn);Object.defineProperty(Wn.prototype,"ArrayType",{value:Uint16Array}),Object.defineProperty(Hn.prototype,"ArrayType",{value:Float32Array}),Object.defineProperty($n.prototype,"ArrayType",{value:Float64Array});var Kn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this)}return E(n,[{key:"typeId",get:function(){return Je.Binary}},{key:"toString",value:function(){return"Binary"}}]),n}(Fn);Kn[Symbol.toStringTag]=function(t){return t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"}(Kn.prototype);var Gn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this)}return E(n,[{key:"typeId",get:function(){return Je.Utf8}},{key:"toString",value:function(){return"Utf8"}}]),n}(Fn);Gn[Symbol.toStringTag]=function(t){return t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"}(Gn.prototype);var qn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this)}return E(n,[{key:"typeId",get:function(){return Je.Bool}},{key:"toString",value:function(){return"Bool"}}]),n}(Fn);qn[Symbol.toStringTag]=function(t){return t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"}(qn.prototype);var Jn=function(t){ot(n,t);var e=yt(n);function n(t,r){var i;return F(this,n),(i=e.call(this)).scale=t,i.precision=r,i}return E(n,[{key:"typeId",get:function(){return Je.Decimal}},{key:"toString",value:function(){return"Decimal[".concat(this.precision,"e").concat(this.scale>0?"+":"").concat(this.scale,"]")}}]),n}(Fn);Jn[Symbol.toStringTag]=function(t){return t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"}(Jn.prototype);var Zn=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).unit=t,r}return E(n,[{key:"typeId",get:function(){return Je.Date}},{key:"toString",value:function(){return"Date".concat(32*(this.unit+1),"<").concat(Qe[this.unit],">")}}]),n}(Fn);Zn[Symbol.toStringTag]=function(t){return t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"}(Zn.prototype);var Qn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,Qe.DAY)}return E(n)}(Zn),Xn=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.call(this,Qe.MILLISECOND)}return E(n)}(Zn),tr=function(t){ot(n,t);var e=yt(n);function n(t,r){var i;return F(this,n),(i=e.call(this)).unit=t,i.bitWidth=r,i}return E(n,[{key:"typeId",get:function(){return Je.Time}},{key:"toString",value:function(){return"Time".concat(this.bitWidth,"<").concat(Xe[this.unit],">")}}]),n}(Fn);tr[Symbol.toStringTag]=function(t){return t.unit=null,t.bitWidth=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Time"}(tr.prototype);var er=function(t){ot(n,t);var e=yt(n);function n(t,r){var i;return F(this,n),(i=e.call(this)).unit=t,i.timezone=r,i}return E(n,[{key:"typeId",get:function(){return Je.Timestamp}},{key:"toString",value:function(){return"Timestamp<".concat(Xe[this.unit]).concat(this.timezone?", ".concat(this.timezone):"",">")}}]),n}(Fn);er[Symbol.toStringTag]=function(t){return t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"}(er.prototype);var nr=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).unit=t,r}return E(n,[{key:"typeId",get:function(){return Je.Interval}},{key:"toString",value:function(){return"Interval<".concat(nn[this.unit],">")}}]),n}(Fn);nr[Symbol.toStringTag]=function(t){return t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"}(nr.prototype);var rr=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).children=[t],r}return E(n,[{key:"typeId",get:function(){return Je.List}},{key:"toString",value:function(){return"List<".concat(this.valueType,">")}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:"ArrayType",get:function(){return this.valueType.ArrayType}}]),n}(Fn);rr[Symbol.toStringTag]=function(t){return t.children=null,t[Symbol.toStringTag]="List"}(rr.prototype);var ir=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).children=t,r}return E(n,[{key:"typeId",get:function(){return Je.Struct}},{key:"toString",value:function(){return"Struct<{".concat(this.children.map((function(t){return"".concat(t.name,":").concat(t.type)})).join(", "),"}>")}}]),n}(Fn);ir[Symbol.toStringTag]=function(t){return t.children=null,t[Symbol.toStringTag]="Struct"}(ir.prototype);var ar=function(t){ot(n,t);var e=yt(n);function n(t,r,i){var a;return F(this,n),(a=e.call(this)).mode=t,a.children=i,a.typeIds=r=Int32Array.from(r),a.typeIdToChildIndex=r.reduce((function(t,e,n){return(t[e]=n)&&t||t}),Object.create(null)),a}return E(n,[{key:"typeId",get:function(){return Je.Union}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag],"<").concat(this.children.map((function(t){return"".concat(t.type)})).join(" | "),">")}}]),n}(Fn);ar[Symbol.toStringTag]=function(t){return t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"}(ar.prototype);var or=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).byteWidth=t,r}return E(n,[{key:"typeId",get:function(){return Je.FixedSizeBinary}},{key:"toString",value:function(){return"FixedSizeBinary[".concat(this.byteWidth,"]")}}]),n}(Fn);or[Symbol.toStringTag]=function(t){return t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"}(or.prototype);var ur=function(t){ot(n,t);var e=yt(n);function n(t,r){var i;return F(this,n),(i=e.call(this)).listSize=t,i.children=[r],i}return E(n,[{key:"typeId",get:function(){return Je.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:"ArrayType",get:function(){return this.valueType.ArrayType}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),n}(Fn);ur[Symbol.toStringTag]=function(t){return t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"}(ur.prototype);var sr=function(t){ot(n,t);var e=yt(n);function n(t){var r,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return F(this,n),(r=e.call(this)).children=[t],r.keysSorted=i,r}return E(n,[{key:"typeId",get:function(){return Je.Map}},{key:"keyType",get:function(){return this.children[0].type.children[0].type}},{key:"valueType",get:function(){return this.children[0].type.children[1].type}},{key:"toString",value:function(){return"Map<{".concat(this.children[0].type.children.map((function(t){return"".concat(t.name,":").concat(t.type)})).join(", "),"}>")}}]),n}(Fn);sr[Symbol.toStringTag]=function(t){return t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"}(sr.prototype);var cr,fr=(cr=-1,function(){return++cr}),lr=function(t){ot(n,t);var e=yt(n);function n(t,r,i,a){var o;return F(this,n),(o=e.call(this)).indices=r,o.dictionary=t,o.isOrdered=a||!1,o.id=null==i?fr():"number"===typeof i?i:i.low,o}return E(n,[{key:"typeId",get:function(){return Je.Dictionary}},{key:"children",get:function(){return this.dictionary.children}},{key:"valueType",get:function(){return this.dictionary}},{key:"ArrayType",get:function(){return this.dictionary.ArrayType}},{key:"toString",value:function(){return"Dictionary<".concat(this.indices,", ").concat(this.dictionary,">")}}]),n}(Fn);function hr(t){var e=t;switch(t.typeId){case Je.Decimal:return 4;case Je.Timestamp:return 2;case Je.Date:case Je.Interval:return 1+e.unit;case Je.Int:case Je.Time:return+(e.bitWidth>32)+1;case Je.FixedSizeList:return e.listSize;case Je.FixedSizeBinary:return e.byteWidth;default:return 1}}lr[Symbol.toStringTag]=function(t){return t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"}(lr.prototype);var yr=function(){function t(e,n,r,i,a,o,u){var s;F(this,t),this.type=e,this.dictionary=u,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1)),this.childData=(o||[]).map((function(e){return e instanceof t?e:e.data})),a instanceof t?(this.stride=a.stride,this.values=a.values,this.typeIds=a.typeIds,this.nullBitmap=a.nullBitmap,this.valueOffsets=a.valueOffsets):(this.stride=hr(e),a&&((s=a[0])&&(this.valueOffsets=s),(s=a[1])&&(this.values=s),(s=a[2])&&(this.nullBitmap=s),(s=a[3])&&(this.typeIds=s)))}return E(t,[{key:"typeId",get:function(){return this.type.typeId}},{key:"ArrayType",get:function(){return this.type.ArrayType}},{key:"buffers",get:function(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}},{key:"byteLength",get:function(){var t=0,e=this.valueOffsets,n=this.values,r=this.nullBitmap,i=this.typeIds;return e&&(t+=e.byteLength),n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),this.childData.reduce((function(t,e){return t+e.byteLength}),t)}},{key:"nullCount",get:function(){var t,e=this._nullCount;return e<=-1&&(t=this.nullBitmap)&&(this._nullCount=e=this.length-yn(t,this.offset,this.offset+this.length)),e}},{key:"clone",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.offset,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.length,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this._nullCount,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:this.childData;return new t(e,n,r,i,a,o,this.dictionary)}},{key:"slice",value:function(t,e){var n=this.stride,r=this.typeId,i=this.childData,a=+(0===this._nullCount)-1,o=16===r?n:1,u=this._sliceBuffers(t,e,n,r);return this.clone(this.type,this.offset+t,e,a,u,!i.length||this.valueOffsets?i:this._sliceChildren(i,o*t,o*e))}},{key:"_changeLengthAndBackfillNullBitmap",value:function(t){if(this.typeId===Je.Null)return this.clone(this.type,0,t,0);var e=this.length,n=this.nullCount,r=new Uint8Array((t+63&-64)>>3).fill(255,0,e>>3);r[e>>3]=(1<0&&r.set(fn(this.offset,e,this.nullBitmap),0);var i=this.buffers;return i[Ze.VALIDITY]=r,this.clone(this.type,0,t,n+(t-e),i)}},{key:"_sliceBuffers",value:function(t,e,n,r){var i,a=this.buffers;return(i=a[Ze.TYPE])&&(a[Ze.TYPE]=i.subarray(t,t+e)),(i=a[Ze.OFFSET])&&(a[Ze.OFFSET]=i.subarray(t,t+e+1))||(i=a[Ze.DATA])&&(a[Ze.DATA]=6===r?i:i.subarray(n*t,n*(t+e))),a}},{key:"_sliceChildren",value:function(t,e,n){return t.map((function(t){return t.slice(e,n)}))}}],[{key:"new",value:function(e,n,r,i,a,o,u){switch(a instanceof t?a=a.buffers:a||(a=[]),e.typeId){case Je.Null:return t.Null(e,n,r);case Je.Int:return t.Int(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Dictionary:return t.Dictionary(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[],u);case Je.Float:return t.Float(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Bool:return t.Bool(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Decimal:return t.Decimal(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Date:return t.Date(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Time:return t.Time(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Timestamp:return t.Timestamp(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Interval:return t.Interval(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.FixedSizeBinary:return t.FixedSizeBinary(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.DATA]||[]);case Je.Binary:return t.Binary(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.OFFSET]||[],a[Ze.DATA]||[]);case Je.Utf8:return t.Utf8(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.OFFSET]||[],a[Ze.DATA]||[]);case Je.List:return t.List(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.OFFSET]||[],(o||[])[0]);case Je.FixedSizeList:return t.FixedSizeList(e,n,r,i||0,a[Ze.VALIDITY],(o||[])[0]);case Je.Struct:return t.Struct(e,n,r,i||0,a[Ze.VALIDITY],o||[]);case Je.Map:return t.Map(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.OFFSET]||[],(o||[])[0]);case Je.Union:return t.Union(e,n,r,i||0,a[Ze.VALIDITY],a[Ze.TYPE]||[],a[Ze.OFFSET]||o,o)}throw new Error("Unrecognized typeId ".concat(e.typeId))}},{key:"Null",value:function(e,n,r){return new t(e,n,r,0)}},{key:"Int",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Dictionary",value:function(e,n,r,i,a,o,u){return new t(e,n,r,i,[void 0,Ht(e.indices.ArrayType,o),Jt(a)],[],u)}},{key:"Float",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Bool",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Decimal",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Date",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Time",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Timestamp",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Interval",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"FixedSizeBinary",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,Ht(e.ArrayType,o),Jt(a)])}},{key:"Binary",value:function(e,n,r,i,a,o,u){return new t(e,n,r,i,[Gt(o),Jt(u),Jt(a)])}},{key:"Utf8",value:function(e,n,r,i,a,o,u){return new t(e,n,r,i,[Gt(o),Jt(u),Jt(a)])}},{key:"List",value:function(e,n,r,i,a,o,u){return new t(e,n,r,i,[Gt(o),void 0,Jt(a)],[u])}},{key:"FixedSizeList",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,void 0,Jt(a)],[o])}},{key:"Struct",value:function(e,n,r,i,a,o){return new t(e,n,r,i,[void 0,void 0,Jt(a)],o)}},{key:"Map",value:function(e,n,r,i,a,o,u){return new t(e,n,r,i,[Gt(o),void 0,Jt(a)],[u])}},{key:"Union",value:function(e,n,r,i,a,o,u,s){var c=[void 0,void 0,Jt(a),Ht(e.ArrayType,o)];return e.mode===en.Sparse?new t(e,n,r,i,c,u):(c[Ze.OFFSET]=Gt(u),new t(e,n,r,i,c,s))}}]),t}();yr.prototype.childData=Object.freeze([]);function pr(t){if(null===t)return"null";if(undefined===t)return"undefined";switch(typeof t){case"number":case"bigint":return"".concat(t);case"string":return'"'.concat(t,'"')}return"function"===typeof t[Symbol.toPrimitive]?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?"[".concat(t,"]"):JSON.stringify(t)}function dr(t){if(!t||t.length<=0)return function(t){return!0};var e="",n=t.filter((function(t){return t===t}));return n.length>0&&(e="\n switch (x) {".concat(n.map((function(t){return"\n case ".concat(function(t){if("bigint"!==typeof t)return pr(t);if(kt)return"".concat(pr(t),"n");return'"'.concat(pr(t),'"')}(t),":")})).join(""),"\n return false;\n }")),t.length!==n.length&&(e="if (x !== x) return false;\n".concat(e)),new Function("x","".concat(e,"\nreturn true;"))}var vr=function(t,e){return(t*e+63&-64||64)/e},br=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.length>=e?t.subarray(0,e):Yt(new t.constructor(e),t,0)},gr=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;F(this,t),this.buffer=e,this.stride=n,this.BYTES_PER_ELEMENT=e.BYTES_PER_ELEMENT,this.ArrayType=e.constructor,this._resize(this.length=e.length/n|0)}return E(t,[{key:"byteLength",get:function(){return this.length*this.stride*this.BYTES_PER_ELEMENT|0}},{key:"reservedLength",get:function(){return this.buffer.length/this.stride}},{key:"reservedByteLength",get:function(){return this.buffer.byteLength}},{key:"set",value:function(t,e){return this}},{key:"append",value:function(t){return this.set(this.length,t)}},{key:"reserve",value:function(t){if(t>0){this.length+=t;var e=this.stride,n=this.length*e,r=this.buffer.length;n>=r&&this._resize(vr(0===r?1*n:2*n,this.BYTES_PER_ELEMENT))}return this}},{key:"flush",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.length;t=vr(t*this.stride,this.BYTES_PER_ELEMENT);var e=br(this.buffer,t);return this.clear(),e}},{key:"clear",value:function(){return this.length=0,this._resize(0),this}},{key:"_resize",value:function(t){return this.buffer=Yt(new this.ArrayType(t),this.buffer)}}]),t}();gr.prototype.offset=0;var mr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"last",value:function(){return this.get(this.length-1)}},{key:"get",value:function(t){return this.buffer[t]}},{key:"set",value:function(t,e){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=e,this}}]),n}(gr),kr=function(t){ot(n,t);var e=yt(n);function n(){var t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Uint8Array(0);return F(this,n),(t=e.call(this,r,1/8)).numValid=0,t}return E(n,[{key:"numInvalid",get:function(){return this.length-this.numValid}},{key:"get",value:function(t){return this.buffer[t>>3]>>t%8&1}},{key:"set",value:function(t,e){var n=this.reserve(t-this.length+1).buffer,r=t>>3,i=t%8,a=n[r]>>i&1;return e?0===a&&(n[r]|=1<0&&void 0!==arguments[0]?arguments[0]:new Int32Array(1);return F(this,n),e.call(this,t,1)}return E(n,[{key:"append",value:function(t){return this.set(this.length-1,t)}},{key:"set",value:function(t,e){var n=this.length-1,r=this.reserve(t-n+1).buffer;return n0&&void 0!==arguments[0]?arguments[0]:this.length-1;return t>this.length&&this.set(t-1,0),ze(ut(n.prototype),"flush",this).call(this,t+1)}}]),n}(mr),_r=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"ArrayType64",get:function(){return this._ArrayType64||(this._ArrayType64=this.buffer instanceof Int32Array?_t:St)}},{key:"set",value:function(t,e){switch(this.reserve(t-this.length+1),typeof e){case"bigint":this.buffer64[t]=e;break;case"number":this.buffer[t*this.stride]=e;break;default:this.buffer.set(e,t*this.stride)}return this}},{key:"_resize",value:function(t){var e=ze(ut(n.prototype),"_resize",this).call(this,t),r=e.byteLength/(this.BYTES_PER_ELEMENT*this.stride);return kt&&(this.buffer64=new this.ArrayType64(e.buffer,e.byteOffset,r)),e}}]),n}(gr),Ir=function(){function t(e){var n=e.type,r=e.nullValues;F(this,t),this.length=0,this.finished=!1,this.type=n,this.children=[],this.nullValues=r,this.stride=hr(n),this._nulls=new kr,r&&r.length>0&&(this._isValid=dr(r))}return E(t,[{key:"toVector",value:function(){return qe.new(this.flush())}},{key:"ArrayType",get:function(){return this.type.ArrayType}},{key:"nullCount",get:function(){return this._nulls.numInvalid}},{key:"numChildren",get:function(){return this.children.length}},{key:"byteLength",get:function(){var t=0;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),this._typeIds&&(t+=this._typeIds.byteLength),this.children.reduce((function(t,e){return t+e.byteLength}),t)}},{key:"reservedLength",get:function(){return this._nulls.reservedLength}},{key:"reservedByteLength",get:function(){var t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((function(t,e){return t+e.reservedByteLength}),t)}},{key:"valueOffsets",get:function(){return this._offsets?this._offsets.buffer:null}},{key:"values",get:function(){return this._values?this._values.buffer:null}},{key:"nullBitmap",get:function(){return this._nulls?this._nulls.buffer:null}},{key:"typeIds",get:function(){return this._typeIds?this._typeIds.buffer:null}},{key:"append",value:function(t){return this.set(this.length,t)}},{key:"isValid",value:function(t){return this._isValid(t)}},{key:"set",value:function(t,e){return this.setValid(t,this.isValid(e))&&this.setValue(t,e),this}},{key:"setValue",value:function(t,e){this._setValue(this,t,e)}},{key:"setValid",value:function(t,e){return this.length=this._nulls.set(t,+e).length,e}},{key:"addChild",value:function(t){arguments.length>1&&void 0!==arguments[1]||"".concat(this.numChildren);throw new Error('Cannot append children to non-nested type "'.concat(this.type,'"'))}},{key:"getChildAt",value:function(t){return this.children[t]||null}},{key:"flush",value:function(){var t=[],e=this._values,n=this._offsets,r=this._typeIds,i=this.length,a=this.nullCount;r?(t[Ze.TYPE]=r.flush(i),n&&(t[Ze.OFFSET]=n.flush(i))):n?(e&&(t[Ze.DATA]=e.flush(n.last())),t[Ze.OFFSET]=n.flush(i)):e&&(t[Ze.DATA]=e.flush(i)),a>0&&(t[Ze.VALIDITY]=this._nulls.flush(i));var o=yr.new(this.type,0,i,a,t,this.children.map((function(t){return t.flush()})));return this.clear(),o}},{key:"finish",value:function(){return this.finished=!0,this.children.forEach((function(t){return t.finish()})),this}},{key:"clear",value:function(){return this.length=0,this._offsets&&this._offsets.clear(),this._values&&this._values.clear(),this._nulls&&this._nulls.clear(),this._typeIds&&this._typeIds.clear(),this.children.forEach((function(t){return t.clear()})),this}}],[{key:"new",value:function(t){}},{key:"throughNode",value:function(t){throw new Error('"throughNode" not available in this environment')}},{key:"throughDOM",value:function(t){throw new Error('"throughDOM" not available in this environment')}},{key:"throughIterable",value:function(t){return function(t){var e=t.queueingStrategy,n=void 0===e?"count":e,r=t.highWaterMark,i=void 0===r?"bytes"!==n?1e3:Math.pow(2,14):r,a="bytes"!==n?"length":"byteLength";return R.mark((function e(n){var r,o,u,s,c;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=0,o=Ir.new(t),u=O(n),e.prev=3,u.s();case 5:if((s=u.n()).done){e.next=14;break}if(c=s.value,!(o.append(c)[a]>=i)){e.next=12;break}if(e.t0=++r,!e.t0){e.next=12;break}return e.next=12,o.toVector();case 12:e.next=5;break;case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(3),u.e(e.t1);case 19:return e.prev=19,u.f(),e.finish(19);case 22:if(!(o.finish().length>0||0===r)){e.next=25;break}return e.next=25,o.toVector();case 25:case"end":return e.stop()}}),e,null,[[3,16,19,22]])}))}(t)}},{key:"throughAsyncIterable",value:function(t){return function(t){var e=t.queueingStrategy,n=void 0===e?"count":e,r=t.highWaterMark,i=void 0===r?"bytes"!==n?1e3:Math.pow(2,14):r,a="bytes"!==n?"length":"byteLength";return function(){var e=j(R.mark((function e(n){var r,o,u,s,c,f,l,h;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=0,o=Ir.new(t),u=!1,s=!1,e.prev=4,f=P(n);case 6:return e.next=8,C(f.next());case 8:if(!(u=!(l=e.sent).done)){e.next=18;break}if(h=l.value,!(o.append(h)[a]>=i)){e.next=15;break}if(e.t0=++r,!e.t0){e.next=15;break}return e.next=15,o.toVector();case 15:u=!1,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t1=e.catch(4),s=!0,c=e.t1;case 24:if(e.prev=24,e.prev=25,!u||null==f.return){e.next=29;break}return e.next=29,C(f.return());case 29:if(e.prev=29,!s){e.next=32;break}throw c;case 32:return e.finish(29);case 33:return e.finish(24);case 34:if(!(o.finish().length>0||0===r)){e.next=37;break}return e.next=37,o.toVector();case 37:case"end":return e.stop()}}),e,null,[[4,20,24,34],[25,,29,33]])})));return function(t){return e.apply(this,arguments)}}()}(t)}}]),t}();Ir.prototype.length=1,Ir.prototype.stride=1,Ir.prototype.children=null,Ir.prototype.finished=!1,Ir.prototype.nullValues=null,Ir.prototype._isValid=function(){return!0};var Sr=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._values=new mr(new r.ArrayType(0),r.stride),r}return E(n,[{key:"setValue",value:function(t,e){var r=this._values;return r.reserve(t-r.length+1),ze(ut(n.prototype),"setValue",this).call(this,t,e)}}]),n}(Ir),xr=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._pendingLength=0,r._offsets=new wr,r}return E(n,[{key:"setValue",value:function(t,e){var n=this._pending||(this._pending=new Map),r=n.get(t);r&&(this._pendingLength-=r.length),this._pendingLength+=e.length,n.set(t,e)}},{key:"setValid",value:function(t,e){return!!ze(ut(n.prototype),"setValid",this).call(this,t,e)||((this._pending||(this._pending=new Map)).set(t,void 0),!1)}},{key:"clear",value:function(){return this._pendingLength=0,this._pending=void 0,ze(ut(n.prototype),"clear",this).call(this)}},{key:"flush",value:function(){return this._flush(),ze(ut(n.prototype),"flush",this).call(this)}},{key:"finish",value:function(){return this._flush(),ze(ut(n.prototype),"finish",this).call(this)}},{key:"_flush",value:function(){var t=this._pending,e=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,e),this}}]),n}(Ir);var Ar=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._values=new kr,r}return E(n,[{key:"setValue",value:function(t,e){this._values.set(t,+e)}}]),n}(Ir),Tr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"setValue",value:function(t,e){}},{key:"setValid",value:function(t,e){return this.length=Math.max(t+1,this.length),e}}]),n}(Ir),Br=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),Or=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Br),Dr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Br),Lr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),Fr=function(t){ot(n,t);var e=yt(n);function n(t){var r,i=t.type,a=t.nullValues,o=t.dictionaryHashFunction;return F(this,n),(r=e.call(this,{type:new lr(i.dictionary,i.indices,i.id,i.isOrdered)}))._nulls=null,r._dictionaryOffset=0,r._keysToIndices=Object.create(null),r.indices=Ir.new({type:r.type.indices,nullValues:a}),r.dictionary=Ir.new({type:r.type.dictionary,nullValues:null}),"function"===typeof o&&(r.valueToKey=o),r}return E(n,[{key:"values",get:function(){return this.indices.values}},{key:"nullCount",get:function(){return this.indices.nullCount}},{key:"nullBitmap",get:function(){return this.indices.nullBitmap}},{key:"byteLength",get:function(){return this.indices.byteLength+this.dictionary.byteLength}},{key:"reservedLength",get:function(){return this.indices.reservedLength+this.dictionary.reservedLength}},{key:"reservedByteLength",get:function(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}},{key:"isValid",value:function(t){return this.indices.isValid(t)}},{key:"setValid",value:function(t,e){var n=this.indices;return e=n.setValid(t,e),this.length=n.length,e}},{key:"setValue",value:function(t,e){var n=this._keysToIndices,r=this.valueToKey(e),i=n[r];return void 0===i&&(n[r]=i=this._dictionaryOffset+this.dictionary.append(e).length-1),this.indices.setValue(t,i)}},{key:"flush",value:function(){var t=this.type,e=this._dictionary,n=this.dictionary.toVector(),r=this.indices.flush().clone(t);return r.dictionary=e?e.concat(n):n,this.finished||(this._dictionaryOffset+=n.length),this._dictionary=r.dictionary,this.clear(),r}},{key:"finish",value:function(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),ze(ut(n.prototype),"finish",this).call(this)}},{key:"clear",value:function(){return this.indices.clear(),this.dictionary.clear(),ze(ut(n.prototype),"clear",this).call(this)}},{key:"valueToKey",value:function(t){return"string"===typeof t?t:"".concat(t)}}]),n}(Ir),Mr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),Er=new Float64Array(1),Ur=new Uint32Array(Er.buffer);function Nr(t){var e=(31744&t)>>10,n=(1023&t)/1024,r=Math.pow(-1,(32768&t)>>15);switch(e){case 31:return r*(n?NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function Cr(t){if(t!==t)return 32256;Er[0]=t;var e=(2147483648&Ur[1])>>16&65535,n=2146435072&Ur[1],r=0;return n>=1089470464?Ur[0]>0?n=31744:(n=(2080374784&n)>>16,r=(1048575&Ur[1])>>10):n<=1056964608?(r=1048576+((r=1048576+(1048575&Ur[1]))<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=512+(1048575&Ur[1])>>10),e|n|65535&r}var Vr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),jr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"setValue",value:function(t,e){this._values.set(t,Cr(e))}}]),n}(Vr),Rr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"setValue",value:function(t,e){this._values.set(t,e)}}]),n}(Vr),Pr=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"setValue",value:function(t,e){this._values.set(t,e)}}]),n}(Vr);function zr(t,e,n){return zr=st()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&at(i,n.prototype),i},zr.apply(null,arguments)}var Yr,Wr,Hr=Symbol.for("isArrowBigNum");function $r(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r>>=0),s+=(n>>>0)+e*Math.pow(c,32);return s}function Zr(t){var e="",n=new Uint32Array(2),r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer),a=-1,o=r.length-1;do{for(n[0]=r[a=0];a0&&void 0!==arguments[0]?arguments[0]:"default";switch(t){case"number":return Jr(this);case"string":return Yr(this);case"default":return Wr(this)}return Yr(this)},Object.setPrototypeOf(Kr.prototype,Object.create(Int32Array.prototype)),Object.setPrototypeOf(Gr.prototype,Object.create(Uint32Array.prototype)),Object.setPrototypeOf(qr.prototype,Object.create(Uint32Array.prototype)),Object.assign(Kr.prototype,$r.prototype,{constructor:Kr,signed:!0,TypedArray:Int32Array,BigIntArray:_t}),Object.assign(Gr.prototype,$r.prototype,{constructor:Gr,signed:!1,TypedArray:Uint32Array,BigIntArray:St}),Object.assign(qr.prototype,$r.prototype,{constructor:qr,signed:!0,TypedArray:Uint32Array,BigIntArray:St}),kt?(Wr=function(t){return 8===t.byteLength?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Zr(t)},Yr=function(t){return 8===t.byteLength?"".concat(new t.BigIntArray(t.buffer,t.byteOffset,1)[0]):Zr(t)}):Wr=Yr=Zr;var Qr,Xr=function(){function t(e,n){return F(this,t),t.new(e,n)}return E(t,null,[{key:"new",value:function(t,e){switch(e){case!0:return new Kr(t);case!1:return new Gr(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case _t:return new Kr(t)}return 16===t.byteLength?new qr(t):new Gr(t)}},{key:"signed",value:function(t){return new Kr(t)}},{key:"unsigned",value:function(t){return new Gr(t)}},{key:"decimal",value:function(t){return new qr(t)}}]),t}(),ti=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"setValue",value:function(t,e){this._values.set(t,e)}}]),n}(Sr),ei=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ti),ni=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ti),ri=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ti),ii=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),t.nullValues&&(t.nullValues=t.nullValues.map(ci)),(r=e.call(this,t))._values=new _r(new Int32Array(0),2),r}return E(n,[{key:"values64",get:function(){return this._values.buffer64}},{key:"isValid",value:function(t){return ze(ut(n.prototype),"isValid",this).call(this,ci(t))}}]),n}(ti),ai=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ti),oi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ti),ui=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ti),si=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),t.nullValues&&(t.nullValues=t.nullValues.map(ci)),(r=e.call(this,t))._values=new _r(new Uint32Array(0),2),r}return E(n,[{key:"values64",get:function(){return this._values.buffer64}},{key:"isValid",value:function(t){return ze(ut(n.prototype),"isValid",this).call(this,ci(t))}}]),n}(ti),ci=(Qr={BigIntArray:_t},function(t){return ArrayBuffer.isView(t)&&(Qr.buffer=t.buffer,Qr.byteOffset=t.byteOffset,Qr.byteLength=t.byteLength,t=Wr(Qr),Qr.buffer=null),t}),fi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),li=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(fi),hi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(fi),yi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(fi),pi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(fi),di=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),vi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(di),bi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(di),gi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(di),mi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(di),ki=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(Sr),wi=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ki),_i=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(ki),Ii=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._values=new gr(new Uint8Array(0)),r}return E(n,[{key:"byteLength",get:function(){var t=this._pendingLength+4*this.length;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}},{key:"setValue",value:function(t,e){return ze(ut(n.prototype),"setValue",this).call(this,t,Jt(e))}},{key:"_flushPending",value:function(t,e){var n,r,i=this._offsets,a=this._values.reserve(e).buffer,o=0,u=0,s=0,c=O(t);try{for(c.s();!(r=c.n()).done;){var f=U(r.value,2);o=f[0],void 0===(n=f[1])?i.set(o,0):(u=n.length,a.set(n,s),i.set(o,u),s+=u)}}catch(l){c.e(l)}finally{c.f()}}}]),n}(xr),Si=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._values=new gr(new Uint8Array(0)),r}return E(n,[{key:"byteLength",get:function(){var t=this._pendingLength+4*this.length;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}},{key:"setValue",value:function(t,e){return ze(ut(n.prototype),"setValue",this).call(this,t,it(e))}},{key:"_flushPending",value:function(t,e){}}]),n}(xr);Si.prototype._flushPending=Ii.prototype._flushPending;var xi=function(){function t(){F(this,t)}return E(t,[{key:"length",get:function(){return this._values.length}},{key:"get",value:function(t){return this._values[t]}},{key:"clear",value:function(){return this._values=null,this}},{key:"bind",value:function(t){return t instanceof qe?t:(this._values=t,this)}}]),t}(),Ai=Symbol.for("parent"),Ti=Symbol.for("rowIndex"),Bi=Symbol.for("keyToIdx"),Oi=Symbol.for("idxToVal"),Di=Symbol.for("nodejs.util.inspect.custom"),Li=function(t){function e(t,n){F(this,e),this[Ai]=t,this.size=n}return E(e,[{key:"entries",value:function(){return this[Symbol.iterator]()}},{key:"has",value:function(t){return void 0!==this.get(t)}},{key:"get",value:function(t){var e=void 0;if(null!==t&&void 0!==t){var n=this[Bi]||(this[Bi]=new Map),r=n.get(t);if(void 0!==r){var i=this[Oi]||(this[Oi]=new Array(this.size));void 0!==(e=i[r])||(i[r]=e=this.getValue(r))}else if((r=this.getIndex(t))>-1){n.set(t,r);var a=this[Oi]||(this[Oi]=new Array(this.size));void 0!==(e=a[r])||(a[r]=e=this.getValue(r))}}return e}},{key:"set",value:function(t,e){if(null!==t&&void 0!==t){var n=this[Bi]||(this[Bi]=new Map),r=n.get(t);if(void 0===r&&n.set(t,r=this.getIndex(t)),r>-1)(this[Oi]||(this[Oi]=new Array(this.size)))[r]=this.setValue(r,e)}return this}},{key:"clear",value:function(){throw new Error("Clearing ".concat(this[Symbol.toStringTag]," not supported."))}},{key:"delete",value:function(t){throw new Error("Deleting ".concat(this[Symbol.toStringTag]," values not supported."))}},{key:Symbol.iterator,value:R.mark((function t(){var e,n,r,i,a,o,u,s,c;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=this.keys(),n=this.values(),r=this[Bi]||(this[Bi]=new Map),i=this[Oi]||(this[Oi]=new Array(this.size)),u=0;case 5:if((s=e.next()).done||(c=n.next()).done){t.next=15;break}return a=s.value,o=c.value,i[u]=o,r.has(a)||r.set(a,u),t.next=12,[a,o];case 12:++u,t.next=5;break;case 15:case"end":return t.stop()}}),t,this)}))},{key:"forEach",value:function(t,e){for(var n,r,i,a,o=this.keys(),u=this.values(),s=void 0===e?t:function(n,r,i){return t.call(e,n,r,i)},c=this[Bi]||(this[Bi]=new Map),f=this[Oi]||(this[Oi]=new Array(this.size)),l=0;!(i=o.next()).done&&!(a=u.next()).done;++l)n=i.value,r=a.value,f[l]=r,c.has(n)||c.set(n,l),s(r,n,this)}},{key:"toArray",value:function(){return vn(this.values())}},{key:"toJSON",value:function(){var t={};return this.forEach((function(e,n){return t[n]=e})),t}},{key:"inspect",value:function(){return this.toString()}},{key:Di,value:function(){return this.toString()}},{key:"toString",value:function(){var t=[];return this.forEach((function(e,n){n=pr(n),e=pr(e),t.push("".concat(n,": ").concat(e))})),"{ ".concat(t.join(", ")," }")}}]),e}();Li[Symbol.toStringTag]=function(t){var e;return Object.defineProperties(t,(Ve(e={size:{writable:!0,enumerable:!1,configurable:!1,value:0}},Ai,{writable:!0,enumerable:!1,configurable:!1,value:null}),Ve(e,Ti,{writable:!0,enumerable:!1,configurable:!1,value:-1}),e)),t[Symbol.toStringTag]="Row"}(Li.prototype);var Fi=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),ht(r=e.call(this,t,t.length),Ni(lt(r)))}return E(n,[{key:"keys",value:function(){return this[Ai].getChildAt(0)[Symbol.iterator]()}},{key:"values",value:function(){return this[Ai].getChildAt(1)[Symbol.iterator]()}},{key:"getKey",value:function(t){return this[Ai].getChildAt(0).get(t)}},{key:"getIndex",value:function(t){return this[Ai].getChildAt(0).indexOf(t)}},{key:"getValue",value:function(t){return this[Ai].getChildAt(1).get(t)}},{key:"setValue",value:function(t,e){this[Ai].getChildAt(1).set(t,e)}}]),n}(Li),Mi=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),ht(r=e.call(this,t,t.type.children.length),Ui(lt(r)))}return E(n,[{key:"keys",value:R.mark((function t(){var e,n,r;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=O(this[Ai].type.children),t.prev=1,e.s();case 3:if((n=e.n()).done){t.next=9;break}return r=n.value,t.next=7,r.name;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"values",value:R.mark((function t(){var e,n,r;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=O(this[Ai].type.children),t.prev=1,e.s();case 3:if((n=e.n()).done){t.next=9;break}return r=n.value,t.next=7,this[r.name];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"getKey",value:function(t){return this[Ai].type.children[t].name}},{key:"getIndex",value:function(t){return this[Ai].type.children.findIndex((function(e){return e.name===t}))}},{key:"getValue",value:function(t){return this[Ai].getChildAt(t).get(this[Ti])}},{key:"setValue",value:function(t,e){return this[Ai].getChildAt(t).set(this[Ti],e)}}]),n}(Li);Object.setPrototypeOf(Li.prototype,Map.prototype);var Ei,Ui=function(){var t={enumerable:!0,configurable:!1,get:null,set:null};return function(e){var n,r=-1,i=e[Bi]||(e[Bi]=new Map),a=function(t){return function(){return this.get(t)}},o=function(t){return function(e){return this.set(t,e)}},u=O(e.keys());try{for(u.s();!(n=u.n()).done;){var s=n.value;i.set(s,++r),t.get=a(s),t.set=o(s),e.hasOwnProperty(s)||(t.enumerable=!0,Object.defineProperty(e,s,t)),e.hasOwnProperty(r)||(t.enumerable=!1,Object.defineProperty(e,r,t))}}catch(c){u.e(c)}finally{u.f()}return t.get=t.set=null,e}}(),Ni=function(){if("undefined"===typeof Proxy)return Ui;var t=Li.prototype.has,e=Li.prototype.get,n=Li.prototype.set,r=Li.prototype.getKey,i={isExtensible:function(){return!1},deleteProperty:function(){return!1},preventExtensions:function(){return!0},ownKeys:function(t){return vn(t.keys()).map((function(t){return"".concat(t)}))},has:function(t,e){switch(e){case"getKey":case"getIndex":case"getValue":case"setValue":case"toArray":case"toJSON":case"inspect":case"constructor":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"toLocaleString":case"valueOf":case"size":case"has":case"get":case"set":case"clear":case"delete":case"keys":case"values":case"entries":case"forEach":case"__proto__":case"__defineGetter__":case"__defineSetter__":case"hasOwnProperty":case"__lookupGetter__":case"__lookupSetter__":case Symbol.iterator:case Symbol.toStringTag:case Ai:case Ti:case Oi:case Bi:case Di:return!0}return"number"!==typeof e||t.has(e)||(e=t.getKey(e)),t.has(e)},get:function(n,i,a){switch(i){case"getKey":case"getIndex":case"getValue":case"setValue":case"toArray":case"toJSON":case"inspect":case"constructor":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"toLocaleString":case"valueOf":case"size":case"has":case"get":case"set":case"clear":case"delete":case"keys":case"values":case"entries":case"forEach":case"__proto__":case"__defineGetter__":case"__defineSetter__":case"hasOwnProperty":case"__lookupGetter__":case"__lookupSetter__":case Symbol.iterator:case Symbol.toStringTag:case Ai:case Ti:case Oi:case Bi:case Di:return Reflect.get(n,i,a)}return"number"!==typeof i||t.call(a,i)||(i=r.call(a,i)),e.call(a,i)},set:function(e,i,a,o){switch(i){case Ai:case Ti:case Oi:case Bi:return Reflect.set(e,i,a,o);case"getKey":case"getIndex":case"getValue":case"setValue":case"toArray":case"toJSON":case"inspect":case"constructor":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"toLocaleString":case"valueOf":case"size":case"has":case"get":case"set":case"clear":case"delete":case"keys":case"values":case"entries":case"forEach":case"__proto__":case"__defineGetter__":case"__defineSetter__":case"hasOwnProperty":case"__lookupGetter__":case"__lookupSetter__":case Symbol.iterator:case Symbol.toStringTag:return!1}return"number"!==typeof i||t.call(o,i)||(i=r.call(o,i)),!!t.call(o,i)&&!!n.call(o,i,a)}};return function(t){return new Proxy(t,i)}}();function Ci(t,e,n){var r=t.length,i=e>-1?e:r+e%r;return n?n(t,i):i}function Vi(t,e,n,r){var i=t.length,a=void 0===i?0:i,o="number"!==typeof e?0:e,u="number"!==typeof n?a:n;return o<0&&(o=(o%a+a)%a),u<0&&(u=(u%a+a)%a),ua&&(u=a),r?r(t,o,u):[o,u]}var ji=kt?mt(0):0,Ri=function(t){return t!==t};function Pi(t){var e=typeof t;if("object"!==e||null===t)return Ri(t)?Ri:"bigint"!==e?function(e){return e===t}:function(e){return ji+e===t};if(t instanceof Date){var n=t.valueOf();return function(t){return t instanceof Date&&t.valueOf()===n}}return ArrayBuffer.isView(t)?function(e){return!!e&&Ae(t,e)}:t instanceof Map?function(t){var e=-1,n=[];return t.forEach((function(t){return n[++e]=Pi(t)})),zi(n)}(t):Array.isArray(t)?function(t){for(var e=[],n=-1,r=t.length;++n1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Hi(i);return F(this,r),(e=n.call(this))._nullCount=-1,e._type=t,e._chunks=i,e._chunkOffsets=a,e._length=a[a.length-1],e._numChildren=(e._type.children||[]).length,e}return E(r,[{key:"type",get:function(){return this._type}},{key:"length",get:function(){return this._length}},{key:"chunks",get:function(){return this._chunks}},{key:"typeId",get:function(){return this._type.typeId}},{key:"VectorName",get:function(){return"Chunked<".concat(this._type,">")}},{key:"data",get:function(){return this._chunks[0]?this._chunks[0].data:null}},{key:"ArrayType",get:function(){return this._type.ArrayType}},{key:"numChildren",get:function(){return this._numChildren}},{key:"stride",get:function(){return this._chunks[0]?this._chunks[0].stride:1}},{key:"byteLength",get:function(){return this._chunks.reduce((function(t,e){return t+e.byteLength}),0)}},{key:"nullCount",get:function(){var t=this._nullCount;return t<0&&(this._nullCount=t=this._chunks.reduce((function(t,e){return t+e.nullCount}),0)),t}},{key:"indices",get:function(){if(Fn.isDictionary(this._type)){if(!this._indices){var t=this._chunks;this._indices=1===t.length?t[0].indices:r.concat.apply(r,vn(t.map((function(t){return t.indices}))))}return this._indices}return null}},{key:"dictionary",get:function(){return Fn.isDictionary(this._type)?this._chunks[this._chunks.length-1].data.dictionary:null}},{key:e,value:R.mark((function t(){var e,n,r;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=O(this._chunks),t.prev=1,e.s();case 3:if((n=e.n()).done){t.next=8;break}return r=n.value,t.delegateYield(r,"t0",6);case 6:t.next=3;break;case 8:t.next=13;break;case 10:t.prev=10,t.t1=t.catch(1),e.e(t.t1);case 13:return t.prev=13,e.f(),t.finish(13);case 16:case"end":return t.stop()}}),t,this,[[1,10,13,16]])}))},{key:"clone",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._chunks;return new r(this._type,t)}},{key:"concat",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n=this._numChildren)return null;var e,n,i,a=this._children||(this._children=[]);return(e=a[t])?e:(n=(this._type.children||[])[t])&&(i=this._chunks.map((function(e){return e.getChildAt(t)})).filter((function(t){return null!=t}))).length>0?a[t]=new r(n.type,i):null}},{key:"search",value:function(t,e){var n=t,r=this._chunkOffsets,i=r.length-1;if(n<0)return null;if(n>=r[i])return null;if(i<=1)return e?e(this,0,n):[0,n];var a=0,o=0,u=0;do{if(a+1===i)return e?e(this,a,n-o):[a,n-o];n>=r[u=a+(i-a)/2|0]?a=u:i=u}while(n=(o=r[a]));return null}},{key:"isValid",value:function(t){return!!this.search(t,this.isValidInternal)}},{key:"get",value:function(t){return this.search(t,this.getInternal)}},{key:"set",value:function(t,e){this.search(t,(function(t,n,r){return t.chunks[n].set(r,e)}))}},{key:"indexOf",value:function(t,e){var n=this;return e&&"number"===typeof e?this.search(e,(function(e,r,i){return n.indexOfInternal(e,r,i,t)})):this.indexOfInternal(this,0,Math.max(0,e||0),t)}},{key:"toArray",value:function(){var t=this.chunks,e=t.length,n=this._type.ArrayType;if(e<=0)return new n(0);if(e<=1)return t[0].toArray();for(var r=0,i=new Array(e),a=-1;++a=n)break;if(!(e>=f+c))if(f>=e&&f+c<=n)r.push(s);else{var l=Math.max(0,e-f),h=Math.min(n-f,c);r.push(s.slice(l,h))}}return t.clone(r)}}],[{key:"flatten",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0;return F(this,n),i=Wi.flatten.apply(Wi,vn(i)),(r=e.call(this,t.type,i,a))._field=t,1!==i.length||lt(r)instanceof qi?r:ht(r,new qi(t,i[0],r._chunkOffsets))}return E(n,[{key:"field",get:function(){return this._field}},{key:"name",get:function(){return this._field.name}},{key:"nullable",get:function(){return this._field.nullable}},{key:"metadata",get:function(){return this._field.metadata}},{key:"clone",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._chunks;return new n(this._field,t)}},{key:"getChildAt",value:function(t){if(t<0||t>=this.numChildren)return null;var e,r,i,a=this._children||(this._children=[]);return(e=a[t])?e:(r=(this.type.children||[])[t])&&(i=this._chunks.map((function(e){return e.getChildAt(t)})).filter((function(t){return null!=t}))).length>0?a[t]=new n(r,i):null}}],[{key:"new",value:function(t,e){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a0}))&&(t=t.clone({nullable:!0}));return new n(t,o)}}]),n}(Wi),qi=function(t){ot(n,t);var e=yt(n);function n(t,r,i){var a;return F(this,n),(a=e.call(this,t,[r],i))._chunk=r,a}return E(n,[{key:"search",value:function(t,e){return e?e(this,0,t):[0,t]}},{key:"isValid",value:function(t){return this._chunk.isValid(t)}},{key:"get",value:function(t){return this._chunk.get(t)}},{key:"set",value:function(t,e){this._chunk.set(t,e)}},{key:"indexOf",value:function(t,e){return this._chunk.indexOf(t,e)}}]),n}(Gi),Ji=Array.isArray,Zi=function(t,e){return na(t,e,[],0)},Qi=function(t){var e=U(oa(t,[[],[]]),2),n=e[0];return e[1].map((function(t,e){return t instanceof Gi?Gi.new(t.field.clone(n[e]),t):t instanceof qe?Gi.new(n[e],t):Gi.new(n[e],[])}))},Xi=function(t){return oa(t,[[],[]])},ta=function(t,e){return ra(t,e,[],0)},ea=function(t,e){return ia(t,e,[],0)};function na(t,e,n,r){for(var i,a=r,o=-1,u=e.length;++o0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0;F(this,e),this.fields=t||[],this.metadata=n||new Map,r||(r=fa(t)),this.dictionaries=r}return E(e,[{key:Symbol.toStringTag,get:function(){return"Schema"}},{key:"toString",value:function(){return"Schema<{ ".concat(this.fields.map((function(t,e){return"".concat(e,": ").concat(t)})).join(", ")," }>")}},{key:"compareTo",value:function(t){return Ln.compareSchemas(this,t)}},{key:"select",value:function(){for(var t=arguments.length,n=new Array(t),r=0;r2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;F(this,e),this.name=t,this.type=n,this.nullable=r,this.metadata=i||new Map}return E(e,[{key:"typeId",get:function(){return this.type.typeId}},{key:Symbol.toStringTag,get:function(){return"Field"}},{key:"toString",value:function(){return"".concat(this.name,": ").concat(this.type)}},{key:"compareTo",value:function(t){return Ln.compareField(this,t)}},{key:"clone",value:function(){for(var t,n,r,i,a,o,u,s,c,f,l=arguments.length,h=new Array(l),y=0;y1&&void 0!==arguments[1]?arguments[1]:new Map,n=-1,r=t.length;++n0&&fa(a.children,e)}return e}ua.prototype.fields=null,ua.prototype.metadata=null,ua.prototype.dictionaries=null,sa.prototype.type=null,sa.prototype.name=null,sa.prototype.nullable=null,sa.prototype.metadata=null;var la=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._run=new xi,r._offsets=new wr,r}return E(n,[{key:"addChild",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0";if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new rr(new sa(e,t.type,!0)),this.numChildren-1}},{key:"clear",value:function(){return this._run.clear(),ze(ut(n.prototype),"clear",this).call(this)}},{key:"_flushPending",value:function(t){var e,n,r=this._run,i=this._offsets,a=this._setValue,o=0,u=O(t);try{for(u.s();!(n=u.n()).done;){var s=U(n.value,2);o=s[0],void 0===(e=s[1])?i.set(o,0):(i.set(o,e.length),a(this,o,r.bind(e)))}}catch(c){u.e(c)}finally{u.f()}}}]),n}(xr),ha=function(t){ot(n,t);var e=yt(n);function n(){var t;return F(this,n),(t=e.apply(this,arguments))._run=new xi,t}return E(n,[{key:"setValue",value:function(t,e){ze(ut(n.prototype),"setValue",this).call(this,t,this._run.bind(e))}},{key:"addChild",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0";if(this.numChildren>0)throw new Error("FixedSizeListBuilder can only have one child.");var n=this.children.push(t);return this.type=new ur(this.type.listSize,new sa(e,t.type,!0)),n}},{key:"clear",value:function(){return this._run.clear(),ze(ut(n.prototype),"clear",this).call(this)}}]),n}(Ir),ya=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"set",value:function(t,e){return ze(ut(n.prototype),"set",this).call(this,t,e)}},{key:"setValue",value:function(t,e){e=e instanceof Map?e:new Map(Object.entries(e));var n=this._pending||(this._pending=new Map),r=n.get(t);r&&(this._pendingLength-=r.size),this._pendingLength+=e.size,n.set(t,e)}},{key:"addChild",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"".concat(this.numChildren);if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new sr(new sa(e,t.type,!0),this.type.keysSorted),this.numChildren-1}},{key:"_flushPending",value:function(t){var e=this,n=this._offsets,r=this._setValue;t.forEach((function(t,i){void 0===t?n.set(i,0):(n.set(i,t.size),r(e,i,t))}))}}]),n}(xr),pa=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"addChild",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"".concat(this.numChildren),n=this.children.push(t);return this.type=new ir([].concat(vn(this.type.children),[new sa(e,t.type,!0)])),n}}]),n}(Ir),da=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._typeIds=new mr(new Int8Array(0),1),"function"===typeof t.valueToChildTypeId&&(r._valueToChildTypeId=t.valueToChildTypeId),r}return E(n,[{key:"typeIdToChildIndex",get:function(){return this.type.typeIdToChildIndex}},{key:"append",value:function(t,e){return this.set(this.length,t,e)}},{key:"set",value:function(t,e,n){return void 0===n&&(n=this._valueToChildTypeId(this,e,t)),this.setValid(t,this.isValid(e))&&this.setValue(t,e,n),this}},{key:"setValue",value:function(t,e,r){this._typeIds.set(t,r),ze(ut(n.prototype),"setValue",this).call(this,t,e)}},{key:"addChild",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"".concat(this.children.length),n=this.children.push(t),r=this.type,i=r.children,a=r.mode,o=r.typeIds,u=[].concat(vn(i),[new sa(e,t.type)]);return this.type=new ar(a,[].concat(vn(o),[n]),u),n}},{key:"_valueToChildTypeId",value:function(t,e,n){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}}]),n}(Ir),va=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(da),ba=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._offsets=new mr(new Int32Array(0)),r}return E(n,[{key:"setValue",value:function(t,e,r){var i=this.type.typeIdToChildIndex[r];return this._offsets.set(t,this.getChildAt(i).length),ze(ut(n.prototype),"setValue",this).call(this,t,e,r)}}]),n}(da),ga=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(bn),ma=function(t,e,n){t[e]=n%4294967296|0,t[e+1]=n/4294967296|0},ka=function(t,e,n,r){var i=e[n],a=e[n+1];null!=i&&null!=a&&t.set(r.subarray(0,a-i),i)},wa=function(t,e,n){!function(t,e,n){t[e]=n/864e5|0}(t.values,e,n.valueOf())},_a=function(t,e,n){var r=t.values;ma(r,2*e,n.valueOf())},Ia=function(t,e,n){var r=t.stride;t.values[r*e]=n},Sa=function(t,e,n){var r=t.stride;t.values[r*e]=Cr(n)},xa=function(t,e,n){switch(typeof n){case"bigint":t.values64[e]=n;break;case"number":t.values[e*t.stride]=n;break;default:var r=n,i=t.stride,a=Ht(t.ArrayType,r);t.values.set(a.subarray(0,i),i*e)}},Aa=function(t,e,n){var r=t.values;return ma(r,2*e,n/1e3)},Ta=function(t,e,n){var r=t.values;return ma(r,2*e,n)},Ba=function(t,e,n){return function(t,e,n){t[e]=1e3*n%4294967296|0,t[e+1]=1e3*n/4294967296|0}(t.values,2*e,n)},Oa=function(t,e,n){return function(t,e,n){t[e]=1e6*n%4294967296|0,t[e+1]=1e6*n/4294967296|0}(t.values,2*e,n)},Da=function(t,e,n){t.values[t.stride*e]=n},La=function(t,e,n){t.values[t.stride*e]=n},Fa=function(t,e,n){t.values.set(n.subarray(0,2),2*e)},Ma=function(t,e,n){t.values.set(n.subarray(0,2),2*e)},Ea=function(t,e,n){var r=t.typeIdToChildIndex[t.typeIds[e]],i=t.getChildAt(r);i&&i.set(t.valueOffsets[e],n)},Ua=function(t,e,n){var r=t.typeIdToChildIndex[t.typeIds[e]],i=t.getChildAt(r);i&&i.set(e,n)},Na=function(t,e,n){t.values.set(n.subarray(0,2),2*e)},Ca=function(t,e,n){t.values[e]=12*n[0]+n[1]%12};ga.prototype.visitBool=function(t,e,n){var r=t.offset,i=t.values,a=r+e;n?i[a>>3]|=1<>3]&=~(1<0){var i=e.children||[],a={nullValues:e.nullValues},o=Array.isArray(i)?function(t,e){return i[e]||a}:function(t){var e=t.name;return i[e]||a};n.children.forEach((function(e,n){var i=e.type,a=o(e,n);r.children.push(t(Re(Re({},a),{},{type:i})))}))}return r},Object.keys(Je).map((function(t){return Je[t]})).filter((function(t){return"number"===typeof t&&t!==Je.NONE})).forEach((function(t){Pa.visit(t).prototype._setValue=ja.getVisitFn(t)})),Si.prototype._setValue=ja.visitBinary,function(t){!function(e){!function(e){!function(e){var n=function(){function e(){F(this,e),this.bb=null,this.bb_pos=0}return E(e,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"version",value:function(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Ye.apache.arrow.flatbuf.MetadataVersion.V1}},{key:"schema",value:function(t){var e=this.bb.__offset(this.bb_pos,6);return e?(t||new Ye.apache.arrow.flatbuf.Schema).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}},{key:"dictionaries",value:function(e,n){var r=this.bb.__offset(this.bb_pos,8);return r?(n||new t.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+r)+24*e,this.bb):null}},{key:"dictionariesLength",value:function(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}},{key:"recordBatches",value:function(e,n){var r=this.bb.__offset(this.bb_pos,10);return r?(n||new t.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+r)+24*e,this.bb):null}},{key:"recordBatchesLength",value:function(){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}}],[{key:"getRootAsFooter",value:function(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startFooter",value:function(t){t.startObject(4)}},{key:"addVersion",value:function(t,e){t.addFieldInt16(0,e,Ye.apache.arrow.flatbuf.MetadataVersion.V1)}},{key:"addSchema",value:function(t,e){t.addFieldOffset(1,e,0)}},{key:"addDictionaries",value:function(t,e){t.addFieldOffset(2,e,0)}},{key:"startDictionariesVector",value:function(t,e){t.startVector(24,e,8)}},{key:"addRecordBatches",value:function(t,e){t.addFieldOffset(3,e,0)}},{key:"startRecordBatchesVector",value:function(t,e){t.startVector(24,e,8)}},{key:"endFooter",value:function(t){return t.endObject()}},{key:"finishFooterBuffer",value:function(t,e){t.finish(e)}},{key:"createFooter",value:function(t,n,r,i,a){return e.startFooter(t),e.addVersion(t,n),e.addSchema(t,r),e.addDictionaries(t,i),e.addRecordBatches(t,a),e.endFooter(t)}}]),e}();e.Footer=n}(e.flatbuf||(e.flatbuf={}))}(e.arrow||(e.arrow={}))}(t.apache||(t.apache={}))}(Va||(Va={})),function(t){!function(t){!function(t){!function(t){var e=function(){function t(){F(this,t),this.bb=null,this.bb_pos=0}return E(t,[{key:"__init",value:function(t,e){return this.bb_pos=t,this.bb=e,this}},{key:"offset",value:function(){return this.bb.readInt64(this.bb_pos)}},{key:"metaDataLength",value:function(){return this.bb.readInt32(this.bb_pos+8)}},{key:"bodyLength",value:function(){return this.bb.readInt64(this.bb_pos+16)}}],[{key:"createBlock",value:function(t,e,n,r){return t.prep(8,24),t.writeInt64(r),t.pad(4),t.writeInt32(n),t.writeInt64(e),t.offset()}}]),t}();t.Block=e}(t.flatbuf||(t.flatbuf={}))}(t.arrow||(t.arrow={}))}(t.apache||(t.apache={}))}(Va||(Va={}));var za=W.Long,Ya=W.Builder,Wa=W.ByteBuffer,Ha=Va.apache.arrow.flatbuf.Block,$a=Va.apache.arrow.flatbuf.Footer,Ka=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:an.V4,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;F(this,t),this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}return E(t,[{key:"numRecordBatches",get:function(){return this._recordBatches.length}},{key:"numDictionaries",get:function(){return this._dictionaryBatches.length}},{key:"recordBatches",value:R.mark((function t(){var e,n,r;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=-1,r=this.numRecordBatches;case 1:if(!(++n=0&&t=0&&t=0&&t=0&&t0)return ze(ut(n.prototype),"write",this).call(this,t)}},{key:"toString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t?rt(this.toUint8Array(!0)):this.toUint8Array(!1).then(rt)}},{key:"toUint8Array",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e?Wt(this._values)[0]:L(R.mark((function e(){var n,r,i,a,o,u,s,c;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r=0,i=!1,a=!1,e.prev=3,u=P(t);case 5:return e.next=7,u.next();case 7:if(!(i=!(s=e.sent).done)){e.next=14;break}c=s.value,n.push(c),r+=c.byteLength;case 11:i=!1,e.next=5;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(3),a=!0,o=e.t0;case 20:if(e.prev=20,e.prev=21,!i||null==u.return){e.next=25;break}return e.next=25,u.return();case 25:if(e.prev=25,!a){e.next=28;break}throw o;case 28:return e.finish(25);case 29:return e.finish(20);case 30:return e.abrupt("return",Wt(n,r)[0]);case 31:case"end":return e.stop()}}),e,null,[[3,16,20,30],[21,,25,29]])})))()}}]),n}(bt),Za=function(t){function e(t){F(this,e),t&&(this.source=new Xa(Be.fromIterable(t)))}return E(e,[{key:Symbol.iterator,value:function(){return this}},{key:"next",value:function(t){return this.source.next(t)}},{key:"throw",value:function(t){return this.source.throw(t)}},{key:"return",value:function(t){return this.source.return(t)}},{key:"peek",value:function(t){return this.source.peek(t)}},{key:"read",value:function(t){return this.source.read(t)}}]),e}(),Qa=function(t){function e(t){F(this,e),t instanceof e?this.source=t.source:t instanceof Ja?this.source=new to(Be.fromAsyncIterable(t)):jt(t)?this.source=new to(Be.fromNodeStream(t)):Ct(t)?this.source=new to(Be.fromDOMStream(t)):Ut(t)?this.source=new to(Be.fromDOMStream(t.body)):Dt(t)?this.source=new to(Be.fromIterable(t)):(Ot(t)||Lt(t))&&(this.source=new to(Be.fromAsyncIterable(t)))}return E(e,[{key:Symbol.asyncIterator,value:function(){return this}},{key:"next",value:function(t){return this.source.next(t)}},{key:"throw",value:function(t){return this.source.throw(t)}},{key:"return",value:function(t){return this.source.return(t)}},{key:"closed",get:function(){return this.source.closed}},{key:"cancel",value:function(t){return this.source.cancel(t)}},{key:"peek",value:function(t){return this.source.peek(t)}},{key:"read",value:function(t){return this.source.read(t)}}]),e}(),Xa=function(){function t(e){F(this,t),this.source=e}return E(t,[{key:"cancel",value:function(t){this.return(t)}},{key:"peek",value:function(t){return this.next(t,"peek").value}},{key:"read",value:function(t){return this.next(t,"read").value}},{key:"next",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"read";return this.source.next({cmd:e,size:t})}},{key:"throw",value:function(t){return Object.create(this.source.throw&&this.source.throw(t)||pt)}},{key:"return",value:function(t){return Object.create(this.source.return&&this.source.return(t)||pt)}}]),t}(),to=function(){function t(e){var n=this;F(this,t),this.source=e,this._closedPromise=new Promise((function(t){return n._closedPromiseResolve=t}))}return E(t,[{key:"cancel",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.return(e);case 2:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"closed",get:function(){return this._closedPromise}},{key:"read",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.next(e,"read");case 2:return t.abrupt("return",t.sent.value);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"peek",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.next(e,"peek");case 2:return t.abrupt("return",t.sent.value);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"next",value:function(){var t=L(R.mark((function t(e){var n,r=arguments;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:"read",t.next=3,this.source.next({cmd:n,size:e});case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"throw",value:function(){var t=L(R.mark((function t(e){var n;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.t1=this.source.throw,!t.t1){t.next=5;break}return t.next=4,this.source.throw(e);case 4:t.t1=t.sent;case 5:if(t.t0=t.t1,t.t0){t.next=8;break}t.t0=pt;case 8:return n=t.t0,this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,t.abrupt("return",Object.create(n));case 12:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"return",value:function(){var t=L(R.mark((function t(e){var n;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.t1=this.source.return,!t.t1){t.next=5;break}return t.next=4,this.source.return(e);case 4:t.t1=t.sent;case 5:if(t.t0=t.t1,t.t0){t.next=8;break}t.t0=pt;case 8:return n=t.t0,this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,t.abrupt("return",Object.create(n));case 12:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()}]),t}(),eo=function(t){ot(n,t);var e=yt(n);function n(t,r){var i;return F(this,n),(i=e.call(this)).position=0,i.buffer=Jt(t),i.size="undefined"===typeof r?i.buffer.byteLength:r,i}return E(n,[{key:"readInt32",value:function(t){var e=this.readAt(t,4),n=e.buffer,r=e.byteOffset;return new DataView(n,r).getInt32(0,!0)}},{key:"seek",value:function(t){return this.position=Math.min(t,this.size),t>>16,65535&this.buffer[1],this.buffer[0]>>>16,65535&this.buffer[0]]),n=new Uint32Array([t.buffer[1]>>>16,65535&t.buffer[1],t.buffer[0]>>>16,65535&t.buffer[0]]),r=e[3]*n[3];this.buffer[0]=65535&r;var i=r>>>16;return i+=r=e[2]*n[3],i+=r=e[3]*n[2]>>>0,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0>>16,this.buffer[1]+=e[1]*n[3]+e[2]*n[2]+e[3]*n[1],this.buffer[1]+=e[0]*n[3]+e[1]*n[2]+e[2]*n[1]+e[3]*n[0]<<16,this}},{key:"_plus",value:function(t){var e=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],e>>0&&++this.buffer[1],this.buffer[0]=e}},{key:"lessThan",value:function(t){return this.buffer[1]1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(2);return n.fromString("string"===typeof t?t:t.toString(),e)}},{key:"fromNumber",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(2);return n.fromString(t.toString(),e)}},{key:"fromString",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(2),r=t.length,i=new n(e),a=0;a1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(2);return n.fromString("string"===typeof t?t:t.toString(),e)}},{key:"fromNumber",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(2);return n.fromString(t.toString(),e)}},{key:"fromString",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(2),r=t.startsWith("-"),i=t.length,a=new n(e),o=r?1:0;o>>0,e[2]=this.buffer[2]+t.buffer[2]>>>0,e[1]=this.buffer[1]+t.buffer[1]>>>0,e[0]=this.buffer[0]+t.buffer[0]>>>0,e[0]>>0&&++e[1],e[1]>>0&&++e[2],e[2]>>0&&++e[3],this.buffer[3]=e[3],this.buffer[2]=e[2],this.buffer[1]=e[1],this.buffer[0]=e[0],this}},{key:"hex",value:function(){return"".concat(ro(this.buffer[3])," ").concat(ro(this.buffer[2])," ").concat(ro(this.buffer[1])," ").concat(ro(this.buffer[0]))}}],[{key:"multiply",value:function(e,n){return new t(new Uint32Array(e.buffer)).times(n)}},{key:"add",value:function(e,n){return new t(new Uint32Array(e.buffer)).plus(n)}},{key:"from",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(4);return t.fromString("string"===typeof e?e:e.toString(),n)}},{key:"fromNumber",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(4);return t.fromString(e.toString(),n)}},{key:"fromString",value:function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint32Array(4),r=e.startsWith("-"),i=e.length,a=new t(n),o=r?1:0;o1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length;return yr.Null(t,0,n)}},{key:"visitBool",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Bool(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitInt",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Int(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitFloat",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Float(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitUtf8",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Utf8(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.readData(t))}},{key:"visitBinary",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Binary(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.readData(t))}},{key:"visitFixedSizeBinary",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.FixedSizeBinary(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitDate",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Date(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitTimestamp",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Timestamp(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitTime",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Time(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitDecimal",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Decimal(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitList",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.List(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.visit(t.children[0]))}},{key:"visitStruct",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Struct(t,0,n,r,this.readNullBitmap(t,r),this.visitMany(t.children))}},{key:"visitUnion",value:function(t){return t.mode===en.Sparse?this.visitSparseUnion(t):this.visitDenseUnion(t)}},{key:"visitDenseUnion",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Union(t,0,n,r,this.readNullBitmap(t,r),this.readTypeIds(t),this.readOffsets(t),this.visitMany(t.children))}},{key:"visitSparseUnion",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Union(t,0,n,r,this.readNullBitmap(t,r),this.readTypeIds(t),this.visitMany(t.children))}},{key:"visitDictionary",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Dictionary(t,0,n,r,this.readNullBitmap(t,r),this.readData(t.indices),this.readDictionary(t))}},{key:"visitInterval",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Interval(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}},{key:"visitFixedSizeList",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.FixedSizeList(t,0,n,r,this.readNullBitmap(t,r),this.visit(t.children[0]))}},{key:"visitMap",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextFieldNode(),n=e.length,r=e.nullCount;return yr.Map(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.visit(t.children[0]))}},{key:"nextFieldNode",value:function(){return this.nodes[++this.nodesIndex]}},{key:"nextBufferRange",value:function(){return this.buffers[++this.buffersIndex]}},{key:"readNullBitmap",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.nextBufferRange();return e>0&&this.readData(t,n)||new Uint8Array(0)}},{key:"readOffsets",value:function(t,e){return this.readData(t,e)}},{key:"readTypeIds",value:function(t,e){return this.readData(t,e)}},{key:"readData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextBufferRange(),n=e.length,r=e.offset;return this.bytes.subarray(r,r+n)}},{key:"readDictionary",value:function(t){return this.dictionaries.get(t.id)}}]),n}(bn),fo=function(t){ot(n,t);var e=yt(n);function n(t,r,i,a){var o;return F(this,n),(o=e.call(this,new Uint8Array(0),r,i,a)).sources=t,o}return E(n,[{key:"readNullBitmap",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.nextBufferRange(),r=n.offset;return e<=0?new Uint8Array(0):ln(this.sources[r])}},{key:"readOffsets",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextBufferRange(),n=e.offset;return Ht(Uint8Array,Ht(Int32Array,this.sources[n]))}},{key:"readTypeIds",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextBufferRange(),n=e.offset;return Ht(Uint8Array,Ht(t.ArrayType,this.sources[n]))}},{key:"readData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.nextBufferRange(),n=e.offset,r=this.sources;return Fn.isTimestamp(t)||(Fn.isInt(t)||Fn.isTime(t))&&64===t.bitWidth||Fn.isDate(t)&&t.unit===Qe.MILLISECOND?Ht(Uint8Array,uo.convertArray(r[n])):Fn.isDecimal(t)?Ht(Uint8Array,so.convertArray(r[n])):Fn.isBinary(t)||Fn.isFixedSizeBinary(t)?lo(r[n]):Fn.isBool(t)?ln(r[n]):Fn.isUtf8(t)?it(r[n].join("")):Ht(Uint8Array,Ht(t.ArrayType,r[n].map((function(t){return+t}))))}}]),n}(co);function lo(t){for(var e=t.join(""),n=new Uint8Array(e.length/2),r=0;r>1]=parseInt(e.substr(r,2),16);return n}var ho=W.Long,yo=Ye.apache.arrow.flatbuf.Null,po=Ye.apache.arrow.flatbuf.Int,vo=Ye.apache.arrow.flatbuf.FloatingPoint,bo=Ye.apache.arrow.flatbuf.Binary,go=Ye.apache.arrow.flatbuf.Bool,mo=Ye.apache.arrow.flatbuf.Utf8,ko=Ye.apache.arrow.flatbuf.Decimal,wo=Ye.apache.arrow.flatbuf.Date,_o=Ye.apache.arrow.flatbuf.Time,Io=Ye.apache.arrow.flatbuf.Timestamp,So=Ye.apache.arrow.flatbuf.Interval,xo=Ye.apache.arrow.flatbuf.List,Ao=Ye.apache.arrow.flatbuf.Struct_,To=Ye.apache.arrow.flatbuf.Union,Bo=Ye.apache.arrow.flatbuf.DictionaryEncoding,Oo=Ye.apache.arrow.flatbuf.FixedSizeBinary,Do=Ye.apache.arrow.flatbuf.FixedSizeList,Lo=Ye.apache.arrow.flatbuf.Map,Fo=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"visit",value:function(t,e){return null==t||null==e?void 0:ze(ut(n.prototype),"visit",this).call(this,t,e)}},{key:"visitNull",value:function(t,e){return yo.startNull(e),yo.endNull(e)}},{key:"visitInt",value:function(t,e){return po.startInt(e),po.addBitWidth(e,t.bitWidth),po.addIsSigned(e,t.isSigned),po.endInt(e)}},{key:"visitFloat",value:function(t,e){return vo.startFloatingPoint(e),vo.addPrecision(e,t.precision),vo.endFloatingPoint(e)}},{key:"visitBinary",value:function(t,e){return bo.startBinary(e),bo.endBinary(e)}},{key:"visitBool",value:function(t,e){return go.startBool(e),go.endBool(e)}},{key:"visitUtf8",value:function(t,e){return mo.startUtf8(e),mo.endUtf8(e)}},{key:"visitDecimal",value:function(t,e){return ko.startDecimal(e),ko.addScale(e,t.scale),ko.addPrecision(e,t.precision),ko.endDecimal(e)}},{key:"visitDate",value:function(t,e){return wo.startDate(e),wo.addUnit(e,t.unit),wo.endDate(e)}},{key:"visitTime",value:function(t,e){return _o.startTime(e),_o.addUnit(e,t.unit),_o.addBitWidth(e,t.bitWidth),_o.endTime(e)}},{key:"visitTimestamp",value:function(t,e){var n=t.timezone&&e.createString(t.timezone)||void 0;return Io.startTimestamp(e),Io.addUnit(e,t.unit),void 0!==n&&Io.addTimezone(e,n),Io.endTimestamp(e)}},{key:"visitInterval",value:function(t,e){return So.startInterval(e),So.addUnit(e,t.unit),So.endInterval(e)}},{key:"visitList",value:function(t,e){return xo.startList(e),xo.endList(e)}},{key:"visitStruct",value:function(t,e){return Ao.startStruct_(e),Ao.endStruct_(e)}},{key:"visitUnion",value:function(t,e){To.startTypeIdsVector(e,t.typeIds.length);var n=To.createTypeIdsVector(e,t.typeIds);return To.startUnion(e),To.addMode(e,t.mode),To.addTypeIds(e,n),To.endUnion(e)}},{key:"visitDictionary",value:function(t,e){var n=this.visit(t.indices,e);return Bo.startDictionaryEncoding(e),Bo.addId(e,new ho(t.id,0)),Bo.addIsOrdered(e,t.isOrdered),void 0!==n&&Bo.addIndexType(e,n),Bo.endDictionaryEncoding(e)}},{key:"visitFixedSizeBinary",value:function(t,e){return Oo.startFixedSizeBinary(e),Oo.addByteWidth(e,t.byteWidth),Oo.endFixedSizeBinary(e)}},{key:"visitFixedSizeList",value:function(t,e){return Do.startFixedSizeList(e),Do.addListSize(e,t.listSize),Do.endFixedSizeList(e)}},{key:"visitMap",value:function(t,e){return Lo.startMap(e),Lo.addKeysSorted(e,t.keysSorted),Lo.endMap(e)}}]),n}(bn),Mo=new Fo;function Eo(t){return new nu(t.count,Co(t.columns),Vo(t.columns))}function Uo(t,e){return(t.fields||[]).filter(Boolean).map((function(t){return sa.fromJSON(t,e)}))}function No(t,e){return(t.children||[]).filter(Boolean).map((function(t){return sa.fromJSON(t,e)}))}function Co(t){return(t||[]).reduce((function(t,e){return[].concat(vn(t),[new au(e.count,(n=e.VALIDITY,(n||[]).reduce((function(t,e){return t+ +(0===e)}),0)))],vn(Co(e.children)));var n}),[])}function Vo(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=-1,r=(t||[]).length;++n1&&void 0!==arguments[1]?arguments[1]:0;if(e instanceof ua)return new t(0,an.V4,rn.Schema,e);if(e instanceof nu)return new t(n,an.V4,rn.RecordBatch,e);if(e instanceof ru)return new t(n,an.V4,rn.DictionaryBatch,e);throw new Error("Unrecognized Message header: ".concat(e))}}]),t}(),nu=function(){function t(e,n,r){F(this,t),this._nodes=n,this._buffers=r,this._length="number"===typeof e?e:e.low}return E(t,[{key:"nodes",get:function(){return this._nodes}},{key:"length",get:function(){return this._length}},{key:"buffers",get:function(){return this._buffers}}]),t}(),ru=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];F(this,t),this._data=e,this._isDelta=r,this._id="number"===typeof n?n:n.low}return E(t,[{key:"id",get:function(){return this._id}},{key:"data",get:function(){return this._data}},{key:"isDelta",get:function(){return this._isDelta}},{key:"length",get:function(){return this.data.length}},{key:"nodes",get:function(){return this.data.nodes}},{key:"buffers",get:function(){return this.data.buffers}}]),t}(),iu=E((function t(e,n){F(this,t),this.offset="number"===typeof e?e:e.low,this.length="number"===typeof n?n:n.low})),au=E((function t(e,n){F(this,t),this.length="number"===typeof e?e:e.low,this.nullCount="number"===typeof n?n:n.low}));function ou(t){for(var e,n=[],r=-1,i=-1,a=t.nodesLength();++r0?$o.createCustomMetadataVector(t,vn(e.metadata).map((function(e){var n=U(e,2),r=n[0],i=n[1],a=t.createString("".concat(r)),o=t.createString("".concat(i));return Jo.startKeyValue(t),Jo.addKey(t,a),Jo.addValue(t,o),Jo.endKeyValue(t)}))):-1;e.name&&(n=t.createString(e.name));$o.startField(t),$o.addType(t,r),$o.addTypeType(t,o),$o.addChildren(t,s),$o.addNullable(t,!!e.nullable),-1!==n&&$o.addName(t,n);-1!==i&&$o.addDictionary(t,i);-1!==c&&$o.addCustomMetadata(t,c);return $o.endField(t)},sa.decode=function(t,e){var n,r,i,a,o,u;e&&(u=t.dictionary())?e.has(n=u.id().low)?(a=(a=u.indexType())?lu(a):new Cn,o=new lr(e.get(n),a,n,u.isOrdered()),r=new sa(t.name(),o,t.nullable(),fu(t))):(a=(a=u.indexType())?lu(a):new Cn,e.set(n,i=hu(t,cu(t,e))),o=new lr(i,a,n,u.isOrdered()),r=new sa(t.name(),o,t.nullable(),fu(t))):(i=hu(t,cu(t,e)),r=new sa(t.name(),i,t.nullable(),fu(t)));return r||null},sa.fromJSON=function(t,e){var n,r,i,a,o,u;return e&&(a=t.dictionary)?e.has(n=a.id)?(r=(r=a.indexType)?Ro(r):new Cn,u=new lr(e.get(n),r,n,a.isOrdered),i=new sa(t.name,u,t.nullable,jo(t.customMetadata))):(r=(r=a.indexType)?Ro(r):new Cn,e.set(n,o=Po(t,No(t,e))),u=new lr(o,r,n,a.isOrdered),i=new sa(t.name,u,t.nullable,jo(t.customMetadata))):(o=Po(t,No(t,e)),i=new sa(t.name,o,t.nullable,jo(t.customMetadata))),i||null},ua.encode=function(t,e){var n=e.fields.map((function(e){return sa.encode(t,e)}));Ko.startFieldsVector(t,n.length);var r=Ko.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Ko.createCustomMetadataVector(t,vn(e.metadata).map((function(e){var n=U(e,2),r=n[0],i=n[1],a=t.createString("".concat(r)),o=t.createString("".concat(i));return Jo.startKeyValue(t),Jo.addKey(t,a),Jo.addValue(t,o),Jo.endKeyValue(t)}))):-1;Ko.startSchema(t),Ko.addFields(t,r),Ko.addEndianness(t,yu?Qo.Little:Qo.Big),-1!==i&&Ko.addCustomMetadata(t,i);return Ko.endSchema(t)},ua.decode=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Map,n=su(t,e);return new ua(n,fu(t),e)},ua.fromJSON=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Map;return new ua(Uo(t,e),jo(t.customMetadata),e)},nu.encode=function(t,e){var n=e.nodes||[],r=e.buffers||[];Xo.startNodesVector(t,n.length),n.slice().reverse().forEach((function(e){return au.encode(t,e)}));var i=t.endVector();Xo.startBuffersVector(t,r.length),r.slice().reverse().forEach((function(e){return iu.encode(t,e)}));var a=t.endVector();return Xo.startRecordBatch(t),Xo.addLength(t,new zo(e.length,0)),Xo.addNodes(t,i),Xo.addBuffers(t,a),Xo.endRecordBatch(t)},nu.decode=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:an.V4;return new nu(t.length(),ou(t),uu(t,e))},nu.fromJSON=Eo,ru.encode=function(t,e){var n=nu.encode(t,e.data);return tu.startDictionaryBatch(t),tu.addId(t,new zo(e.id,0)),tu.addIsDelta(t,e.isDelta),tu.addData(t,n),tu.endDictionaryBatch(t)},ru.decode=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:an.V4;return new ru(nu.decode(t.data(),e),t.id(),t.isDelta())},ru.fromJSON=function(t){return new ru(Eo(t.data),t.id,t.isDelta)},au.encode=function(t,e){return Zo.createFieldNode(t,new zo(e.length,0),new zo(e.nullCount,0))},au.decode=function(t){return new au(t.length(),t.nullCount())},iu.encode=function(t,e){return Go.createBuffer(t,new zo(e.offset,0),new zo(e.length,0))},iu.decode=function(t){return new iu(t.offset(),t.length())};for(var yu=function(){var t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),256===new Int16Array(t)[0]}(),pu=W.ByteBuffer,du=function(t){return"Expected ".concat(rn[t]," Message in stream, but was null or length 0.")},vu=function(t){return"Header pointer of flatbuffer-encoded ".concat(rn[t]," Message is null or length 0.")},bu=function(t,e){return"Expected to read ".concat(t," metadata bytes, but only read ").concat(e,".")},gu=function(t,e){return"Expected to read ".concat(t," bytes for message body, but only read ").concat(e,".")},mu=function(t){function e(t){F(this,e),this.source=t instanceof Za?t:new Za(t)}return E(e,[{key:Symbol.iterator,value:function(){return this}},{key:"next",value:function(){var t;return(t=this.readMetadataLength()).done||-1===t.value&&(t=this.readMetadataLength()).done||(t=this.readMetadata(t.value)).done?pt:t}},{key:"throw",value:function(t){return this.source.throw(t)}},{key:"return",value:function(t){return this.source.return(t)}},{key:"readMessage",value:function(t){var e;if((e=this.next()).done)return null;if(null!=t&&e.value.headerType!==t)throw new Error(du(t));return e.value}},{key:"readMessageBody",value:function(t){if(t<=0)return new Uint8Array(0);var e=Jt(this.source.read(t));if(e.byteLength0&&void 0!==arguments[0]&&arguments[0],e=rn.Schema,n=this.readMessage(e),r=n&&n.header();if(t&&!r)throw new Error(vu(e));return r}},{key:"readMetadataLength",value:function(){var t=this.source.read(_u),e=t&&new pu(t),n=e&&e.readInt32(0)||0;return{done:0===n,value:n}}},{key:"readMetadata",value:function(t){var e=this.source.read(t);if(!e)return pt;if(e.byteLength0&&void 0!==a[0]&&a[0],n=rn.Schema,t.next=4,this.readMessage(n);case 4:if(r=t.sent,i=r&&r.header(),!e||i){t.next=8;break}throw new Error(vu(n));case 8:return t.abrupt("return",i);case 9:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}()},{key:"readMetadataLength",value:function(){var t=L(R.mark((function t(){var e,n,r;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.source.read(_u);case 2:return e=t.sent,n=e&&new pu(e),r=n&&n.readInt32(0)||0,t.abrupt("return",{done:0===r,value:r});case 6:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}()},{key:"readMetadata",value:function(){var t=L(R.mark((function t(e){var n;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.source.read(e);case 2:if(n=t.sent){t.next=5;break}return t.abrupt("return",pt);case 5:if(!(n.byteLength1&&void 0!==arguments[1]?arguments[1]:0,n=-1,r=Su.length;++n2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");Fn.isNull(t.type)||Lu.call(this,i<=0?new Uint8Array(0):fn(e.offset,r,e.nullBitmap)),this.nodes.push(new au(r,i))}return ze(ut(n.prototype),"visit",this).call(this,t)}},{key:"visitNull",value:function(t){return this}},{key:"visitDictionary",value:function(t){return this.visit(t.indices)}},{key:"nodes",get:function(){return this._nodes}},{key:"buffers",get:function(){return this._buffers}},{key:"byteLength",get:function(){return this._byteLength}},{key:"bufferRegions",get:function(){return this._bufferRegions}}],[{key:"assemble",value:function(){for(var t=new n,e=arguments.length,r=new Array(e),i=0;i=t.length?Lu.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Lu.call(this,fn(t.offset,t.length,e)):Lu.call(this,ln(t))},Du.prototype.visitInt=Fu,Du.prototype.visitFloat=Fu,Du.prototype.visitUtf8=Mu,Du.prototype.visitBinary=Mu,Du.prototype.visitFixedSizeBinary=Fu,Du.prototype.visitDate=Fu,Du.prototype.visitTimestamp=Fu,Du.prototype.visitTime=Fu,Du.prototype.visitDecimal=Fu,Du.prototype.visitList=Eu,Du.prototype.visitStruct=Uu,Du.prototype.visitUnion=function(t){var e=t.type,n=t.length,r=t.typeIds,i=t.valueOffsets;if(Lu.call(this,r),e.mode===en.Sparse)return Uu.call(this,t);if(e.mode===en.Dense){if(t.offset<=0)return Lu.call(this,i),Uu.call(this,t);for(var a,o,u=r.reduce((function(t,e){return Math.max(t,e)}),r[0]),s=new Int32Array(u+1),c=new Int32Array(u+1).fill(-1),f=new Int32Array(n),l=xe(-i[0],n,i),h=-1;++h0&&void 0!==arguments[0]&&arguments[0];return this._sink.toString(t)}},{key:"toUint8Array",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._sink.toUint8Array(t)}},{key:"writeAll",value:function(t){var e=this;return Ot(t)?t.then((function(t){return e.writeAll(t)})):Lt(t)?Ru(this,t):ju(this,t)}},{key:"closed",get:function(){return this._sink.closed}},{key:e,value:function(){return this._sink[Symbol.asyncIterator]()}},{key:"toDOMStream",value:function(t){return this._sink.toDOMStream(t)}},{key:"toNodeStream",value:function(t){return this._sink.toNodeStream(t)}},{key:"close",value:function(){return this.reset()._sink.close()}},{key:"abort",value:function(t){return this.reset()._sink.abort(t)}},{key:"finish",value:function(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}},{key:"reset",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._sink,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t===this._sink||t instanceof Ja?this._sink=t:(this._sink=new Ja,t&&Nt(t)?this.toDOMStream({type:"bytes"}).pipeTo(t):t&&Vt(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,e&&e.compareTo(this._schema)||(null===e?(this._position=0,this._schema=null):(this._started=!0,this._schema=e,this._writeSchema(e))),this}},{key:"write",value:function(t){var e=null;if(!this._sink)throw new Error("RecordBatchWriter is closed");if(null===t||void 0===t)return this.finish()&&void 0;if(t instanceof Ec&&!(e=t.schema))return this.finish()&&void 0;if(t instanceof Uc&&!(e=t.schema))return this.finish()&&void 0;if(e&&!e.compareTo(this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,e)}t instanceof Uc?t instanceof Nc||this._writeRecordBatch(t):t instanceof Ec?this.writeAll(t.chunks):Dt(t)&&this.writeAll(t)}},{key:"_writeMessage",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=e-1,r=eu.encode(t),i=r.byteLength,a=this._writeLegacyIpcFormat?4:8,o=i+a+n&~n,u=o-i-a;return t.headerType===rn.RecordBatch?this._recordBatchBlocks.push(new qa(o,t.bodyLength,this._position)):t.headerType===rn.DictionaryBatch&&this._dictionaryBlocks.push(new qa(o,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(o-a)),i>0&&this._write(r),this._writePadding(u)}},{key:"_write",value:function(t){if(this._started){var e=Jt(t);e&&e.byteLength>0&&(this._sink.write(e),this._position+=e.byteLength)}return this}},{key:"_writeSchema",value:function(t){return this._writeMessage(eu.from(t))}},{key:"_writeFooter",value:function(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}},{key:"_writeMagic",value:function(){return this._write(Su)}},{key:"_writePadding",value:function(t){return t>0?this._write(new Uint8Array(t)):this}},{key:"_writeRecordBatch",value:function(t){var e=Du.assemble(t),n=e.byteLength,r=e.nodes,i=e.bufferRegions,a=e.buffers,o=new nu(t.length,r,i),u=eu.from(o,n);return this._writeDictionaries(t)._writeMessage(u)._writeBodyBuffers(a)}},{key:"_writeDictionaryBatch",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._dictionaryDeltaOffsets.set(e,t.length+(this._dictionaryDeltaOffsets.get(e)||0));var r=Du.assemble(t),i=r.byteLength,a=r.nodes,o=r.bufferRegions,u=r.buffers,s=new nu(t.length,a,o),c=new ru(s,e,n),f=eu.from(c,i);return this._writeMessage(f)._writeBodyBuffers(u)}},{key:"_writeBodyBuffers",value:function(t){for(var e,n,r,i=-1,a=t.length;++i0&&(this._write(e),(r=(n+7&-8)-n)>0&&this._writePadding(r));return this}},{key:"_writeDictionaries",value:function(t){var e,n=O(t.dictionaries);try{for(n.s();!(e=n.n()).done;){var r=U(e.value,2),i=r[0],a=r[1],o=this._dictionaryDeltaOffsets.get(i)||0;if(0===o||(a=a.slice(o)).length>0){var u,s=O("chunks"in a?a.chunks:[a]);try{for(s.s();!(u=s.n()).done;){var c=u.value;this._writeDictionaryBatch(c,i,o>0),o+=c.length}}catch(f){s.e(f)}finally{s.f()}}}}catch(f){n.e(f)}finally{n.f()}return this}}],[{key:"throughNode",value:function(t){throw new Error('"throughNode" not available in this environment')}},{key:"throughDOM",value:function(t,e){throw new Error('"throughDOM" not available in this environment')}}]),r}(vt,Symbol.asyncIterator),Cu=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,null,[{key:"writeAll",value:function(t,e){var r=new n(e);return Ot(t)?t.then((function(t){return r.writeAll(t)})):Lt(t)?Ru(r,t):ju(r,t)}}]),n}(Nu),Vu=function(t){ot(n,t);var e=yt(n);function n(){var t;return F(this,n),(t=e.call(this))._autoDestroy=!0,t}return E(n,[{key:"_writeSchema",value:function(t){return this._writeMagic()._writePadding(2)}},{key:"_writeFooter",value:function(t){var e=Ka.encode(new Ka(t,an.V4,this._recordBatchBlocks,this._dictionaryBlocks));return ze(ut(n.prototype),"_writeFooter",this).call(this,t)._write(e)._write(Int32Array.of(e.byteLength))._writeMagic()}}],[{key:"writeAll",value:function(t){var e=new n;return Ot(t)?t.then((function(t){return e.writeAll(t)})):Lt(t)?Ru(e,t):ju(e,t)}}]),n}(Nu);function ju(t,e){var n=e;e instanceof Ec&&(n=e.chunks,t.reset(void 0,e.schema));var r,i=O(n);try{for(i.s();!(r=i.n()).done;){var a=r.value;t.write(a)}}catch(o){i.e(o)}finally{i.f()}return t.finish()}function Ru(t,e){return Pu.apply(this,arguments)}function Pu(){return(Pu=L(R.mark((function t(e,n){var r,i,a,o,u,s;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=!1,i=!1,t.prev=2,o=P(n);case 4:return t.next=6,o.next();case 6:if(!(r=!(u=t.sent).done)){t.next=12;break}s=u.value,e.write(s);case 9:r=!1,t.next=4;break;case 12:t.next=18;break;case 14:t.prev=14,t.t0=t.catch(2),i=!0,a=t.t0;case 18:if(t.prev=18,t.prev=19,!r||null==o.return){t.next=23;break}return t.next=23,o.return();case 23:if(t.prev=23,!i){t.next=26;break}throw a;case 26:return t.finish(23);case 27:return t.finish(18);case 28:return t.abrupt("return",e.finish());case 29:case"end":return t.stop()}}),t,null,[[2,14,18,28],[19,,23,27]])})))).apply(this,arguments)}var zu=new Uint8Array(0),Yu=function(t){return[zu,zu,new Uint8Array(t),zu]};function Wu(t,e){for(var n,r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.reduce((function(t,e){return Math.max(t,e.length)}),0),a=-1,o=e.length,u=vn(t.fields),s=[],c=(i+63&-64)>>3;++a0;){for(u=Number.POSITIVE_INFINITY,s=-1;++s0&&(i[o++]=[u,f.slice()]))}return[t=new ua(r,t.metadata),i.map((function(e){return zr(Uc,[t].concat(vn(e)))}))]}(t,e.map((function(t){return t instanceof Wi?t.chunks.map((function(t){return t.data})):[t.data]})))}function Ku(t,e,n,r,i){for(var a,o,u=0,s=-1,c=r.length,f=(e+63&-64)>>3;++s=e?u===e?n[s]=a:(n[s]=a.slice(0,e),a=a.slice(e,u-e),i.numBatches=Math.max(i.numBatches,r[s].unshift(a))):((o=t[s]).nullable||(t[s]=o.clone({nullable:!0})),n[s]=a?a._changeLengthAndBackfillNullBitmap(e):yr.new(o.type,0,e,e,Yu(f)));return n}function Gu(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var qu=function(t,e){ot(r,t);var n=yt(r);function r(t,e){var i;return F(this,r),(i=n.call(this))._children=e,i.numChildren=t.childData.length,i._bindDataAccessors(i.data=t),i}return E(r,[{key:"type",get:function(){return this.data.type}},{key:"typeId",get:function(){return this.data.typeId}},{key:"length",get:function(){return this.data.length}},{key:"offset",get:function(){return this.data.offset}},{key:"stride",get:function(){return this.data.stride}},{key:"nullCount",get:function(){return this.data.nullCount}},{key:"byteLength",get:function(){return this.data.byteLength}},{key:"VectorName",get:function(){return"".concat(Je[this.typeId],"Vector")}},{key:"ArrayType",get:function(){return this.type.ArrayType}},{key:"values",get:function(){return this.data.values}},{key:"typeIds",get:function(){return this.data.typeIds}},{key:"nullBitmap",get:function(){return this.data.nullBitmap}},{key:"valueOffsets",get:function(){return this.data.valueOffsets}},{key:e,get:function(){return"".concat(this.VectorName,"<").concat(this.type[Symbol.toStringTag],">")}},{key:"clone",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._children;return qe.new(t,e)}},{key:"concat",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n0){var e=this.offset+t;return 0!==(this.nullBitmap[e>>3]&1<=this.numChildren?null:(this._children||(this._children=[]))[t]||(this._children[t]=qe.new(this.data.childData[t]))}},{key:"toJSON",value:function(){return vn(this)}},{key:"_sliceInternal",value:function(t,e,n){return t.clone(t.data.slice(e,n-e),null)}},{key:"_bindDataAccessors",value:function(t){}}]),r}(qe,Symbol.toStringTag);qu.prototype[Symbol.isConcatSpreadable]=!0;var Ju=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"asUtf8",value:function(){return qe.new(this.data.clone(new Gn))}}]),n}(qu),Zu=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,null,[{key:"from",value:function(t){return Mc((function(){return new qn}),t)}}]),n}(qu),Qu=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,null,[{key:"from",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n>>0)},Js=function(t){return new Date(t)},Zs=function(t,e,n){var r=e[n],i=e[n+1];return null!=r&&null!=i?t.subarray(r,i):null},Qs=function(t,e){return function(t,e){return Js(function(t,e){return 864e5*t[e]}(t,e))}(t.values,e)},Xs=function(t,e){return function(t,e){return Js(qs(t,e))}(t.values,2*e)},tc=function(t,e){var n=t.stride;return t.values[n*e]},ec=function(t,e){var n=t.stride;return Nr(t.values[n*e])},nc=function(t,e){var n=t.stride,r=t.values,i=t.type;return Xr.new(r.subarray(n*e,n*(e+1)),i.isSigned)},rc=function(t,e){var n=t.values;return 1e3*qs(n,2*e)},ic=function(t,e){var n=t.values;return qs(n,2*e)},ac=function(t,e){return function(t,e){return t[e+1]/1e3*4294967296+(t[e]>>>0)/1e3}(t.values,2*e)},oc=function(t,e){return function(t,e){return t[e+1]/1e6*4294967296+(t[e]>>>0)/1e6}(t.values,2*e)},uc=function(t,e){return t.values[t.stride*e]},sc=function(t,e){return t.values[t.stride*e]},cc=function(t,e){var n=t.values;return Xr.signed(n.subarray(2*e,2*(e+1)))},fc=function(t,e){var n=t.values;return Xr.signed(n.subarray(2*e,2*(e+1)))},lc=function(t,e){var n=t.typeIdToChildIndex[t.typeIds[e]],r=t.getChildAt(n);return r?r.get(t.valueOffsets[e]):null},hc=function(t,e){var n=t.typeIdToChildIndex[t.typeIds[e]],r=t.getChildAt(n);return r?r.get(e):null},yc=function(t,e){return t.values.subarray(2*e,2*(e+1))},pc=function(t,e){var n=t.values[e],r=new Int32Array(2);return r[0]=n/12|0,r[1]=n%12|0,r};Gs.prototype.visitNull=function(t,e){return null},Gs.prototype.visitBool=function(t,e){var n=t.offset+e;return 0!==(t.values[n>>3]&1<0?0:-1},vc.prototype.visitBool=bc,vc.prototype.visitInt=bc,vc.prototype.visitInt8=bc,vc.prototype.visitInt16=bc,vc.prototype.visitInt32=bc,vc.prototype.visitInt64=bc,vc.prototype.visitUint8=bc,vc.prototype.visitUint16=bc,vc.prototype.visitUint32=bc,vc.prototype.visitUint64=bc,vc.prototype.visitFloat=bc,vc.prototype.visitFloat16=bc,vc.prototype.visitFloat32=bc,vc.prototype.visitFloat64=bc,vc.prototype.visitUtf8=bc,vc.prototype.visitBinary=bc,vc.prototype.visitFixedSizeBinary=bc,vc.prototype.visitDate=bc,vc.prototype.visitDateDay=bc,vc.prototype.visitDateMillisecond=bc,vc.prototype.visitTimestamp=bc,vc.prototype.visitTimestampSecond=bc,vc.prototype.visitTimestampMillisecond=bc,vc.prototype.visitTimestampMicrosecond=bc,vc.prototype.visitTimestampNanosecond=bc,vc.prototype.visitTime=bc,vc.prototype.visitTimeSecond=bc,vc.prototype.visitTimeMillisecond=bc,vc.prototype.visitTimeMicrosecond=bc,vc.prototype.visitTimeNanosecond=bc,vc.prototype.visitDecimal=bc,vc.prototype.visitList=bc,vc.prototype.visitStruct=bc,vc.prototype.visitUnion=bc,vc.prototype.visitDenseUnion=gc,vc.prototype.visitSparseUnion=gc,vc.prototype.visitDictionary=bc,vc.prototype.visitInterval=bc,vc.prototype.visitIntervalDayTime=bc,vc.prototype.visitIntervalYearMonth=bc,vc.prototype.visitFixedSizeList=bc,vc.prototype.visitMap=bc;var mc=new vc,kc=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n)}(bn);function wc(t){if(t.nullCount>0)return function(t){var e=dc.getVisitFn(t);return hn(t.nullBitmap,t.offset,t.length,t,(function(t,n,r,i){return 0!==(r&1<0)?t.values.subarray(0,r)[Symbol.iterator]():R.mark((function e(n){var i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=-1;case 1:if(!(++i1?e-1:0),r=1;r0&&(this.get=(e=this.get,function(t){return this.isValid(t)?e.call(this,t):null}),this.set=function(t){return function(e,n){cn(this.nullBitmap,this.offset+e,!(null===n||void 0===n))&&t.call(this,e,n)}}(this.set));var e},Object.keys(Je).map((function(t){return Je[t]})).filter((function(t){return"number"===typeof t})).filter((function(t){return t!==Je.NONE})).forEach((function(t){var e,n=Lc.visit(t);n.prototype.get=(e=dc.getVisitFn(t),function(t){return e(this,t)}),n.prototype.set=Ks(ja.getVisitFn(t)),n.prototype.indexOf=Ks(mc.getVisitFn(t)),n.prototype.toArray=$s(xc.getVisitFn(t)),n.prototype.getByteWidth=function(t){return function(){return t(this.type)}}(Oc.getVisitFn(t)),n.prototype[Symbol.iterator]=$s(_c.getVisitFn(t))}));var Ec=function(t){ot(n,t);var e=yt(n);function n(){var t;F(this,n);for(var r=null,i=arguments.length,a=new Array(i),o=0;o0&&void 0!==arguments[0]?arguments[0]:this._chunks;return new n(this._schema,t)}},{key:"getColumn",value:function(t){return this.getColumnAt(this.getColumnIndex(t))}},{key:"getColumnAt",value:function(t){return this.getChildAt(t)}},{key:"getColumnIndex",value:function(t){return this._schema.fields.findIndex((function(e){return e.name===t}))}},{key:"getChildAt",value:function(t){if(t<0||t>=this.numChildren)return null;var e,n,r=this._schema.fields,i=this._children||(this._children=[]);if(n=i[t])return n;if(e=r[t]){var a=this._chunks.map((function(e){return e.getChildAt(t)})).filter((function(t){return null!=t}));if(a.length>0)return i[t]=new Gi(e,a)}return null}},{key:"serialize",value:function(){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=t?Cu:Vu;return e.writeAll(this).toUint8Array(!0)}},{key:"count",value:function(){return this._length}},{key:"select",value:function(){for(var t=this._schema.fields.reduce((function(t,e,n){return t.set(e.name,n)}),new Map),e=arguments.length,n=new Array(e),r=0;r-1}))))}},{key:"selectAt",value:function(){for(var t,e=arguments.length,r=new Array(e),i=0;i3&&void 0!==arguments[3]?arguments[3]:u[r];return void 0===a?e.getColumnAt(r):t.getColumnAt(a)}))),vn(o.map((function(e){return t.getColumnAt(e)})))).filter(Boolean);return zr(n,vn($u(s,c)))}}],[{key:"empty",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new ua([]);return new n(t,[])}},{key:"from",value:function(t){if(!t)return n.empty();if("object"===typeof t){var e=Dt(t.values)?function(t){if(t.type instanceof ir)return Ec.fromStruct(Ls.from(t));return null}(t):Lt(t.values)?function(t){if(t.type instanceof ir)return Ls.from(t).then((function(t){return Ec.fromStruct(t)}));return null}(t):null;if(null!==e)return e}var r=jc.from(t);return Ot(r)?L(R.mark((function t(){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=n,t.next=3,r;case 3:return t.t1=t.sent,t.next=6,t.t0.from.call(t.t0,t.t1);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})))():r.isSync()&&(r=r.open())?r.schema?new n(r.schema,vn(r)):n.empty():function(){var t=L(R.mark((function t(e){var r,i,a,o,u,s,c,f,l;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e;case 2:if(r=t.sent,i=r.schema,a=[],!i){t.next=35;break}o=!1,u=!1,t.prev=8,c=P(r);case 10:return t.next=12,c.next();case 12:if(!(o=!(f=t.sent).done)){t.next=18;break}l=f.value,a.push(l);case 15:o=!1,t.next=10;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(8),u=!0,s=t.t0;case 24:if(t.prev=24,t.prev=25,!o||null==c.return){t.next=29;break}return t.next=29,c.return();case 29:if(t.prev=29,!u){t.next=32;break}throw s;case 32:return t.finish(29);case 33:return t.finish(24);case 34:return t.abrupt("return",new n(i,a));case 35:return t.abrupt("return",n.empty());case 36:case"end":return t.stop()}}),t,null,[[8,20,24,34],[25,,29,33]])})));return function(e){return t.apply(this,arguments)}}()(r.open())}},{key:"fromAsync",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.from(e);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},{key:"fromStruct",value:function(t){return n.new(t.data.childData,t.type.children)}},{key:"new",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:this._children;return new n(this._schema,t,e)}},{key:"concat",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r-1}))))}},{key:"selectAt",value:function(){for(var t,e=this,r=arguments.length,i=new Array(r),a=0;a0&&this.dictionaries.set(e.id,n),this}}],[{key:"collect",value:function(t){return(new n).visit(t.data,new ir(t.schema.fields)).dictionaries}}]),n}(bn),Vc=R.mark(Zc),jc=function(t,e,n){ot(i,t);var r=yt(i);function i(t){var e;return F(this,i),(e=r.call(this))._impl=t,e}return E(i,[{key:"closed",get:function(){return this._impl.closed}},{key:"schema",get:function(){return this._impl.schema}},{key:"autoDestroy",get:function(){return this._impl.autoDestroy}},{key:"dictionaries",get:function(){return this._impl.dictionaries}},{key:"numDictionaries",get:function(){return this._impl.numDictionaries}},{key:"numRecordBatches",get:function(){return this._impl.numRecordBatches}},{key:"footer",get:function(){return this._impl.isFile()?this._impl.footer:null}},{key:"isSync",value:function(){return this._impl.isSync()}},{key:"isAsync",value:function(){return this._impl.isAsync()}},{key:"isFile",value:function(){return this._impl.isFile()}},{key:"isStream",value:function(){return this._impl.isStream()}},{key:"next",value:function(){return this._impl.next()}},{key:"throw",value:function(t){return this._impl.throw(t)}},{key:"return",value:function(t){return this._impl.return(t)}},{key:"cancel",value:function(){return this._impl.cancel()}},{key:"reset",value:function(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}},{key:"open",value:function(t){var e=this,n=this._impl.open(t);return Ot(n)?n.then((function(){return e})):this}},{key:"readRecordBatch",value:function(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}},{key:e,value:function(){return this._impl[Symbol.iterator]()}},{key:n,value:function(){return this._impl[Symbol.asyncIterator]()}},{key:"toDOMStream",value:function(){var t=this;return Be.toDOMStream(this.isSync()?Ve({},Symbol.iterator,(function(){return t})):Ve({},Symbol.asyncIterator,(function(){return t})))}},{key:"toNodeStream",value:function(){var t=this;return Be.toNodeStream(this.isSync()?Ve({},Symbol.iterator,(function(){return t})):Ve({},Symbol.asyncIterator,(function(){return t})),{objectMode:!0})}}],[{key:"throughNode",value:function(t){throw new Error('"throughNode" not available in this environment')}},{key:"throughDOM",value:function(t,e){throw new Error('"throughDOM" not available in this environment')}},{key:"from",value:function(t){return t instanceof i?t:Ft(t)?function(t){return new Rc(new qc(t))}(t):Et(t)?function(t){return ef.apply(this,arguments)}(t):Ot(t)?L(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=i,e.next=3,t;case 3:return e.t1=e.sent,e.next=6,e.t0.from.call(e.t0,e.t1);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))():Ut(t)||Ct(t)||jt(t)||Lt(t)?function(t){return tf.apply(this,arguments)}(new Qa(t)):function(t){var e=t.peek(Tu+7&-8);return e&&e.byteLength>=4?Au(e)?new zc(new Kc(t.read())):new Rc(new Hc(t)):new Rc(new Hc(R.mark((function t(){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)}))()))}(new Za(t))}},{key:"readAll",value:function(t){return t instanceof i?t.isSync()?Zc(t):Qc(t):Ft(t)||ArrayBuffer.isView(t)||Dt(t)||Mt(t)?Zc(t):Qc(t)}}]),i}(vt,Symbol.iterator,Symbol.asyncIterator),Rc=function(t,e,n){ot(i,t);var r=yt(i);function i(t){var e;return F(this,i),(e=r.call(this,t))._impl=t,e}return E(i,[{key:e,value:function(){return this._impl[Symbol.iterator]()}},{key:n,value:function(){var t=this;return j(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.delegateYield(Y(P(t[Symbol.iterator]()),C),"t0",1);case 1:case"end":return e.stop()}}),e)})))()}}]),i}(jc,Symbol.iterator,Symbol.asyncIterator),Pc=function(t,e,n){ot(i,t);var r=yt(i);function i(t){var e;return F(this,i),(e=r.call(this,t))._impl=t,e}return E(i,[{key:e,value:function(){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}},{key:n,value:function(){return this._impl[Symbol.asyncIterator]()}}]),i}(jc,Symbol.iterator,Symbol.asyncIterator),zc=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._impl=t,r}return E(n)}(Rc),Yc=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this,t))._impl=t,r}return E(n)}(Pc),Wc=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;F(this,t),this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}return E(t,[{key:"numDictionaries",get:function(){return this._dictionaryIndex}},{key:"numRecordBatches",get:function(){return this._recordBatchIndex}},{key:"isSync",value:function(){return!1}},{key:"isAsync",value:function(){return!1}},{key:"isFile",value:function(){return!1}},{key:"isStream",value:function(){return!1}},{key:"reset",value:function(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}},{key:"_loadRecordBatch",value:function(t,e){return new Uc(this.schema,t.length,this._loadVectors(t,e,this.schema.fields))}},{key:"_loadDictionaryBatch",value:function(t,e){var n=t.id,r=t.isDelta,i=t.data,a=this.dictionaries,o=this.schema,u=a.get(n);if(r||!u){var s=o.dictionaries.get(n);return u&&r?u.concat(qe.new(this._loadVectors(i,e,[s])[0])):qe.new(this._loadVectors(i,e,[s])[0])}return u}},{key:"_loadVectors",value:function(t,e,n){return new co(e,t.nodes,t.buffers,this.dictionaries).visitMany(n)}}]),t}(),Hc=function(t,e){ot(r,t);var n=yt(r);function r(t,e){var i;return F(this,r),(i=n.call(this,e))._reader=Ft(t)?new wu(i._handle=t):new mu(i._handle=t),i}return E(r,[{key:"isSync",value:function(){return!0}},{key:"isStream",value:function(){return!0}},{key:e,value:function(){return this}},{key:"cancel",value:function(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}},{key:"open",value:function(t){return this.closed||(this.autoDestroy=Jc(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}},{key:"throw",value:function(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):pt}},{key:"return",value:function(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):pt}},{key:"next",value:function(){if(this.closed)return pt;for(var t,e=this._reader;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else{if(t.isRecordBatch()){this._recordBatchIndex++;var n=t.header(),r=e.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(n,r)}}if(t.isDictionaryBatch()){this._dictionaryIndex++;var i=t.header(),a=e.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,o)}}return this.schema&&0===this._recordBatchIndex?(this._recordBatchIndex++,{done:!1,value:new Nc(this.schema)}):this.return()}},{key:"_readNextMessageAndValidate",value:function(t){return this._reader.readMessage(t)}}]),r}(Wc,Symbol.iterator),$c=function(t,e){ot(r,t);var n=yt(r);function r(t,e){var i;return F(this,r),(i=n.call(this,e))._reader=new ku(i._handle=t),i}return E(r,[{key:"isAsync",value:function(){return!0}},{key:"isStream",value:function(){return!0}},{key:e,value:function(){return this}},{key:"cancel",value:function(){var t=L(R.mark((function t(){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.closed||!(this.closed=!0)){t.next=5;break}return t.next=3,this.reset()._reader.return();case 3:this._reader=null,this.dictionaries=null;case 5:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}()},{key:"open",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.closed){t.next=10;break}if(this.autoDestroy=Jc(this,e),t.t0=this.schema,t.t0){t.next=7;break}return t.next=6,this._reader.readSchema();case 6:t.t0=this.schema=t.sent;case 7:if(t.t0){t.next=10;break}return t.next=10,this.cancel();case 10:return t.abrupt("return",this);case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"throw",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.closed||!this.autoDestroy||!(this.closed=!0)){t.next=4;break}return t.next=3,this.reset()._reader.throw(e);case 3:return t.abrupt("return",t.sent);case 4:return t.abrupt("return",pt);case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"return",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.closed||!this.autoDestroy||!(this.closed=!0)){t.next=4;break}return t.next=3,this.reset()._reader.return(e);case 3:return t.abrupt("return",t.sent);case 4:return t.abrupt("return",pt);case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"next",value:function(){var t=L(R.mark((function t(){var e,n,r,i,a,o,u,s;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.closed){t.next=2;break}return t.abrupt("return",pt);case 2:n=this._reader;case 3:return t.next=5,this._readNextMessageAndValidate();case 5:if(!(e=t.sent)){t.next=31;break}if(!e.isSchema()){t.next=11;break}return t.next=9,this.reset(e.header());case 9:t.next=29;break;case 11:if(!e.isRecordBatch()){t.next=21;break}return this._recordBatchIndex++,r=e.header(),t.next=16,n.readMessageBody(e.bodyLength);case 16:return i=t.sent,a=this._loadRecordBatch(r,i),t.abrupt("return",{done:!1,value:a});case 21:if(!e.isDictionaryBatch()){t.next=29;break}return this._dictionaryIndex++,o=e.header(),t.next=26,n.readMessageBody(e.bodyLength);case 26:u=t.sent,s=this._loadDictionaryBatch(o,u),this.dictionaries.set(o.id,s);case 29:t.next=3;break;case 31:if(!this.schema||0!==this._recordBatchIndex){t.next=34;break}return this._recordBatchIndex++,t.abrupt("return",{done:!1,value:new Nc(this.schema)});case 34:return t.next=36,this.return();case 36:return t.abrupt("return",t.sent);case 37:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}()},{key:"_readNextMessageAndValidate",value:function(){var t=L(R.mark((function t(e){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._reader.readMessage(e);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()}]),r}(Wc,Symbol.asyncIterator),Kc=function(t){ot(n,t);var e=yt(n);function n(t,r){return F(this,n),e.call(this,t instanceof eo?t:new eo(t),r)}return E(n,[{key:"footer",get:function(){return this._footer}},{key:"numDictionaries",get:function(){return this._footer?this._footer.numDictionaries:0}},{key:"numRecordBatches",get:function(){return this._footer?this._footer.numRecordBatches:0}},{key:"isSync",value:function(){return!0}},{key:"isFile",value:function(){return!0}},{key:"open",value:function(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;var e,r=O(this._footer.dictionaryBatches());try{for(r.s();!(e=r.n()).done;){e.value&&this._readDictionaryBatch(this._dictionaryIndex++)}}catch(i){r.e(i)}finally{r.f()}}return ze(ut(n.prototype),"open",this).call(this,t)}},{key:"readRecordBatch",value:function(t){if(this.closed)return null;this._footer||this.open();var e=this._footer&&this._footer.getRecordBatch(t);if(e&&this._handle.seek(e.offset)){var n=this._reader.readMessage(rn.RecordBatch);if(n&&n.isRecordBatch()){var r=n.header(),i=this._reader.readMessageBody(n.bodyLength);return this._loadRecordBatch(r,i)}}return null}},{key:"_readDictionaryBatch",value:function(t){var e=this._footer&&this._footer.getDictionaryBatch(t);if(e&&this._handle.seek(e.offset)){var n=this._reader.readMessage(rn.DictionaryBatch);if(n&&n.isDictionaryBatch()){var r=n.header(),i=this._reader.readMessageBody(n.bodyLength),a=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,a)}}}},{key:"_readFooter",value:function(){var t=this._handle,e=t.size-Bu,n=t.readInt32(e),r=t.readAt(e-n,n);return Ka.decode(r)}},{key:"_readNextMessageAndValidate",value:function(t){if(this._footer||this.open(),this._footer&&this._recordBatchIndex1?r-1:0),a=1;a=4)){t.next=18;break}if(Au(n)){t.next=8;break}t.t1=new Pc(new $c(e)),t.next=15;break;case 8:return t.t2=zc,t.t3=Kc,t.next=12,e.read();case 12:t.t4=t.sent,t.t5=new t.t3(t.t4),t.t1=new t.t2(t.t5);case 15:t.t0=t.t1,t.next=19;break;case 18:t.t0=new Pc(new $c(j(R.mark((function t(){return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)})))()));case 19:return t.abrupt("return",t.t0);case 20:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ef(){return(ef=L(R.mark((function t(e){var n,r,i;return R.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.stat();case 2:if(n=t.sent,r=n.size,i=new no(e,r),!(r>=Ou)){t.next=12;break}return t.t0=Au,t.next=9,i.readAt(0,Tu+7&-8);case 9:if(t.t1=t.sent,!(0,t.t0)(t.t1)){t.next=12;break}return t.abrupt("return",new Yc(new Gc(i)));case 12:return t.abrupt("return",new Pc(new $c(i)));case 13:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var nf=["readableStrategy","writableStrategy","queueingStrategy"];var rf=function(){function t(e){var n,r,i=this;F(this,t),this._numChunks=0,this._finished=!1,this._bufferedSize=0;var a=e.readableStrategy,o=e.writableStrategy,u=e.queueingStrategy,s=void 0===u?"count":u,c=Gu(e,nf);this._controller=null,this._builder=Ir.new(c),this._getSize="bytes"!==s?af:of;var f=Re({},a).highWaterMark,l=void 0===f?"bytes"===s?Math.pow(2,14):1e3:f,h=Re({},o).highWaterMark,y=void 0===h?"bytes"===s?Math.pow(2,14):1e3:h;this.readable=new ReadableStream((Ve(n={},"cancel",(function(){i._builder.clear()})),Ve(n,"pull",(function(t){i._maybeFlush(i._builder,i._controller=t)})),Ve(n,"start",(function(t){i._maybeFlush(i._builder,i._controller=t)})),n),{highWaterMark:l,size:"bytes"!==s?af:of}),this.writable=new WritableStream((Ve(r={},"abort",(function(){i._builder.clear()})),Ve(r,"write",(function(){i._maybeFlush(i._builder,i._controller)})),Ve(r,"close",(function(){i._maybeFlush(i._builder.finish(),i._controller)})),r),{highWaterMark:y,size:function(t){return i._writeValueAndReturnChunkSize(t)}})}return E(t,[{key:"_writeValueAndReturnChunkSize",value:function(t){var e=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-e}},{key:"_maybeFlush",value:function(t,e){null!==e&&(this._bufferedSize>=e.desiredSize&&++this._numChunks&&this._enqueue(e,t.toVector()),t.finished&&((t.length>0||0===this._numChunks)&&++this._numChunks&&this._enqueue(e,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(e,null)))}},{key:"_enqueue",value:function(t,e){this._bufferedSize=0,this._controller=null,null===e?t.close():t.enqueue(e)}}]),t}(),af=function(t){return t.length},of=function(t){return t.byteLength};var uf=function(){function t(){F(this,t)}return E(t,[{key:"eq",value:function(e){return e instanceof t||(e=new sf(e)),new df(this,e)}},{key:"le",value:function(e){return e instanceof t||(e=new sf(e)),new vf(this,e)}},{key:"ge",value:function(e){return e instanceof t||(e=new sf(e)),new bf(this,e)}},{key:"lt",value:function(t){return new gf(this.ge(t))}},{key:"gt",value:function(t){return new gf(this.le(t))}},{key:"ne",value:function(t){return new gf(this.eq(t))}}]),t}(),sf=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).v=t,r}return E(n)}(uf),cf=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).name=t,r}return E(n,[{key:"bind",value:function(t){if(!this.colidx){this.colidx=-1;for(var e=t.schema.fields,n=-1;++n=n.v;return function(){return r}}},{key:"_bindColCol",value:function(t,e,n){var r=e.bind(t),i=n.bind(t);return function(t,e){return r(t,e)>=i(t,e)}}},{key:"_bindColLit",value:function(t,e,n){var r=e.bind(t);return function(t,e){return r(t,e)>=n.v}}},{key:"_bindLitCol",value:function(t,e,n){var r=n.bind(t);return function(t,n){return e.v>=r(t,n)}}}]),n}(lf),gf=function(t){ot(n,t);var e=yt(n);function n(t){var r;return F(this,n),(r=e.call(this)).child=t,r}return E(n,[{key:"bind",value:function(t){var e=this.child.bind(t);return function(t,n){return!e(t,n)}}}]),n}(ff);Ec.prototype.countBy=function(t){return new mf(this.chunks).countBy(t)},Ec.prototype.scan=function(t,e){return new mf(this.chunks).scan(t,e)},Ec.prototype.scanReverse=function(t,e){return new mf(this.chunks).scanReverse(t,e)},Ec.prototype.filter=function(t){return new mf(this.chunks).filter(t)};var mf=function(t){ot(n,t);var e=yt(n);function n(){return F(this,n),e.apply(this,arguments)}return E(n,[{key:"filter",value:function(t){return new wf(this.chunks,t)}},{key:"scan",value:function(t,e){for(var n=this.chunks,r=n.length,i=-1;++i=0;){var i=n[r];e&&e(i);for(var a=i.length;--a>=0;)t(a,i)}}},{key:"countBy",value:function(t){var e=this.chunks,n=e.length,r="string"===typeof t?new cf(t):t;r.bind(e[n-1]);var i=r.vector;if(!Fn.isDictionary(i.type))throw new Error("countBy currently only supports dictionary-encoded columns");for(var a=Math.ceil(Math.log(i.length)/Math.log(256)),o=new(4==a?Uint32Array:a>=2?Uint16Array:Uint8Array)(i.dictionary.length),u=-1;++u=0;)for(var i=n[r],a=this._predicate.bind(i),o=!1,u=i.length;--u>=0;)a(u,i)&&(e&&!o&&(e(i),o=!0),t(u,i))}},{key:"count",value:function(){for(var t=0,e=this._chunks,n=e.length,r=-1;++r=2?Uint16Array:Uint8Array)(i.dictionary.length),u=-1;++u=i.headerRows&&e=i.headerColumns;if(n){var o=["blank"];return e>0&&o.push("level"+t),{type:"blank",classNames:o.join(" "),content:""}}if(a)return{type:"columns",classNames:(o=["col_heading","level"+t,"col"+(s=e-i.headerColumns)]).join(" "),content:i.getContent(i.columnsTable,s,t)};if(r){o=["row_heading","level"+e,"row"+(u=t-i.headerRows)];return{type:"index",id:"T_"+i.uuid+"level"+e+"_row"+u,classNames:o.join(" "),content:i.getContent(i.indexTable,u,e)}}o=["data","row"+(u=t-i.headerRows),"col"+(s=e-i.headerColumns)];var u,s,c=i.styler?i.getContent(i.styler.displayValuesTable,u,s):i.getContent(i.dataTable,u,s);return{type:"data",id:"T_"+i.uuid+"row"+u+"_col"+s,classNames:o.join(" "),content:c}},this.getContent=function(t,e,n){var r=t.getColumnAt(n);return null===r?"":i.getColumnTypeId(t,n)===Je.Timestamp?i.nanosToDate(r.get(e)):r.get(e)},this.dataTable=Ec.from(t),this.indexTable=Ec.from(e),this.columnsTable=Ec.from(n),this.styler=r?{caption:r.caption,displayValuesTable:Ec.from(r.displayValues),styles:r.styles,uuid:r.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.length+this.columnsTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!0,configurable:!0}),t.prototype.serialize=function(){return{data:this.dataTable.serialize(),index:this.indexTable.serialize(),columns:this.columnsTable.serialize()}},t.prototype.getColumnTypeId=function(t,e){return t.schema.fields[e].type.typeId},t.prototype.nanosToDate=function(t){return new Date(t/1e6)},t}(),Sf=function(){return Sf=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=Sf(Sf({},n),r);var i=Boolean(e.disabled),a=e.theme;a&&Af(a);var o={disabled:i,args:n,theme:a},u=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(u)},t.argsDataframeToObject=function(e){var n=e.map((function(e){var n=e.key,r=e.value;return[n,t.toArrowTable(r)]}));return Object.fromEntries(n)},t.toArrowTable=function(t){var e=t.data,n=e.data,r=e.index,i=e.columns,a=e.styler;return new If(n,r,i,a)},t.sendBackMsg=function(t,e){window.parent.postMessage(Sf({isStreamlitMessage:!0,type:t},e),"*")},t}(),Af=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML="\n :root {\n --primary-color: "+t.primaryColor+";\n --background-color: "+t.backgroundColor+";\n --secondary-background-color: "+t.secondaryBackgroundColor+";\n --text-color: "+t.textColor+";\n --font: "+t.font+";\n }\n\n body {\n background-color: var(--background-color);\n color: var(--text-color);\n }\n "};var Tf=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},t(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(t){function e(){return null!==t&&t.apply(this,arguments)||this}Tf(e,t),e.prototype.componentDidMount=function(){xf.setFrameHeight()},e.prototype.componentDidUpdate=function(){xf.setFrameHeight()}}(f.a.PureComponent)},function(t,e,n){"use strict";var r=n(6),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function s(t){return r.isMemo(t)?o:u[t.$$typeof]||i}u[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[r.Memo]=o;var c=Object.defineProperty,f=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,y=Object.getPrototypeOf,p=Object.prototype;t.exports=function t(e,n,r){if("string"!==typeof n){if(p){var i=y(n);i&&i!==p&&t(e,i,r)}var o=f(n);l&&(o=o.concat(l(n)));for(var u=s(e),d=s(n),v=0;vD.length&&D.push(t)}function M(t,e,n,r){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var u=!1;if(null===t)u=!0;else switch(i){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case a:case o:u=!0}}if(u)return n(r,t,""===e?"."+U(t,0):e),1;if(u=0,e=""===e?".":e+":",Array.isArray(t))for(var s=0;s=0;--a){var o=this.tryEntries[a],u=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),T(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=r}catch(i){"object"===typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}]]); -//# sourceMappingURL=2.422ca0c4.chunk.js.map \ No newline at end of file diff --git a/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js.LICENSE.txt b/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js.LICENSE.txt deleted file mode 100644 index d65a9ce6da1e7b127ca04a506d396e5cf5d77113..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js.LICENSE.txt +++ /dev/null @@ -1,40 +0,0 @@ -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - -/** - * @license - * Copyright 2018-2021 Streamlit Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** @license React v16.14.0 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js.map b/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js.map deleted file mode 100644 index 03854ebae3adfbc04c1e3f9c14b250e97f87cd04..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/static/js/2.422ca0c4.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/@babel/runtime/regenerator/index.js","../node_modules/react/index.js","../../src/event.mjs","../../src/event-target.mjs","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/AwaitValue.js","../node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/asyncIterator.js","../node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js","../node_modules/flatbuffers/js/flatbuffers.mjs","../node_modules/text-encoding-utf-8/lib/encoding.lib.mjs","../util/utf8.ts","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../io/interfaces.ts","../util/compat.ts","../util/buffer.ts","../io/adapters.ts","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../vector.ts","../fb/Schema.ts","../fb/Message.ts","../enum.ts","../util/bit.ts","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../visitor.ts","../visitor/typecomparator.ts","../type.ts","../data.ts","../util/pretty.ts","../builder/valid.ts","../builder/buffer.ts","../builder.ts","../builder/bool.ts","../builder/null.ts","../builder/date.ts","../builder/decimal.ts","../builder/dictionary.ts","../builder/fixedsizebinary.ts","../util/math.ts","../builder/float.ts","../node_modules/@babel/runtime/helpers/esm/construct.js","../util/bn.ts","../builder/int.ts","../builder/time.ts","../builder/timestamp.ts","../builder/interval.ts","../builder/binary.ts","../builder/utf8.ts","../builder/run.ts","../vector/row.ts","../util/vector.ts","../vector/chunked.ts","../column.ts","../util/args.ts","../schema.ts","../builder/list.ts","../builder/fixedsizelist.ts","../builder/map.ts","../builder/struct.ts","../builder/union.ts","../visitor/set.ts","../fb/File.ts","../visitor/builderctor.ts","../builder/index.ts","../ipc/metadata/file.ts","../io/stream.ts","../io/file.ts","../util/int.ts","../visitor/vectorloader.ts","../visitor/typeassembler.ts","../ipc/metadata/json.ts","../ipc/metadata/message.ts","../ipc/message.ts","../visitor/vectorassembler.ts","../ipc/writer.ts","../util/recordbatch.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../vector/base.ts","../vector/binary.ts","../vector/bool.ts","../vector/date.ts","../vector/decimal.ts","../vector/dictionary.ts","../vector/fixedsizebinary.ts","../vector/fixedsizelist.ts","../vector/float.ts","../vector/interval.ts","../vector/int.ts","../vector/list.ts","../vector/map.ts","../vector/null.ts","../vector/struct.ts","../vector/timestamp.ts","../vector/time.ts","../vector/union.ts","../vector/utf8.ts","../util/fn.ts","../visitor/get.ts","../visitor/indexof.ts","../visitor/iterator.ts","../visitor/toarray.ts","../visitor/bytewidth.ts","../visitor/vectorctor.ts","../vector/index.ts","../table.ts","../recordbatch.ts","../ipc/reader.ts","../io/whatwg/builder.ts","../compute/predicate.ts","../compute/dataframe.ts","../Arrow.ts","../Arrow.dom.ts","../io/whatwg/iterable.ts","../io/whatwg/reader.ts","../io/whatwg/writer.ts","../node_modules/streamlit-component-lib/dist/ArrowTable.js","../node_modules/streamlit-component-lib/dist/streamlit.js","../node_modules/streamlit-component-lib/dist/StreamlitReact.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/react-is/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/object-assign/index.js","../node_modules/regenerator-runtime/runtime.js"],"names":["module","exports","require","privateData","WeakMap","wrappers","pd","event","retv","get","console","assert","setCancelFlag","data","passiveListener","cancelable","canceled","preventDefault","error","Event","eventTarget","set","this","eventPhase","currentTarget","stopped","immediateStopped","timeStamp","Date","now","Object","defineProperty","value","enumerable","keys","i","length","key","defineRedirectDescriptor","configurable","defineCallDescriptor","apply","arguments","getWrapper","proto","prototype","wrapper","BaseEvent","CustomEvent","call","create","constructor","writable","isFunc","getOwnPropertyDescriptor","defineWrapper","getPrototypeOf","isStopped","setPassiveListener","type","target","composedPath","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","stopPropagation","stopImmediatePropagation","bubbles","Boolean","defaultPrevented","composed","srcElement","cancelBubble","returnValue","initEvent","window","setPrototypeOf","listenersMap","isObject","x","getListeners","listeners","TypeError","defineEventAttribute","eventTargetPrototype","eventName","node","listenerType","listener","next","prev","delete","newNode","passive","once","defineEventAttributeDescriptor","defineCustomEventTarget","eventNames","CustomEventTarget","EventTarget","Array","isArray","types","Map","addEventListener","options","optionsIsObj","capture","undefined","removeEventListener","dispatchEvent","wrappedEvent","wrapEvent","err","handleEvent","setEventPhase","setCurrentTarget","_arrayLikeToArray","arr","len","arr2","_unsupportedIterableToArray","o","minLen","n","toString","slice","name","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","F","s","done","e","_e","f","normalCompletion","didErr","step","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","Promise","then","_asyncToGenerator","fn","self","args","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_slicedToArray","_i","_s","_arr","_n","_d","push","_AwaitValue","wrapped","_awaitAsyncGenerator","AsyncGenerator","front","back","resume","result","wrappedAwait","settle","_invoke","request","_wrapAsyncGenerator","asyncIterator","_asyncIterator","iterable","method","async","sync","retry","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","ret","thr","_asyncGeneratorDelegate","inner","awaitWrap","iter","waiting","pump","flatbuffers","inRange","a","min","max","ToDictionary","Offset","Table","SIZEOF_SHORT","SIZEOF_INT","FILE_IDENTIFIER_LENGTH","Encoding","UTF8_BYTES","UTF16_STRING","int32","Int32Array","float32","Float32Array","buffer","float64","Float64Array","isLittleEndian","Uint16Array","Uint8Array","Long","low","high","ZERO","toFloat64","equals","other","Builder","opt_initial_size","initial_size","bb","ByteBuffer","allocate","space","minalign","vtable","vtable_in_use","isNested","object_start","vtables","vector_num_elems","force_defaults","clear","capacity","forceDefaults","dataBuffer","asUint8Array","bytes","subarray","position","offset","prep","size","additional_bytes","align_size","old_buf_size","growByteBuffer","pad","byte_size","writeInt8","writeInt16","writeInt32","writeInt64","writeFloat32","writeFloat64","addInt8","addInt16","addInt32","addInt64","addFloat32","addFloat64","addFieldInt8","voffset","defaultValue","slot","addFieldInt16","addFieldInt32","addFieldInt64","addFieldFloat32","addFieldFloat64","addFieldOffset","addOffset","addFieldStruct","nested","obj","Error","notNested","new_buf_size","nbb","setPosition","startObject","numfields","endObject","vtableloc","trimmed_size","existing_vtable","vt1","outer_loop","vt2","readInt16","j","finish","root_table","opt_file_identifier","file_identifier","charCodeAt","requiredField","table","field","table_start","vtable_start","readInt32","startVector","elem_size","num_elems","alignment","endVector","createString","utf8","codePoint","createLong","bytes_","position_","readInt8","readUint8","readUint16","readUint32","readInt64","readUint64","readFloat32","readFloat64","writeUint8","writeUint16","writeUint32","writeUint64","getBufferIdentifier","String","fromCharCode","__offset","bb_pos","vtable_offset","__union","t","__string","opt_encoding","b","c","__indirect","__vector","__vector_len","__has_identifier","ident","Stream","tokens","endOfStream","read","shift","prepend","token","unshift","pop","finished","decoderError","fatal","opt_code_point","DEFAULT_ENCODING","TextDecoder","encoding","toLowerCase","_streaming","_BOMseen","_decoder","_fatal","_ignoreBOM","TextEncoder","_encoder","_options","UTF8Decoder","utf8_code_point","utf8_bytes_seen","utf8_bytes_needed","utf8_lower_boundary","utf8_upper_boundary","handler","stream","bite","code_point","UTF8Encoder","count","temp","decode","input","ArrayBuffer","byteOffset","byteLength","input_stream","code_points","indexOf","cp","codePointsToString","encode","opt_string","string","u","d","stringToCodePoints","_Buffer","Buffer","useNativeEncoders","decodeUtf8","decoder","encodeUtf8","encoder","_setPrototypeOf","p","__proto__","_inherits","subClass","superClass","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","ITERATOR_DONE","freeze","_json","_getDOMStream","tee","_getNodeStream","pipe","pipeTo","duplex","pipeThrough","_DOMStream","toDOMStream","_nodeStream","toNodeStream","_values","resolvers","_closedPromise","_closedPromiseResolve","reason","return","_ensureOpen","_error","_","abort","close","BigIntUnavailableError","BigIntUnavailable","asIntN","asUintN","BigInt","BigIntCtor","BigIntAvailable","BigInt64ArrayUnavailableError","BigInt64Array","BigInt64ArrayCtor","BigUint64ArrayUnavailableError","BigUint64Array","BigUint64ArrayCtor","isNumber","isBoolean","isFunction","isPromise","isIterable","isAsyncIterable","isArrowJSON","isIteratorResult","isFileHandle","isFetchResponse","toArrayBufferViewIterator","SharedArrayBuf","SharedArrayBuffer","memcpy","source","targetByteOffset","sourceByteLength","targetByteLength","dst","src","Math","joinUint8Arrays","chunks","sliced","xOffset","yOffset","xLen","yLen","y","collapseContiguousByteRanges","reduce","index","Infinity","toArrayBufferView","ArrayBufferViewCtor","isView","BYTES_PER_ELEMENT","toInt8Array","Int8Array","toInt16Array","Int16Array","toInt32Array","toUint16Array","toUint32Array","Uint32Array","toFloat32Array","toFloat64Array","toUint8ClampedArray","Uint8ClampedArray","ArrayCtor","wrap","buffers","toInt8ArrayIterator","toInt16ArrayIterator","toInt32ArrayIterator","toUint8ArrayIterator","toUint16ArrayIterator","toUint32ArrayIterator","toFloat32ArrayIterator","toFloat64ArrayIterator","toUint8ClampedArrayIterator","toArrayBufferViewAsyncIterator","emit","toInt8ArrayAsyncIterator","toInt16ArrayAsyncIterator","toInt32ArrayAsyncIterator","toUint8ArrayAsyncIterator","toUint16ArrayAsyncIterator","toUint32ArrayAsyncIterator","toFloat32ArrayAsyncIterator","toFloat64ArrayAsyncIterator","toUint8ClampedArrayAsyncIterator","rebaseValueOffsets","valueOffsets","compareArrayLike","fromIterable","fromAsyncIterable","fromDOMStream","fromNodeStream","byteRange","cmd","bufferLength","threw","isNaN","throw","releaseLock","byobReader","defaultReader","supportsBYOB","reader","getBYOBReader","getDefaultReader","catch","readFromBYOBReader","mode","readInto","onEvent","cleanup","events","evt","destroy","race","map","isFinite","_defineProperty","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_superPropBase","property","hasOwnProperty","receiver","base","desc","flatbuf","arrow","apache","org","MetadataVersion","UnionMode","Precision","DateUnit","TimeUnit","IntervalUnit","Type","Endianness","Null","__init","builder","startNull","endNull","Struct_","startStruct_","endStruct_","List","startList","endList","LargeList","startLargeList","endLargeList","FixedSizeList","listSize","startFixedSizeList","addListSize","endFixedSizeList","keysSorted","startMap","addKeysSorted","endMap","Union","Sparse","typeIdsOffset","numElems","startUnion","addMode","addTypeIds","endUnion","Int","bitWidth","isSigned","startInt","addBitWidth","addIsSigned","endInt","FloatingPoint","HALF","precision","startFloatingPoint","addPrecision","endFloatingPoint","Utf8","startUtf8","endUtf8","Binary","startBinary","endBinary","LargeUtf8","startLargeUtf8","endLargeUtf8","LargeBinary","startLargeBinary","endLargeBinary","FixedSizeBinary","byteWidth","startFixedSizeBinary","addByteWidth","endFixedSizeBinary","Bool","startBool","endBool","Decimal","scale","startDecimal","addScale","endDecimal","MILLISECOND","unit","startDate","addUnit","endDate","Time","startTime","endTime","Timestamp","SECOND","optionalEncoding","timezoneOffset","startTimestamp","addTimezone","endTimestamp","Interval","YEAR_MONTH","startInterval","endInterval","Duration","startDuration","endDuration","KeyValue","keyOffset","valueOffset","startKeyValue","addKey","addValue","endKeyValue","DictionaryEncoding","id","indexTypeOffset","isOrdered","startDictionaryEncoding","addId","addIndexType","addIsOrdered","endDictionaryEncoding","Field","nameOffset","nullable","typeType","typeOffset","dictionaryOffset","childrenOffset","customMetadataOffset","startField","addName","addNullable","addTypeType","addType","addDictionary","addChildren","addCustomMetadata","endField","Schema","Little","endianness","fieldsOffset","startSchema","addEndianness","addFields","endSchema","MessageHeader","FieldNode","null_count","RecordBatch","nodesOffset","buffersOffset","startRecordBatch","addLength","addNodes","addBuffers","endRecordBatch","DictionaryBatch","dataOffset","isDelta","startDictionaryBatch","addData","addIsDelta","endDictionaryBatch","Message","V1","version","headerType","headerOffset","bodyLength","startMessage","addVersion","addHeaderType","addHeader","addBodyLength","endMessage","BufferType","iterateBits","getBool","_data","_index","byte","bit","getBit","setBool","truncateBitmap","bitmap","alignedSize","packBools","values","xs","begin","context","byteIndex","remaining","popcnt_bit_range","lhs","rhs","sum","rhsInside","lhsInside","popcnt_array","cnt","pos","view","DataView","popcnt_uint32","getUint32","getUint16","getUint8","uint32","_toConsumableArray","nodes","visit","getVisitFn","throwIfNotFound","_node","visitor","dtype","inferDType","visitNull","visitBool","visitInt","Int8","visitInt8","Int16","visitInt16","Int32","visitInt32","Int64","visitInt64","Uint8","visitUint8","Uint16","visitUint16","Uint32","visitUint32","Uint64","visitUint64","Float","visitFloat","Float16","visitFloat16","Float32","visitFloat32","Float64","visitFloat64","visitUtf8","visitBinary","visitFixedSizeBinary","visitDate","DateDay","visitDateDay","DateMillisecond","visitDateMillisecond","visitTimestamp","TimestampSecond","visitTimestampSecond","TimestampMillisecond","visitTimestampMillisecond","TimestampMicrosecond","visitTimestampMicrosecond","TimestampNanosecond","visitTimestampNanosecond","visitTime","TimeSecond","visitTimeSecond","TimeMillisecond","visitTimeMillisecond","TimeMicrosecond","visitTimeMicrosecond","TimeNanosecond","visitTimeNanosecond","visitDecimal","visitList","Struct","visitStruct","visitUnion","DenseUnion","visitDenseUnion","SparseUnion","visitSparseUnion","Dictionary","visitDictionary","visitInterval","IntervalDayTime","visitIntervalDayTime","IntervalYearMonth","visitIntervalYearMonth","visitFixedSizeList","visitMap","typeId","SINGLE","DOUBLE","MICROSECOND","NANOSECOND","DAY","DAY_TIME","Dense","schema","compareFields","fields","others","every","compareField","compareConstructor","compareAny","compareInt","compareFloat","compareDate","compareTimestamp","timezone","compareTime","compareUnion","typeIds","children","compareInterval","indices","dictionary","toStringTag","ArrayType","child","valueType","join","typeIdToChildIndex","idx","atomicDictionaryId","getId","strideForType","nullCount","childData","floor","_nullCount","Data","stride","nullBitmap","childStride","_sliceBuffers","clone","_sliceChildren","newLength","fill","VALIDITY","TYPE","OFFSET","DATA","valueOffsetsOrChildren","valueToString","toPrimitive","JSON","stringify","createIsValidFunction","nullValues","fnBody","noNaNs","valueToCase","Function","roundLengthUpToNearest64Bytes","BPE","_resize","extra","reserved","array","reserve","numValid","val","cur","_ArrayType64","buffer64","ArrayType64","nulls","_nulls","_isValid","new","flush","numInvalid","_offsets","_typeIds","reservedLength","reservedByteLength","setValid","isValid","setValue","_setValue","valid","numChildren","offsets","last","queueingStrategy","highWaterMark","sizeProperty","numChunks","append","toVector","opts","_pendingLength","pending","_pending","current","_flush","pendingLength","_flushPending","hashFn","_dictionaryOffset","_keysToIndices","valueToKey","keysToIndices","_dictionary","curr","concat","f64","u32","uint16ToFloat64","h","expo","sigf","sign","NaN","float64ToUint16","Parent","Class","bind","bignumToString","bignumToBigInt","isArrowBigNumSymbol","for","BigNum","SignedBigNum","UnsignedBigNum","DecimalBigNum","bignumToNumber","bn","hi","lo","signed","words","number","decimalToString","digits","base64","base32","checks","reverse","toJSON","hint","assign","memo","num","BN","toBigInt","kParent","kRowIndex","kKeyToIdx","kIdxToVal","kCustomInspect","parent","numKeys","ktoi","itov","getValue","getIndex","ki","vi","kr","vr","k","v","has","callbackfn","thisArg","callback","m","str","createRowProxy","getChildAt","defineRowProxyProperties","findIndex","tmp","row","getter","setter","getKey","RowProxyHandler","isExtensible","deleteProperty","preventExtensions","ownKeys","clampIndex","adjust","clampRange","end","big0","isNaNFast","createElementComparator","search","typeofSearch","valueOfSearch","comparators","createSubElementsComparator","creatMapComparator","createArrayLikeComparator","createVectorComparator","createObjectComparator","compareArray","compareObject","vec","compareVector","lKeyItr","rKeyItr","rValItr","rVal","lKey","rKey","calculateOffsets","_type","_chunks","_chunkOffsets","_length","_numChildren","chunk","isDictionary","_indices","Chunked","flatten","_sliceInternal","columns","_children","vector","mid","isValidInternal","getInternal","element","indexOfInternal","toArray","arraySet","typedSet","chunkIndex","fromIndex","start","found","slices","chunkOffsets","chunkLength","chunkOffset","to","vectors","selectChunkArgs","_field","metadata","Column","column","rest","some","_chunk","selectArgs","Ctor","vals","_selectArgs","selectFieldArgs","_selectChunkArgs","selectVectorChildrenArgs","_selectVectorChildrenArgs","res","entries","fieldIndex","valueIndex","dictionaries","generateDictionaryMap","compareSchemas","columnNames","names","columnIndices","curFields","mergeMaps","newFields","f2","newDictionaries","m1","m2","_run","run","childIndex","_valueToChildTypeId","childTypeId","setEpochMsToMillisecondsLong","epochMs","setVariableWidthBytes","setDateDay","setEpochMsToDays","setDateMillisecond","setNumeric","values64","long","setTimestampSecond","setTimestampMillisecond","setTimestampMicrosecond","setEpochMsToMicrosecondsLong","setTimestampNanosecond","setEpochMsToNanosecondsLong","setTimeSecond","setTimeMillisecond","setTimeMicrosecond","setTimeNanosecond","setDenseUnion","setSparseUnion","setIntervalDayTime","setIntervalYearMonth","itr","_setStructVectorValue","_setStructArrayValue","_setStructObjectValue","newBuilder","defaultOptions","getChildOptions","T","Footer","Block","schemaOffset","dictionariesOffset","recordBatchesOffset","startFooter","addSchema","addDictionaries","addRecordBatches","endFooter","metaDataLength","_Block","_Footer","V4","recordBatches","dictionaryBatches","_recordBatches","_dictionaryBatches","numRecordBatches","block","getRecordBatch","numDictionaries","getDictionaryBatch","buf","footer","getRootAsFooter","startRecordBatchesVector","rb","startDictionariesVector","db","dictionaryBatchesOffset","finishFooterBuffer","_footer","recordBatchesLength","dictionariesLength","fileBlock","FileBlock","createBlock","toUint8Array","peek","AsyncByteStream","body","closed","cancel","readAt","getInt32","nBytes","file","_handle","stat","bytesRead","intAsHex","kPowersOfTen","L","R","product","lessThan","_times","_plus","out_buffer","fromString","out","posn","group","parseInt","substr","multiple","times","plus","left","right","this_high","other_high","negate","startsWith","L0","L1","L2","L3","R0","R1","R2","R3","multiply","sums","Int128","nodesIndex","buffersIndex","nextFieldNode","readNullBitmap","readData","readOffsets","visitMany","readTypeIds","readDictionary","nextBufferRange","sources","isTimestamp","isInt","isTime","isDate","convertArray","isDecimal","isBinary","isFixedSizeBinary","binaryDataFromJSON","isBool","isUtf8","joined","startTypeIdsVector","createTypeIdsVector","indexType","recordBatchFromJSON","fieldNodesFromJSON","buffersFromJSON","schemaFieldsFromJSON","_schema","fromJSON","fieldChildrenFromJSON","fieldNodes","validity","customMetadataFromJSON","_metadata","indexTypeFromJSON","typeFromJSON","_Field","_Schema","_Message","_KeyValue","_FieldNode","_Endianness","_DictionaryBatch","header","_version","_headerType","_createHeader","_bodyLength","msg","message","messageHeaderFromJSON","_message","getRootAsMessage","decodeMessageHeader","isSchema","isRecordBatch","isDictionaryBatch","finishMessageBuffer","_nodes","_buffers","_isDelta","_id","decodeFieldNodes","batch","nodesLength","decodeBuffers","bufferRegions","buffersLength","decodeSchemaFields","fieldsLength","decodeFieldChildren","childrenLength","decodeCustomMetadata","entry","customMetadataLength","customMetadata","decodeIndexType","decodeFieldType","typeIdsArray","childOffsets","childrenVectorOffset","createChildrenVector","metadataOffset","createCustomMetadataVector","dictType","dictMeta","fieldOffsets","startFieldsVector","fieldsVectorOffset","createFieldsVector","platformIsLittleEndian","Big","recordBatch","startNodesVector","nodesVectorOffset","startBuffersVector","b_","buffersVectorOffset","dictionaryBatch","createFieldNode","createBuffer","setInt16","invalidMessageMetadata","expected","actual","invalidMessageBodyLength","readMetadataLength","readMetadata","throwIfNull","readMessage","PADDING","metadataLength","_body","_batchIndex","_dictionaryIndex","batches","flattenDataSources","MAGIC_STR","MAGIC","checkForMagicArrowString","magicLength","magicAndPadding","magicX2AndPadding","_byteLength","_bufferRegions","RangeError","isNull","addBuffer","_nullV","assembler","VectorAssembler","vectorChildren","assembleResult","assembleFlatVector","assembleFlatListVector","firstOffset","lastOffset","assembleListVector","assembleNestedVector","maxChildTypeId","childLengths","shiftedOffsets","unshiftedOffsets","childLength","_position","_started","_sink","_dictionaryBlocks","_recordBatchBlocks","_dictionaryDeltaOffsets","autoDestroy","writeLegacyIpcFormat","_autoDestroy","_writeLegacyIpcFormat","writeAll","writeAllAsync","reset","sink","objectMode","_writeFooter","compareTo","_writeSchema","payload","_writeRecordBatch","flatbufferSize","prefixSize","nPaddingBytes","_write","of","_writePadding","write","_writeMessage","assemble","_writeDictionaries","_writeBodyBuffers","padding","_writeDictionaryBatch","writableStrategy","readableStrategy","writer","RecordBatchStreamWriter","_writeMagic","RecordBatchFileWriter","noopBuf","nullBufs","bitmapLength","ensureSameLengthData","batchLength","l","batchData","_changeLengthAndBackfillNullBitmap","distributeColumnsIntoRecordBatches","distributeVectorsIntoRecordBatches","vecs","batchArgs","numBatches","numColumns","Number","POSITIVE_INFINITY","distributeChildData","uniformlyDistributeChunksAcrossRecordBatches","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","_bindDataAccessors","VectorName","isConcatSpreadable","vectorFromValuesWithType","ArrowType","InputType","typeCtor","dataCtor","ctor","is64bit","_values64","toBigInt64Array","toBigUint64Array","_row","bound","partial0","partial2","epochMillisecondsLongToMs","epochMillisecondsToDate","getVariableWidthBytes","getDateDay","epochDaysToMs","epochDaysToDate","getDateMillisecond","epochMillisecondsLongToDate","getNumeric","getTimestampSecond","getTimestampMillisecond","getTimestampMicrosecond","epochMicrosecondsLongToMs","getTimestampNanosecond","epochNanosecondsLongToMs","getTimeSecond","getTimeMillisecond","getDenseUnion","getSparseUnion","getIntervalDayTime","getIntervalYearMonth","interval","int32s","_vector","decimal","indexOfValue","searchElement","indexOfNull","compare","indexOfUnion","vectorIterator","getFn","nullByte","nullBit","nullableIterator","arrayOfVector","variableWidthColumnErrorMessage","____","visitFields","newDataType","throughIterable","transform","throughAsyncIterable","getByteWidth","wrapNullableSet","VectorCtor","partialType0","getColumnAt","getColumnIndex","Writer","nameToIndex","selectAt","columnName","newIdx","oldToNew","_f","_fs","empty","fromStruct","tableFromIterable","tableFromAsyncIterable","isSync","open","opening","cols","_dictionaries","collect","fs","vs","DictionaryCollector","readAllSync","impl","_impl","isFile","isAsync","isStream","readRecordBatch","RecordBatchReader","fromArrowJSON","fromFileHandle","fromAsyncByteStream","fromByteStream","readAllAsync","_recordBatchIndex","_loadVectors","_reader","shouldAutoDestroy","readSchema","_readNextMessageAndValidate","readMessageBody","_loadRecordBatch","_loadDictionaryBatch","_readFooter","_readDictionaryBatch","seek","_numChunks","_finished","_bufferedSize","builderOptions","_controller","_builder","_getSize","chunkByteLength","readableHighWaterMark","writableHighWaterMark","ReadableStream","_maybeFlush","WritableStream","_writeValueAndReturnChunkSize","bufferedSize","controller","desiredSize","_enqueue","enqueue","Value","ge","le","eq","colidx","expr","_bindLitLit","_bindLitCol","_bindColLit","_bindColCol","accum","And","Or","_batch","rtrn","left_func","right_func","col","lit","col_func","lastDictionary","reverseLookup","lastKey","func","countBy","scan","scanReverse","predicate","batchIndex","numRows","count_by","countByteLength","ceil","log","counts","_predicate","isBound","FilteredDataFrame","and","bm","hwm","pull","asyncIterableAsReadableDOMStream","iterableAsReadableDOMStream","queue","readable","ComponentMessageType","ArrowTable","indexBuffer","columnsBuffer","styler","_this","getCell","rowIndex","columnIndex","isBlankCell","headerRows","headerColumns","isIndexCell","isColumnsCell","classNames","content","dataColumnIndex","getContent","columnsTable","dataRowIndex","uuid","indexTable","displayValuesTable","dataTable","getColumnTypeId","nanosToDate","caption","displayValues","styles","numCols","rows","dataRows","dataColumns","serialize","nanos","__assign","Streamlit","API_VERSION","RENDER_EVENT","registeredMessageListener","setComponentReady","onMessageEvent","sendBackMsg","COMPONENT_READY","apiVersion","setFrameHeight","height","document","scrollHeight","lastFrameHeight","SET_FRAME_HEIGHT","setComponentValue","dataType","isBigIntArray","isTypedArray","SET_COMPONENT_VALUE","onRenderMessage","dataframeArgs","argsDataframeToObject","disabled","theme","_injectTheme","eventData","detail","argsDataframe","argsDataframeArrow","_a","toArrowTable","fromEntries","df","postMessage","isStreamlitMessage","style","createElement","head","appendChild","innerHTML","primaryColor","backgroundColor","secondaryBackgroundColor","textColor","font","__extends","extendStatics","__","_super","StreamlitComponentBase","componentDidMount","componentDidUpdate","React","PureComponent","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_typeof","__esModule","g","q","w","z","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","B","C","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","G","H","isReactComponent","setState","forceUpdate","I","isPureReactComponent","J","K","ref","__self","__source","M","_owner","O","P","Q","keyPrefix","S","U","V","replace","escape","W","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Children","only","Component","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createFactory","createRef","forwardRef","isValidElement","lazy","_ctor","_status","_result","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","propIsEnumerable","toObject","test1","test2","test3","split","letter","shouldUseNative","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","mark","awrap","skipTempReset","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis"],"mappings":"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","file":"static/js/2.422ca0c4.chunk.js","sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @typedef {object} PrivateData\n * @property {EventTarget} eventTarget The event target.\n * @property {{type:string}} event The original event object.\n * @property {number} eventPhase The current event phase.\n * @property {EventTarget|null} currentTarget The current event target.\n * @property {boolean} canceled The flag to prevent default.\n * @property {boolean} stopped The flag to stop propagation.\n * @property {boolean} immediateStopped The flag to stop propagation immediately.\n * @property {Function|null} passiveListener The listener if the current listener is passive. Otherwise this is null.\n * @property {number} timeStamp The unix time.\n * @private\n */\n\n/**\n * Private data for event wrappers.\n * @type {WeakMap}\n * @private\n */\nconst privateData = new WeakMap()\n\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\nconst wrappers = new WeakMap()\n\n/**\n * Get private data.\n * @param {Event} event The event object to get private data.\n * @returns {PrivateData} The private data of the event.\n * @private\n */\nfunction pd(event) {\n const retv = privateData.get(event)\n console.assert(\n retv != null,\n \"'this' is expected an Event object, but got\",\n event\n )\n return retv\n}\n\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data {PrivateData} private data.\n */\nfunction setCancelFlag(data) {\n if (data.passiveListener != null) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(\n \"Unable to preventDefault inside passive event listener invocation.\",\n data.passiveListener\n )\n }\n return\n }\n if (!data.event.cancelable) {\n return\n }\n\n data.canceled = true\n if (typeof data.event.preventDefault === \"function\") {\n data.event.preventDefault()\n }\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#interface-event\n * @private\n */\n/**\n * The event wrapper.\n * @constructor\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Event|{type:string}} event The original event to wrap.\n */\nfunction Event(eventTarget, event) {\n privateData.set(this, {\n eventTarget,\n event,\n eventPhase: 2,\n currentTarget: eventTarget,\n canceled: false,\n stopped: false,\n immediateStopped: false,\n passiveListener: null,\n timeStamp: event.timeStamp || Date.now(),\n })\n\n // https://heycam.github.io/webidl/#Unforgeable\n Object.defineProperty(this, \"isTrusted\", { value: false, enumerable: true })\n\n // Define accessors\n const keys = Object.keys(event)\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(key))\n }\n }\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEvent.prototype = {\n /**\n * The type of this event.\n * @type {string}\n */\n get type() {\n return pd(this).event.type\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get target() {\n return pd(this).eventTarget\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get currentTarget() {\n return pd(this).currentTarget\n },\n\n /**\n * @returns {EventTarget[]} The composed path of this event.\n */\n composedPath() {\n const currentTarget = pd(this).currentTarget\n if (currentTarget == null) {\n return []\n }\n return [currentTarget]\n },\n\n /**\n * Constant of NONE.\n * @type {number}\n */\n get NONE() {\n return 0\n },\n\n /**\n * Constant of CAPTURING_PHASE.\n * @type {number}\n */\n get CAPTURING_PHASE() {\n return 1\n },\n\n /**\n * Constant of AT_TARGET.\n * @type {number}\n */\n get AT_TARGET() {\n return 2\n },\n\n /**\n * Constant of BUBBLING_PHASE.\n * @type {number}\n */\n get BUBBLING_PHASE() {\n return 3\n },\n\n /**\n * The target of this event.\n * @type {number}\n */\n get eventPhase() {\n return pd(this).eventPhase\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopPropagation() {\n const data = pd(this)\n\n data.stopped = true\n if (typeof data.event.stopPropagation === \"function\") {\n data.event.stopPropagation()\n }\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopImmediatePropagation() {\n const data = pd(this)\n\n data.stopped = true\n data.immediateStopped = true\n if (typeof data.event.stopImmediatePropagation === \"function\") {\n data.event.stopImmediatePropagation()\n }\n },\n\n /**\n * The flag to be bubbling.\n * @type {boolean}\n */\n get bubbles() {\n return Boolean(pd(this).event.bubbles)\n },\n\n /**\n * The flag to be cancelable.\n * @type {boolean}\n */\n get cancelable() {\n return Boolean(pd(this).event.cancelable)\n },\n\n /**\n * Cancel this event.\n * @returns {void}\n */\n preventDefault() {\n setCancelFlag(pd(this))\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n */\n get defaultPrevented() {\n return pd(this).canceled\n },\n\n /**\n * The flag to be composed.\n * @type {boolean}\n */\n get composed() {\n return Boolean(pd(this).event.composed)\n },\n\n /**\n * The unix time of this event.\n * @type {number}\n */\n get timeStamp() {\n return pd(this).timeStamp\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n * @deprecated\n */\n get srcElement() {\n return pd(this).eventTarget\n },\n\n /**\n * The flag to stop event bubbling.\n * @type {boolean}\n * @deprecated\n */\n get cancelBubble() {\n return pd(this).stopped\n },\n set cancelBubble(value) {\n if (!value) {\n return\n }\n const data = pd(this)\n\n data.stopped = true\n if (typeof data.event.cancelBubble === \"boolean\") {\n data.event.cancelBubble = true\n }\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n * @deprecated\n */\n get returnValue() {\n return !pd(this).canceled\n },\n set returnValue(value) {\n if (!value) {\n setCancelFlag(pd(this))\n }\n },\n\n /**\n * Initialize this event object. But do nothing under event dispatching.\n * @param {string} type The event type.\n * @param {boolean} [bubbles=false] The flag to be possible to bubble up.\n * @param {boolean} [cancelable=false] The flag to be possible to cancel.\n * @deprecated\n */\n initEvent() {\n // Do nothing.\n },\n}\n\n// `constructor` is not enumerable.\nObject.defineProperty(Event.prototype, \"constructor\", {\n value: Event,\n configurable: true,\n writable: true,\n})\n\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof window !== \"undefined\" && typeof window.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, window.Event.prototype)\n\n // Make association for wrappers.\n wrappers.set(window.Event.prototype, Event)\n}\n\n/**\n * Get the property descriptor to redirect a given property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to redirect the property.\n * @private\n */\nfunction defineRedirectDescriptor(key) {\n return {\n get() {\n return pd(this).event[key]\n },\n set(value) {\n pd(this).event[key] = value\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Get the property descriptor to call a given method property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to call the method property.\n * @private\n */\nfunction defineCallDescriptor(key) {\n return {\n value() {\n const event = pd(this).event\n return event[key].apply(event, arguments)\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define new wrapper class.\n * @param {Function} BaseEvent The base wrapper class.\n * @param {Object} proto The prototype of the original event.\n * @returns {Function} The defined wrapper class.\n * @private\n */\nfunction defineWrapper(BaseEvent, proto) {\n const keys = Object.keys(proto)\n if (keys.length === 0) {\n return BaseEvent\n }\n\n /** CustomEvent */\n function CustomEvent(eventTarget, event) {\n BaseEvent.call(this, eventTarget, event)\n }\n\n CustomEvent.prototype = Object.create(BaseEvent.prototype, {\n constructor: { value: CustomEvent, configurable: true, writable: true },\n })\n\n // Define accessors.\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n if (!(key in BaseEvent.prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key)\n const isFunc = typeof descriptor.value === \"function\"\n Object.defineProperty(\n CustomEvent.prototype,\n key,\n isFunc\n ? defineCallDescriptor(key)\n : defineRedirectDescriptor(key)\n )\n }\n }\n\n return CustomEvent\n}\n\n/**\n * Get the wrapper class of a given prototype.\n * @param {Object} proto The prototype of the original event to get its wrapper.\n * @returns {Function} The wrapper class.\n * @private\n */\nfunction getWrapper(proto) {\n if (proto == null || proto === Object.prototype) {\n return Event\n }\n\n let wrapper = wrappers.get(proto)\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto)\n wrappers.set(proto, wrapper)\n }\n return wrapper\n}\n\n/**\n * Wrap a given event to management a dispatching.\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Object} event The event to wrap.\n * @returns {Event} The wrapper instance.\n * @private\n */\nexport function wrapEvent(eventTarget, event) {\n const Wrapper = getWrapper(Object.getPrototypeOf(event))\n return new Wrapper(eventTarget, event)\n}\n\n/**\n * Get the immediateStopped flag of a given event.\n * @param {Event} event The event to get.\n * @returns {boolean} The flag to stop propagation immediately.\n * @private\n */\nexport function isStopped(event) {\n return pd(event).immediateStopped\n}\n\n/**\n * Set the current event phase of a given event.\n * @param {Event} event The event to set current target.\n * @param {number} eventPhase New event phase.\n * @returns {void}\n * @private\n */\nexport function setEventPhase(event, eventPhase) {\n pd(event).eventPhase = eventPhase\n}\n\n/**\n * Set the current target of a given event.\n * @param {Event} event The event to set current target.\n * @param {EventTarget|null} currentTarget New current target.\n * @returns {void}\n * @private\n */\nexport function setCurrentTarget(event, currentTarget) {\n pd(event).currentTarget = currentTarget\n}\n\n/**\n * Set a passive listener of a given event.\n * @param {Event} event The event to set current target.\n * @param {Function|null} passiveListener New passive listener.\n * @returns {void}\n * @private\n */\nexport function setPassiveListener(event, passiveListener) {\n pd(event).passiveListener = passiveListener\n}\n","import {\n isStopped,\n setCurrentTarget,\n setEventPhase,\n setPassiveListener,\n wrapEvent,\n} from \"./event.mjs\"\n\n/**\n * @typedef {object} ListenerNode\n * @property {Function} listener\n * @property {1|2|3} listenerType\n * @property {boolean} passive\n * @property {boolean} once\n * @property {ListenerNode|null} next\n * @private\n */\n\n/**\n * @type {WeakMap>}\n * @private\n */\nconst listenersMap = new WeakMap()\n\n// Listener types\nconst CAPTURE = 1\nconst BUBBLE = 2\nconst ATTRIBUTE = 3\n\n/**\n * Check whether a given value is an object or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an object.\n */\nfunction isObject(x) {\n return x !== null && typeof x === \"object\" //eslint-disable-line no-restricted-syntax\n}\n\n/**\n * Get listeners.\n * @param {EventTarget} eventTarget The event target to get.\n * @returns {Map} The listeners.\n * @private\n */\nfunction getListeners(eventTarget) {\n const listeners = listenersMap.get(eventTarget)\n if (listeners == null) {\n throw new TypeError(\n \"'this' is expected an EventTarget object, but got another value.\"\n )\n }\n return listeners\n}\n\n/**\n * Get the property descriptor for the event attribute of a given event.\n * @param {string} eventName The event name to get property descriptor.\n * @returns {PropertyDescriptor} The property descriptor.\n * @private\n */\nfunction defineEventAttributeDescriptor(eventName) {\n return {\n get() {\n const listeners = getListeners(this)\n let node = listeners.get(eventName)\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n return node.listener\n }\n node = node.next\n }\n return null\n },\n\n set(listener) {\n if (typeof listener !== \"function\" && !isObject(listener)) {\n listener = null // eslint-disable-line no-param-reassign\n }\n const listeners = getListeners(this)\n\n // Traverse to the tail while removing old value.\n let prev = null\n let node = listeners.get(eventName)\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n // Remove old value.\n if (prev !== null) {\n prev.next = node.next\n } else if (node.next !== null) {\n listeners.set(eventName, node.next)\n } else {\n listeners.delete(eventName)\n }\n } else {\n prev = node\n }\n\n node = node.next\n }\n\n // Add new value.\n if (listener !== null) {\n const newNode = {\n listener,\n listenerType: ATTRIBUTE,\n passive: false,\n once: false,\n next: null,\n }\n if (prev === null) {\n listeners.set(eventName, newNode)\n } else {\n prev.next = newNode\n }\n }\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define an event attribute (e.g. `eventTarget.onclick`).\n * @param {Object} eventTargetPrototype The event target prototype to define an event attrbite.\n * @param {string} eventName The event name to define.\n * @returns {void}\n */\nfunction defineEventAttribute(eventTargetPrototype, eventName) {\n Object.defineProperty(\n eventTargetPrototype,\n `on${eventName}`,\n defineEventAttributeDescriptor(eventName)\n )\n}\n\n/**\n * Define a custom EventTarget with event attributes.\n * @param {string[]} eventNames Event names for event attributes.\n * @returns {EventTarget} The custom EventTarget.\n * @private\n */\nfunction defineCustomEventTarget(eventNames) {\n /** CustomEventTarget */\n function CustomEventTarget() {\n EventTarget.call(this)\n }\n\n CustomEventTarget.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: CustomEventTarget,\n configurable: true,\n writable: true,\n },\n })\n\n for (let i = 0; i < eventNames.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, eventNames[i])\n }\n\n return CustomEventTarget\n}\n\n/**\n * EventTarget.\n *\n * - This is constructor if no arguments.\n * - This is a function which returns a CustomEventTarget constructor if there are arguments.\n *\n * For example:\n *\n * class A extends EventTarget {}\n * class B extends EventTarget(\"message\") {}\n * class C extends EventTarget(\"message\", \"error\") {}\n * class D extends EventTarget([\"message\", \"error\"]) {}\n */\nfunction EventTarget() {\n /*eslint-disable consistent-return */\n if (this instanceof EventTarget) {\n listenersMap.set(this, new Map())\n return\n }\n if (arguments.length === 1 && Array.isArray(arguments[0])) {\n return defineCustomEventTarget(arguments[0])\n }\n if (arguments.length > 0) {\n const types = new Array(arguments.length)\n for (let i = 0; i < arguments.length; ++i) {\n types[i] = arguments[i]\n }\n return defineCustomEventTarget(types)\n }\n throw new TypeError(\"Cannot call a class as a function\")\n /*eslint-enable consistent-return */\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEventTarget.prototype = {\n /**\n * Add a given listener to this event target.\n * @param {string} eventName The event name to add.\n * @param {Function} listener The listener to add.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n addEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n if (typeof listener !== \"function\" && !isObject(listener)) {\n throw new TypeError(\"'listener' should be a function or an object.\")\n }\n\n const listeners = getListeners(this)\n const optionsIsObj = isObject(options)\n const capture = optionsIsObj\n ? Boolean(options.capture)\n : Boolean(options)\n const listenerType = capture ? CAPTURE : BUBBLE\n const newNode = {\n listener,\n listenerType,\n passive: optionsIsObj && Boolean(options.passive),\n once: optionsIsObj && Boolean(options.once),\n next: null,\n }\n\n // Set it as the first node if the first node is null.\n let node = listeners.get(eventName)\n if (node === undefined) {\n listeners.set(eventName, newNode)\n return\n }\n\n // Traverse to the tail while checking duplication..\n let prev = null\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n // Should ignore duplication.\n return\n }\n prev = node\n node = node.next\n }\n\n // Add it.\n prev.next = newNode\n },\n\n /**\n * Remove a given listener from this event target.\n * @param {string} eventName The event name to remove.\n * @param {Function} listener The listener to remove.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n removeEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n\n const listeners = getListeners(this)\n const capture = isObject(options)\n ? Boolean(options.capture)\n : Boolean(options)\n const listenerType = capture ? CAPTURE : BUBBLE\n\n let prev = null\n let node = listeners.get(eventName)\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n if (prev !== null) {\n prev.next = node.next\n } else if (node.next !== null) {\n listeners.set(eventName, node.next)\n } else {\n listeners.delete(eventName)\n }\n return\n }\n\n prev = node\n node = node.next\n }\n },\n\n /**\n * Dispatch a given event.\n * @param {Event|{type:string}} event The event to dispatch.\n * @returns {boolean} `false` if canceled.\n */\n dispatchEvent(event) {\n if (event == null || typeof event.type !== \"string\") {\n throw new TypeError('\"event.type\" should be a string.')\n }\n\n // If listeners aren't registered, terminate.\n const listeners = getListeners(this)\n const eventName = event.type\n let node = listeners.get(eventName)\n if (node == null) {\n return true\n }\n\n // Since we cannot rewrite several properties, so wrap object.\n const wrappedEvent = wrapEvent(this, event)\n\n // This doesn't process capturing phase and bubbling phase.\n // This isn't participating in a tree.\n let prev = null\n while (node != null) {\n // Remove this listener if it's once\n if (node.once) {\n if (prev !== null) {\n prev.next = node.next\n } else if (node.next !== null) {\n listeners.set(eventName, node.next)\n } else {\n listeners.delete(eventName)\n }\n } else {\n prev = node\n }\n\n // Call this listener\n setPassiveListener(\n wrappedEvent,\n node.passive ? node.listener : null\n )\n if (typeof node.listener === \"function\") {\n try {\n node.listener.call(this, wrappedEvent)\n } catch (err) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(err)\n }\n }\n } else if (\n node.listenerType !== ATTRIBUTE &&\n typeof node.listener.handleEvent === \"function\"\n ) {\n node.listener.handleEvent(wrappedEvent)\n }\n\n // Break if `event.stopImmediatePropagation` was called.\n if (isStopped(wrappedEvent)) {\n break\n }\n\n node = node.next\n }\n setPassiveListener(wrappedEvent, null)\n setEventPhase(wrappedEvent, 0)\n setCurrentTarget(wrappedEvent, null)\n\n return !wrappedEvent.defaultPrevented\n },\n}\n\n// `constructor` is not enumerable.\nObject.defineProperty(EventTarget.prototype, \"constructor\", {\n value: EventTarget,\n configurable: true,\n writable: true,\n})\n\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (\n typeof window !== \"undefined\" &&\n typeof window.EventTarget !== \"undefined\"\n) {\n Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype)\n}\n\nexport { defineEventAttribute, EventTarget }\nexport default EventTarget\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _AwaitValue(value) {\n this.wrapped = value;\n}","import AwaitValue from \"./AwaitValue.js\";\nexport default function _awaitAsyncGenerator(value) {\n return new AwaitValue(value);\n}","import AwaitValue from \"./AwaitValue.js\";\nexport default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n var wrappedAwait = value instanceof AwaitValue;\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {\n if (wrappedAwait) {\n resume(key === \"return\" ? \"return\" : \"next\", arg);\n return;\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n }, function (err) {\n resume(\"throw\", err);\n });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen[\"return\"] !== \"function\") {\n this[\"return\"] = undefined;\n }\n}\n\nAsyncGenerator.prototype[typeof Symbol === \"function\" && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n};\n\nAsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n};\n\nAsyncGenerator.prototype[\"throw\"] = function (arg) {\n return this._invoke(\"throw\", arg);\n};\n\nAsyncGenerator.prototype[\"return\"] = function (arg) {\n return this._invoke(\"return\", arg);\n};","import AsyncGenerator from \"./AsyncGenerator.js\";\nexport default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n}","export default function _asyncIterator(iterable) {\n var method,\n async,\n sync,\n retry = 2;\n\n for (\"undefined\" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) {\n if (async && null != (method = iterable[async])) return method.call(iterable);\n if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable));\n async = \"@@asyncIterator\", sync = \"@@iterator\";\n }\n\n throw new TypeError(\"Object is not async iterable\");\n}\n\nfunction AsyncFromSyncIterator(s) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var done = r.done;\n return Promise.resolve(r.value).then(function (value) {\n return {\n value: value,\n done: done\n };\n });\n }\n\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) {\n this.s = s, this.n = s.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(value) {\n var ret = this.s[\"return\"];\n return void 0 === ret ? Promise.resolve({\n value: value,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));\n },\n \"throw\": function _throw(value) {\n var thr = this.s[\"return\"];\n return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(s);\n}","export default function _asyncGeneratorDelegate(inner, awaitWrap) {\n var iter = {},\n waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) {\n resolve(inner[key](value));\n });\n return {\n done: false,\n value: awaitWrap(value)\n };\n }\n\n ;\n\n iter[typeof Symbol !== \"undefined\" && Symbol.iterator || \"@@iterator\"] = function () {\n return this;\n };\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n\n return pump(\"next\", value);\n };\n\n if (typeof inner[\"throw\"] === \"function\") {\n iter[\"throw\"] = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n\n return pump(\"throw\", value);\n };\n }\n\n if (typeof inner[\"return\"] === \"function\") {\n iter[\"return\"] = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n\n return pump(\"return\", value);\n };\n }\n\n return iter;\n}","/// @file\n/// @addtogroup flatbuffers_javascript_api\n/// @{\n/// @cond FLATBUFFERS_INTERNAL\n\n/**\n * @fileoverview\n *\n * Need to suppress 'global this' error so the Node.js export line doesn't cause\n * closure compile to error out.\n * @suppress {globalThis}\n */\n\n/**\n * @const\n * @namespace\n */\nvar flatbuffers = {};\n\n/**\n * @typedef {number}\n */\nflatbuffers.Offset;\n\n/**\n * @typedef {{\n * bb: flatbuffers.ByteBuffer,\n * bb_pos: number\n * }}\n */\nflatbuffers.Table;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_SHORT = 2;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_INT = 4;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.FILE_IDENTIFIER_LENGTH = 4;\n\n/**\n * @enum {number}\n */\nflatbuffers.Encoding = {\n UTF8_BYTES: 1,\n UTF16_STRING: 2\n};\n\n/**\n * @type {Int32Array}\n * @const\n */\nflatbuffers.int32 = new Int32Array(2);\n\n/**\n * @type {Float32Array}\n * @const\n */\nflatbuffers.float32 = new Float32Array(flatbuffers.int32.buffer);\n\n/**\n * @type {Float64Array}\n * @const\n */\nflatbuffers.float64 = new Float64Array(flatbuffers.int32.buffer);\n\n/**\n * @type {boolean}\n * @const\n */\nflatbuffers.isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @constructor\n * @param {number} low\n * @param {number} high\n */\nflatbuffers.Long = function(low, high) {\n /**\n * @type {number}\n * @const\n */\n this.low = low | 0;\n\n /**\n * @type {number}\n * @const\n */\n this.high = high | 0;\n};\n\n/**\n * @param {number} low\n * @param {number} high\n * @returns {flatbuffers.Long}\n */\nflatbuffers.Long.create = function(low, high) {\n // Special-case zero to avoid GC overhead for default values\n return low == 0 && high == 0 ? flatbuffers.Long.ZERO : new flatbuffers.Long(low, high);\n};\n\n/**\n * @returns {number}\n */\nflatbuffers.Long.prototype.toFloat64 = function() {\n return (this.low >>> 0) + this.high * 0x100000000;\n};\n\n/**\n * @param {flatbuffers.Long} other\n * @returns {boolean}\n */\nflatbuffers.Long.prototype.equals = function(other) {\n return this.low == other.low && this.high == other.high;\n};\n\n/**\n * @type {flatbuffers.Long}\n * @const\n */\nflatbuffers.Long.ZERO = new flatbuffers.Long(0, 0);\n\n/// @endcond\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a FlatBufferBuilder.\n *\n * @constructor\n * @param {number=} opt_initial_size\n */\nflatbuffers.Builder = function(opt_initial_size) {\n if (!opt_initial_size) {\n var initial_size = 1024;\n } else {\n var initial_size = opt_initial_size;\n }\n\n /**\n * @type {flatbuffers.ByteBuffer}\n * @private\n */\n this.bb = flatbuffers.ByteBuffer.allocate(initial_size);\n\n /**\n * Remaining space in the ByteBuffer.\n *\n * @type {number}\n * @private\n */\n this.space = initial_size;\n\n /**\n * Minimum alignment encountered so far.\n *\n * @type {number}\n * @private\n */\n this.minalign = 1;\n\n /**\n * The vtable for the current table.\n *\n * @type {Array.}\n * @private\n */\n this.vtable = null;\n\n /**\n * The amount of fields we're actually using.\n *\n * @type {number}\n * @private\n */\n this.vtable_in_use = 0;\n\n /**\n * Whether we are currently serializing a table.\n *\n * @type {boolean}\n * @private\n */\n this.isNested = false;\n\n /**\n * Starting offset of the current struct/table.\n *\n * @type {number}\n * @private\n */\n this.object_start = 0;\n\n /**\n * List of offsets of all vtables.\n *\n * @type {Array.}\n * @private\n */\n this.vtables = [];\n\n /**\n * For the current vector being built.\n *\n * @type {number}\n * @private\n */\n this.vector_num_elems = 0;\n\n /**\n * False omits default values from the serialized data\n *\n * @type {boolean}\n * @private\n */\n this.force_defaults = false;\n};\n\nflatbuffers.Builder.prototype.clear = function() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n};\n\n/**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param {boolean} forceDefaults true always serializes default values\n */\nflatbuffers.Builder.prototype.forceDefaults = function(forceDefaults) {\n this.force_defaults = forceDefaults;\n};\n\n/**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n *\n * @returns {flatbuffers.ByteBuffer}\n */\nflatbuffers.Builder.prototype.dataBuffer = function() {\n return this.bb;\n};\n\n/**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n *\n * @returns {Uint8Array}\n */\nflatbuffers.Builder.prototype.asUint8Array = function() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param {number} size This is the of the new element to write\n * @param {number} additional_bytes The padding size\n */\nflatbuffers.Builder.prototype.prep = function(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n var align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n var old_buf_size = this.bb.capacity();\n this.bb = flatbuffers.Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n\n this.pad(align_size);\n};\n\n/**\n * @param {number} byte_size\n */\nflatbuffers.Builder.prototype.pad = function(byte_size) {\n for (var i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt8 = function(value) {\n this.bb.writeInt8(this.space -= 1, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt16 = function(value) {\n this.bb.writeInt16(this.space -= 2, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt32 = function(value) {\n this.bb.writeInt32(this.space -= 4, value);\n};\n\n/**\n * @param {flatbuffers.Long} value\n */\nflatbuffers.Builder.prototype.writeInt64 = function(value) {\n this.bb.writeInt64(this.space -= 8, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat32 = function(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat64 = function(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n};\n/// @endcond\n\n/**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int8` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt8 = function(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n};\n\n/**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int16` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt16 = function(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n};\n\n/**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt32 = function(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n};\n\n/**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {flatbuffers.Long} value The `int64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt64 = function(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n};\n\n/**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat32 = function(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n};\n\n/**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat64 = function(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt8 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt16 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Long} value\n * @param {flatbuffers.Long} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || !value.equals(defaultValue)) {\n this.addInt64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldOffset = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n *\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldStruct = function(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n *\n * @param {flatbuffers.Offset} obj The offset of the created object\n */\nflatbuffers.Builder.prototype.nested = function(obj) {\n if (obj != this.offset()) {\n throw new Error('FlatBuffers: struct must be serialized inline.');\n }\n};\n\n/**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\nflatbuffers.Builder.prototype.notNested = function() {\n if (this.isNested) {\n throw new Error('FlatBuffers: object serialization must not be nested.');\n }\n};\n\n/**\n * Set the current vtable at `voffset` to the current location in the buffer.\n *\n * @param {number} voffset\n */\nflatbuffers.Builder.prototype.slot = function(voffset) {\n this.vtable[voffset] = this.offset();\n};\n\n/**\n * @returns {flatbuffers.Offset} Offset relative to the end of the buffer.\n */\nflatbuffers.Builder.prototype.offset = function() {\n return this.bb.capacity() - this.space;\n};\n\n/**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param {flatbuffers.ByteBuffer} bb The current buffer with the existing data\n * @returns {flatbuffers.ByteBuffer} A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\nflatbuffers.Builder.growByteBuffer = function(bb) {\n var old_buf_size = bb.capacity();\n\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n\n var new_buf_size = old_buf_size << 1;\n var nbb = flatbuffers.ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n};\n/// @endcond\n\n/**\n * Adds on offset, relative to where it will be written.\n *\n * @param {flatbuffers.Offset} offset The offset to add.\n */\nflatbuffers.Builder.prototype.addOffset = function(offset) {\n this.prep(flatbuffers.SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + flatbuffers.SIZEOF_INT);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n *\n * @param {number} numfields\n */\nflatbuffers.Builder.prototype.startObject = function(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (var i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n};\n\n/**\n * Finish off writing the object that is under construction.\n *\n * @returns {flatbuffers.Offset} The offset to the object inside `dataBuffer`\n */\nflatbuffers.Builder.prototype.endObject = function() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n\n this.addInt32(0);\n var vtableloc = this.offset();\n\n // Trim trailing zeroes.\n var i = this.vtable_in_use - 1;\n for (; i >= 0 && this.vtable[i] == 0; i--) {}\n var trimmed_size = i + 1;\n\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n\n var standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n var len = (trimmed_size + standard_fields) * flatbuffers.SIZEOF_SHORT;\n this.addInt16(len);\n\n // Search for an existing vtable that matches the current one.\n var existing_vtable = 0;\n var vt1 = this.space;\nouter_loop:\n for (i = 0; i < this.vtables.length; i++) {\n var vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (var j = flatbuffers.SIZEOF_SHORT; j < len; j += flatbuffers.SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n } else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n\n this.isNested = false;\n return vtableloc;\n};\n/// @endcond\n\n/**\n * Finalize a buffer, poiting to the given `root_table`.\n *\n * @param {flatbuffers.Offset} root_table\n * @param {string=} opt_file_identifier\n */\nflatbuffers.Builder.prototype.finish = function(root_table, opt_file_identifier) {\n if (opt_file_identifier) {\n var file_identifier = opt_file_identifier;\n this.prep(this.minalign, flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n if (file_identifier.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = flatbuffers.FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, flatbuffers.SIZEOF_INT);\n this.addOffset(root_table);\n this.bb.setPosition(this.space);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n *\n * @param {flatbuffers.Offset} table\n * @param {number} field\n */\nflatbuffers.Builder.prototype.requiredField = function(table, field) {\n var table_start = this.bb.capacity() - table;\n var vtable_start = table_start - this.bb.readInt32(table_start);\n var ok = this.bb.readInt16(vtable_start + field) != 0;\n\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new Error('FlatBuffers: field ' + field + ' must be set');\n }\n};\n\n/**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param {number} elem_size The size of each element in the array\n * @param {number} num_elems The number of elements in the array\n * @param {number} alignment The alignment of the array\n */\nflatbuffers.Builder.prototype.startVector = function(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(flatbuffers.SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n};\n\n/**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns {flatbuffers.Offset} The offset at which the newly created array\n * starts.\n */\nflatbuffers.Builder.prototype.endVector = function() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n};\n/// @endcond\n\n/**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param {string|Uint8Array} s The string to encode\n * @return {flatbuffers.Offset} The offset in the buffer where the encoded string starts\n */\nflatbuffers.Builder.prototype.createString = function(s) {\n if (s instanceof Uint8Array) {\n var utf8 = s;\n } else {\n var utf8 = [];\n var i = 0;\n\n while (i < s.length) {\n var codePoint;\n\n // Decode UTF-16\n var a = s.charCodeAt(i++);\n if (a < 0xD800 || a >= 0xDC00) {\n codePoint = a;\n } else {\n var b = s.charCodeAt(i++);\n codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);\n }\n\n // Encode UTF-8\n if (codePoint < 0x80) {\n utf8.push(codePoint);\n } else {\n if (codePoint < 0x800) {\n utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);\n } else {\n if (codePoint < 0x10000) {\n utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);\n } else {\n utf8.push(\n ((codePoint >> 18) & 0x07) | 0xF0,\n ((codePoint >> 12) & 0x3F) | 0x80);\n }\n utf8.push(((codePoint >> 6) & 0x3F) | 0x80);\n }\n utf8.push((codePoint & 0x3F) | 0x80);\n }\n }\n }\n\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n for (var i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\n return this.endVector();\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {flatbuffers.Long}\n */\nflatbuffers.Builder.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n////////////////////////////////////////////////////////////////////////////////\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`).\n *\n * @constructor\n * @param {Uint8Array} bytes\n */\nflatbuffers.ByteBuffer = function(bytes) {\n /**\n * @type {Uint8Array}\n * @private\n */\n this.bytes_ = bytes;\n\n /**\n * @type {number}\n * @private\n */\n this.position_ = 0;\n};\n\n/**\n * Create and allocate a new ByteBuffer with a given size.\n *\n * @param {number} byte_size\n * @returns {flatbuffers.ByteBuffer}\n */\nflatbuffers.ByteBuffer.allocate = function(byte_size) {\n return new flatbuffers.ByteBuffer(new Uint8Array(byte_size));\n};\n\nflatbuffers.ByteBuffer.prototype.clear = function() {\n this.position_ = 0;\n};\n\n/**\n * Get the underlying `Uint8Array`.\n *\n * @returns {Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.bytes = function() {\n return this.bytes_;\n};\n\n/**\n * Get the buffer's position.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.position = function() {\n return this.position_;\n};\n\n/**\n * Set the buffer's position.\n *\n * @param {number} position\n */\nflatbuffers.ByteBuffer.prototype.setPosition = function(position) {\n this.position_ = position;\n};\n\n/**\n * Get the buffer's capacity.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.capacity = function() {\n return this.bytes_.length;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt8 = function(offset) {\n return this.readUint8(offset) << 24 >> 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint8 = function(offset) {\n return this.bytes_[offset];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt16 = function(offset) {\n return this.readUint16(offset) << 16 >> 16;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint16 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt32 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint32 = function(offset) {\n return this.readInt32(offset) >>> 0;\n};\n\n/**\n * @param {number} offset\n * @returns {flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readInt64 = function(offset) {\n return new flatbuffers.Long(this.readInt32(offset), this.readInt32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readUint64 = function(offset) {\n return new flatbuffers.Long(this.readUint32(offset), this.readUint32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat32 = function(offset) {\n flatbuffers.int32[0] = this.readInt32(offset);\n return flatbuffers.float32[0];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat64 = function(offset) {\n flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1] = this.readInt32(offset);\n flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return flatbuffers.float64[0];\n};\n\n/**\n * @param {number} offset\n * @param {number|boolean} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt8 = function(offset, value) {\n this.bytes_[offset] = /** @type {number} */(value);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint8 = function(offset, value) {\n this.bytes_[offset] = value;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt64 = function(offset, value) {\n this.writeInt32(offset, value.low);\n this.writeInt32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint64 = function(offset, value) {\n this.writeUint32(offset, value.low);\n this.writeUint32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat32 = function(offset, value) {\n flatbuffers.float32[0] = value;\n this.writeInt32(offset, flatbuffers.int32[0]);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat64 = function(offset, value) {\n flatbuffers.float64[0] = value;\n this.writeInt32(offset, flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0]);\n};\n\n/**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n * @returns {string}\n */\nflatbuffers.ByteBuffer.prototype.getBufferIdentifier = function() {\n if (this.bytes_.length < this.position_ + flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error(\n 'FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n var result = \"\";\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(\n this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i));\n }\n return result;\n};\n\n/**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n *\n * @param {number} bb_pos\n * @param {number} vtable_offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__offset = function(bb_pos, vtable_offset) {\n var vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n};\n\n/**\n * Initialize any Table-derived type to point to the union at the given offset.\n *\n * @param {flatbuffers.Table} t\n * @param {number} offset\n * @returns {flatbuffers.Table}\n */\nflatbuffers.ByteBuffer.prototype.__union = function(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n};\n\n/**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to UTF-16, pass flatbuffers.Encoding.UTF8_BYTES as\n * the \"optionalEncoding\" argument. This is useful for avoiding conversion to\n * and from UTF-16 when the data will just be packaged back up in another\n * FlatBuffer later on.\n *\n * @param {number} offset\n * @param {flatbuffers.Encoding=} opt_encoding Defaults to UTF16_STRING\n * @returns {string|Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.__string = function(offset, opt_encoding) {\n offset += this.readInt32(offset);\n\n var length = this.readInt32(offset);\n var result = '';\n var i = 0;\n\n offset += flatbuffers.SIZEOF_INT;\n\n if (opt_encoding === flatbuffers.Encoding.UTF8_BYTES) {\n return this.bytes_.subarray(offset, offset + length);\n }\n\n while (i < length) {\n var codePoint;\n\n // Decode UTF-8\n var a = this.readUint8(offset + i++);\n if (a < 0xC0) {\n codePoint = a;\n } else {\n var b = this.readUint8(offset + i++);\n if (a < 0xE0) {\n codePoint =\n ((a & 0x1F) << 6) |\n (b & 0x3F);\n } else {\n var c = this.readUint8(offset + i++);\n if (a < 0xF0) {\n codePoint =\n ((a & 0x0F) << 12) |\n ((b & 0x3F) << 6) |\n (c & 0x3F);\n } else {\n var d = this.readUint8(offset + i++);\n codePoint =\n ((a & 0x07) << 18) |\n ((b & 0x3F) << 12) |\n ((c & 0x3F) << 6) |\n (d & 0x3F);\n }\n }\n }\n\n // Encode UTF-16\n if (codePoint < 0x10000) {\n result += String.fromCharCode(codePoint);\n } else {\n codePoint -= 0x10000;\n result += String.fromCharCode(\n (codePoint >> 10) + 0xD800,\n (codePoint & ((1 << 10) - 1)) + 0xDC00);\n }\n }\n\n return result;\n};\n\n/**\n * Retrieve the relative offset stored at \"offset\"\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__indirect = function(offset) {\n return offset + this.readInt32(offset);\n};\n\n/**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector = function(offset) {\n return offset + this.readInt32(offset) + flatbuffers.SIZEOF_INT; // data starts after the length\n};\n\n/**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector_len = function(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n};\n\n/**\n * @param {string} ident\n * @returns {boolean}\n */\nflatbuffers.ByteBuffer.prototype.__has_identifier = function(ident) {\n if (ident.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n\n// Exports for Node.js and RequireJS\nexport { flatbuffers };\n\n/// @endcond\n/// @}\n","'use strict';\n\n// This is free and unencumbered software released into the public domain.\n// See LICENSE.md for more information.\n\n//\n// Utilities\n//\n\n/**\n * @param {number} a The number to test.\n * @param {number} min The minimum value in the range, inclusive.\n * @param {number} max The maximum value in the range, inclusive.\n * @return {boolean} True if a >= min and a <= max.\n */\nfunction inRange(a, min, max) {\n return min <= a && a <= max;\n}\n\n/**\n * @param {*} o\n * @return {Object}\n */\nfunction ToDictionary(o) {\n if (o === undefined) return {};\n if (o === Object(o)) return o;\n throw TypeError('Could not convert argument to dictionary');\n}\n\n/**\n * @param {string} string Input string of UTF-16 code units.\n * @return {!Array.} Code points.\n */\nfunction stringToCodePoints(string) {\n // https://heycam.github.io/webidl/#dfn-obtain-unicode\n\n // 1. Let S be the DOMString value.\n var s = String(string);\n\n // 2. Let n be the length of S.\n var n = s.length;\n\n // 3. Initialize i to 0.\n var i = 0;\n\n // 4. Initialize U to be an empty sequence of Unicode characters.\n var u = [];\n\n // 5. While i < n:\n while (i < n) {\n\n // 1. Let c be the code unit in S at index i.\n var c = s.charCodeAt(i);\n\n // 2. Depending on the value of c:\n\n // c < 0xD800 or c > 0xDFFF\n if (c < 0xD800 || c > 0xDFFF) {\n // Append to U the Unicode character with code point c.\n u.push(c);\n }\n\n // 0xDC00 ≤ c ≤ 0xDFFF\n else if (0xDC00 <= c && c <= 0xDFFF) {\n // Append to U a U+FFFD REPLACEMENT CHARACTER.\n u.push(0xFFFD);\n }\n\n // 0xD800 ≤ c ≤ 0xDBFF\n else if (0xD800 <= c && c <= 0xDBFF) {\n // 1. If i = n−1, then append to U a U+FFFD REPLACEMENT\n // CHARACTER.\n if (i === n - 1) {\n u.push(0xFFFD);\n }\n // 2. Otherwise, i < n−1:\n else {\n // 1. Let d be the code unit in S at index i+1.\n var d = string.charCodeAt(i + 1);\n\n // 2. If 0xDC00 ≤ d ≤ 0xDFFF, then:\n if (0xDC00 <= d && d <= 0xDFFF) {\n // 1. Let a be c & 0x3FF.\n var a = c & 0x3FF;\n\n // 2. Let b be d & 0x3FF.\n var b = d & 0x3FF;\n\n // 3. Append to U the Unicode character with code point\n // 2^16+2^10*a+b.\n u.push(0x10000 + (a << 10) + b);\n\n // 4. Set i to i+1.\n i += 1;\n }\n\n // 3. Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a\n // U+FFFD REPLACEMENT CHARACTER.\n else {\n u.push(0xFFFD);\n }\n }\n }\n\n // 3. Set i to i+1.\n i += 1;\n }\n\n // 6. Return U.\n return u;\n}\n\n/**\n * @param {!Array.} code_points Array of code points.\n * @return {string} string String of UTF-16 code units.\n */\nfunction codePointsToString(code_points) {\n var s = '';\n for (var i = 0; i < code_points.length; ++i) {\n var cp = code_points[i];\n if (cp <= 0xFFFF) {\n s += String.fromCharCode(cp);\n } else {\n cp -= 0x10000;\n s += String.fromCharCode((cp >> 10) + 0xD800,\n (cp & 0x3FF) + 0xDC00);\n }\n }\n return s;\n}\n\n\n//\n// Implementation of Encoding specification\n// https://encoding.spec.whatwg.org/\n//\n\n//\n// 3. Terminology\n//\n\n/**\n * End-of-stream is a special token that signifies no more tokens\n * are in the stream.\n * @const\n */ var end_of_stream = -1;\n\n/**\n * A stream represents an ordered sequence of tokens.\n *\n * @constructor\n * @param {!(Array.|Uint8Array)} tokens Array of tokens that provide the\n * stream.\n */\nfunction Stream(tokens) {\n /** @type {!Array.} */\n this.tokens = [].slice.call(tokens);\n}\n\nStream.prototype = {\n /**\n * @return {boolean} True if end-of-stream has been hit.\n */\n endOfStream: function() {\n return !this.tokens.length;\n },\n\n /**\n * When a token is read from a stream, the first token in the\n * stream must be returned and subsequently removed, and\n * end-of-stream must be returned otherwise.\n *\n * @return {number} Get the next token from the stream, or\n * end_of_stream.\n */\n read: function() {\n if (!this.tokens.length)\n return end_of_stream;\n return this.tokens.shift();\n },\n\n /**\n * When one or more tokens are prepended to a stream, those tokens\n * must be inserted, in given order, before the first token in the\n * stream.\n *\n * @param {(number|!Array.)} token The token(s) to prepend to the stream.\n */\n prepend: function(token) {\n if (Array.isArray(token)) {\n var tokens = /**@type {!Array.}*/(token);\n while (tokens.length)\n this.tokens.unshift(tokens.pop());\n } else {\n this.tokens.unshift(token);\n }\n },\n\n /**\n * When one or more tokens are pushed to a stream, those tokens\n * must be inserted, in given order, after the last token in the\n * stream.\n *\n * @param {(number|!Array.)} token The tokens(s) to prepend to the stream.\n */\n push: function(token) {\n if (Array.isArray(token)) {\n var tokens = /**@type {!Array.}*/(token);\n while (tokens.length)\n this.tokens.push(tokens.shift());\n } else {\n this.tokens.push(token);\n }\n }\n};\n\n//\n// 4. Encodings\n//\n\n// 4.1 Encoders and decoders\n\n/** @const */\nvar finished = -1;\n\n/**\n * @param {boolean} fatal If true, decoding errors raise an exception.\n * @param {number=} opt_code_point Override the standard fallback code point.\n * @return {number} The code point to insert on a decoding error.\n */\nfunction decoderError(fatal, opt_code_point) {\n if (fatal)\n throw TypeError('Decoder error');\n return opt_code_point || 0xFFFD;\n}\n\n/** @interface */\nfunction Decoder() {}\nDecoder.prototype = {\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point, or |finished|.\n */\n handler: function(stream, bite) {}\n};\n\n/** @interface */\nfunction Encoder() {}\nEncoder.prototype = {\n /**\n * @param {Stream} stream The stream of code points being encoded.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit, or |finished|.\n */\n handler: function(stream, code_point) {}\n};\n\n//\n// 7. API\n//\n\n/** @const */ var DEFAULT_ENCODING = 'utf-8';\n\n// 7.1 Interface TextDecoder\n\n/**\n * @constructor\n * @param {string=} encoding The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\nfunction TextDecoder(encoding, options) {\n if (!(this instanceof TextDecoder)) {\n return new TextDecoder(encoding, options);\n }\n encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;\n if (encoding !== DEFAULT_ENCODING) {\n throw new Error('Encoding not supported. Only utf-8 is supported');\n }\n options = ToDictionary(options);\n\n /** @private @type {boolean} */\n this._streaming = false;\n /** @private @type {boolean} */\n this._BOMseen = false;\n /** @private @type {?Decoder} */\n this._decoder = null;\n /** @private @type {boolean} */\n this._fatal = Boolean(options['fatal']);\n /** @private @type {boolean} */\n this._ignoreBOM = Boolean(options['ignoreBOM']);\n\n Object.defineProperty(this, 'encoding', {value: 'utf-8'});\n Object.defineProperty(this, 'fatal', {value: this._fatal});\n Object.defineProperty(this, 'ignoreBOM', {value: this._ignoreBOM});\n}\n\nTextDecoder.prototype = {\n /**\n * @param {ArrayBufferView=} input The buffer of bytes to decode.\n * @param {Object=} options\n * @return {string} The decoded string.\n */\n decode: function decode(input, options) {\n var bytes;\n if (typeof input === 'object' && input instanceof ArrayBuffer) {\n bytes = new Uint8Array(input);\n } else if (typeof input === 'object' && 'buffer' in input &&\n input.buffer instanceof ArrayBuffer) {\n bytes = new Uint8Array(input.buffer,\n input.byteOffset,\n input.byteLength);\n } else {\n bytes = new Uint8Array(0);\n }\n\n options = ToDictionary(options);\n\n if (!this._streaming) {\n this._decoder = new UTF8Decoder({fatal: this._fatal});\n this._BOMseen = false;\n }\n this._streaming = Boolean(options['stream']);\n\n var input_stream = new Stream(bytes);\n\n var code_points = [];\n\n /** @type {?(number|!Array.)} */\n var result;\n\n while (!input_stream.endOfStream()) {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (result === null)\n continue;\n if (Array.isArray(result))\n code_points.push.apply(code_points, /**@type {!Array.}*/(result));\n else\n code_points.push(result);\n }\n if (!this._streaming) {\n do {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (result === null)\n continue;\n if (Array.isArray(result))\n code_points.push.apply(code_points, /**@type {!Array.}*/(result));\n else\n code_points.push(result);\n } while (!input_stream.endOfStream());\n this._decoder = null;\n }\n\n if (code_points.length) {\n // If encoding is one of utf-8, utf-16be, and utf-16le, and\n // ignore BOM flag and BOM seen flag are unset, run these\n // subsubsteps:\n if (['utf-8'].indexOf(this.encoding) !== -1 &&\n !this._ignoreBOM && !this._BOMseen) {\n // If token is U+FEFF, set BOM seen flag.\n if (code_points[0] === 0xFEFF) {\n this._BOMseen = true;\n code_points.shift();\n } else {\n // Otherwise, if token is not end-of-stream, set BOM seen\n // flag and append token to output.\n this._BOMseen = true;\n }\n }\n }\n\n return codePointsToString(code_points);\n }\n};\n\n// 7.2 Interface TextEncoder\n\n/**\n * @constructor\n * @param {string=} encoding The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\nfunction TextEncoder(encoding, options) {\n if (!(this instanceof TextEncoder))\n return new TextEncoder(encoding, options);\n encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;\n if (encoding !== DEFAULT_ENCODING) {\n throw new Error('Encoding not supported. Only utf-8 is supported');\n }\n options = ToDictionary(options);\n\n /** @private @type {boolean} */\n this._streaming = false;\n /** @private @type {?Encoder} */\n this._encoder = null;\n /** @private @type {{fatal: boolean}} */\n this._options = {fatal: Boolean(options['fatal'])};\n\n Object.defineProperty(this, 'encoding', {value: 'utf-8'});\n}\n\nTextEncoder.prototype = {\n /**\n * @param {string=} opt_string The string to encode.\n * @param {Object=} options\n * @return {Uint8Array} Encoded bytes, as a Uint8Array.\n */\n encode: function encode(opt_string, options) {\n opt_string = opt_string ? String(opt_string) : '';\n options = ToDictionary(options);\n\n // NOTE: This option is nonstandard. None of the encodings\n // permitted for encoding (i.e. UTF-8, UTF-16) are stateful,\n // so streaming is not necessary.\n if (!this._streaming)\n this._encoder = new UTF8Encoder(this._options);\n this._streaming = Boolean(options['stream']);\n\n var bytes = [];\n var input_stream = new Stream(stringToCodePoints(opt_string));\n /** @type {?(number|!Array.)} */\n var result;\n while (!input_stream.endOfStream()) {\n result = this._encoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (Array.isArray(result))\n bytes.push.apply(bytes, /**@type {!Array.}*/(result));\n else\n bytes.push(result);\n }\n if (!this._streaming) {\n while (true) {\n result = this._encoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (Array.isArray(result))\n bytes.push.apply(bytes, /**@type {!Array.}*/(result));\n else\n bytes.push(result);\n }\n this._encoder = null;\n }\n return new Uint8Array(bytes);\n }\n};\n\n//\n// 8. The encoding\n//\n\n// 8.1 utf-8\n\n/**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\nfunction UTF8Decoder(options) {\n var fatal = options.fatal;\n\n // utf-8's decoder's has an associated utf-8 code point, utf-8\n // bytes seen, and utf-8 bytes needed (all initially 0), a utf-8\n // lower boundary (initially 0x80), and a utf-8 upper boundary\n // (initially 0xBF).\n var /** @type {number} */ utf8_code_point = 0,\n /** @type {number} */ utf8_bytes_seen = 0,\n /** @type {number} */ utf8_bytes_needed = 0,\n /** @type {number} */ utf8_lower_boundary = 0x80,\n /** @type {number} */ utf8_upper_boundary = 0xBF;\n\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and utf-8 bytes needed is not 0,\n // set utf-8 bytes needed to 0 and return error.\n if (bite === end_of_stream && utf8_bytes_needed !== 0) {\n utf8_bytes_needed = 0;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream, return finished.\n if (bite === end_of_stream)\n return finished;\n\n // 3. If utf-8 bytes needed is 0, based on byte:\n if (utf8_bytes_needed === 0) {\n\n // 0x00 to 0x7F\n if (inRange(bite, 0x00, 0x7F)) {\n // Return a code point whose value is byte.\n return bite;\n }\n\n // 0xC2 to 0xDF\n if (inRange(bite, 0xC2, 0xDF)) {\n // Set utf-8 bytes needed to 1 and utf-8 code point to byte\n // − 0xC0.\n utf8_bytes_needed = 1;\n utf8_code_point = bite - 0xC0;\n }\n\n // 0xE0 to 0xEF\n else if (inRange(bite, 0xE0, 0xEF)) {\n // 1. If byte is 0xE0, set utf-8 lower boundary to 0xA0.\n if (bite === 0xE0)\n utf8_lower_boundary = 0xA0;\n // 2. If byte is 0xED, set utf-8 upper boundary to 0x9F.\n if (bite === 0xED)\n utf8_upper_boundary = 0x9F;\n // 3. Set utf-8 bytes needed to 2 and utf-8 code point to\n // byte − 0xE0.\n utf8_bytes_needed = 2;\n utf8_code_point = bite - 0xE0;\n }\n\n // 0xF0 to 0xF4\n else if (inRange(bite, 0xF0, 0xF4)) {\n // 1. If byte is 0xF0, set utf-8 lower boundary to 0x90.\n if (bite === 0xF0)\n utf8_lower_boundary = 0x90;\n // 2. If byte is 0xF4, set utf-8 upper boundary to 0x8F.\n if (bite === 0xF4)\n utf8_upper_boundary = 0x8F;\n // 3. Set utf-8 bytes needed to 3 and utf-8 code point to\n // byte − 0xF0.\n utf8_bytes_needed = 3;\n utf8_code_point = bite - 0xF0;\n }\n\n // Otherwise\n else {\n // Return error.\n return decoderError(fatal);\n }\n\n // Then (byte is in the range 0xC2 to 0xF4) set utf-8 code\n // point to utf-8 code point << (6 × utf-8 bytes needed) and\n // return continue.\n utf8_code_point = utf8_code_point << (6 * utf8_bytes_needed);\n return null;\n }\n\n // 4. If byte is not in the range utf-8 lower boundary to utf-8\n // upper boundary, run these substeps:\n if (!inRange(bite, utf8_lower_boundary, utf8_upper_boundary)) {\n\n // 1. Set utf-8 code point, utf-8 bytes needed, and utf-8\n // bytes seen to 0, set utf-8 lower boundary to 0x80, and set\n // utf-8 upper boundary to 0xBF.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF;\n\n // 2. Prepend byte to stream.\n stream.prepend(bite);\n\n // 3. Return error.\n return decoderError(fatal);\n }\n\n // 5. Set utf-8 lower boundary to 0x80 and utf-8 upper boundary\n // to 0xBF.\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF;\n\n // 6. Increase utf-8 bytes seen by one and set utf-8 code point\n // to utf-8 code point + (byte − 0x80) << (6 × (utf-8 bytes\n // needed − utf-8 bytes seen)).\n utf8_bytes_seen += 1;\n utf8_code_point += (bite - 0x80) << (6 * (utf8_bytes_needed - utf8_bytes_seen));\n\n // 7. If utf-8 bytes seen is not equal to utf-8 bytes needed,\n // continue.\n if (utf8_bytes_seen !== utf8_bytes_needed)\n return null;\n\n // 8. Let code point be utf-8 code point.\n var code_point = utf8_code_point;\n\n // 9. Set utf-8 code point, utf-8 bytes needed, and utf-8 bytes\n // seen to 0.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n\n // 10. Return a code point whose value is code point.\n return code_point;\n };\n}\n\n/**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\nfunction UTF8Encoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is in the range U+0000 to U+007F, return a\n // byte whose value is code point.\n if (inRange(code_point, 0x0000, 0x007f))\n return code_point;\n\n // 3. Set count and offset based on the range code point is in:\n var count, offset;\n // U+0080 to U+07FF: 1 and 0xC0\n if (inRange(code_point, 0x0080, 0x07FF)) {\n count = 1;\n offset = 0xC0;\n }\n // U+0800 to U+FFFF: 2 and 0xE0\n else if (inRange(code_point, 0x0800, 0xFFFF)) {\n count = 2;\n offset = 0xE0;\n }\n // U+10000 to U+10FFFF: 3 and 0xF0\n else if (inRange(code_point, 0x10000, 0x10FFFF)) {\n count = 3;\n offset = 0xF0;\n }\n\n // 4.Let bytes be a byte sequence whose first byte is (code\n // point >> (6 × count)) + offset.\n var bytes = [(code_point >> (6 * count)) + offset];\n\n // 5. Run these substeps while count is greater than 0:\n while (count > 0) {\n\n // 1. Set temp to code point >> (6 × (count − 1)).\n var temp = code_point >> (6 * (count - 1));\n\n // 2. Append to bytes 0x80 | (temp & 0x3F).\n bytes.push(0x80 | (temp & 0x3F));\n\n // 3. Decrease count by one.\n count -= 1;\n }\n\n // 6. Return bytes bytes, in order.\n return bytes;\n };\n}\n\nexport {TextEncoder, TextDecoder};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { toUint8Array } from './buffer';\nimport {\n TextDecoder as TextDecoderPolyfill,\n TextEncoder as TextEncoderPolyfill,\n} from 'text-encoding-utf-8';\n\n/** @ignore @suppress {missingRequire} */\nconst _Buffer = typeof Buffer === 'function' ? Buffer : null;\n/** @ignore */\nconst useNativeEncoders = typeof TextDecoder === 'function' && typeof TextEncoder === 'function';\n\n/** @ignore */\nexport const decodeUtf8 = ((TextDecoder) => {\n if (useNativeEncoders || !_Buffer) {\n const decoder = new TextDecoder('utf-8');\n return (buffer?: ArrayBuffer | ArrayBufferView) => decoder.decode(buffer);\n }\n return (input: ArrayBufferLike | ArrayBufferView) => {\n const { buffer, byteOffset, length } = toUint8Array(input);\n return _Buffer.from(buffer, byteOffset, length).toString();\n };\n})(typeof TextDecoder !== 'undefined' ? TextDecoder : TextDecoderPolyfill);\n\n/** @ignore */\nexport const encodeUtf8 = ((TextEncoder) => {\n if (useNativeEncoders || !_Buffer) {\n const encoder = new TextEncoder();\n return (value?: string) => encoder.encode(value);\n }\n return (input = '') => toUint8Array(_Buffer.from(input, 'utf8'));\n})(typeof TextEncoder !== 'undefined' ? TextEncoder : TextEncoderPolyfill);\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n Object.defineProperty(subClass, \"prototype\", {\n value: Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n }),\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './adapters';\n\n/** @ignore */\nexport const ITERATOR_DONE: any = Object.freeze({ done: true, value: void (0) });\n\n/** @ignore */\nexport type FileHandle = import('fs').promises.FileHandle;\n/** @ignore */\nexport type ArrowJSONLike = { schema: any; batches?: any[]; dictionaries?: any[]; };\n/** @ignore */\nexport type ReadableDOMStreamOptions = { type: 'bytes' | undefined, autoAllocateChunkSize?: number, highWaterMark?: number };\n\n/** @ignore */\nexport class ArrowJSON {\n // @ts-ignore\n constructor(private _json: ArrowJSONLike) {}\n public get schema(): any { return this._json['schema']; }\n public get batches(): any[] { return (this._json['batches'] || []) as any[]; }\n public get dictionaries(): any[] { return (this._json['dictionaries'] || []) as any[]; }\n}\n\n/** @ignore */\nexport interface Readable {\n\n readonly closed: Promise;\n cancel(reason?: any): Promise;\n\n read(size?: number | null): Promise;\n peek(size?: number | null): Promise;\n throw(value?: any): Promise>;\n return(value?: any): Promise>;\n next(size?: number | null): Promise>;\n}\n\n/** @ignore */\nexport interface Writable {\n readonly closed: Promise;\n close(): void;\n write(chunk: T): void;\n abort(reason?: any): void;\n}\n\n/** @ignore */\nexport interface ReadableWritable extends Readable, Writable {\n [Symbol.asyncIterator](): AsyncIterableIterator;\n toDOMStream(options?: ReadableDOMStreamOptions): ReadableStream;\n toNodeStream(options?: import('stream').ReadableOptions): import('stream').Readable;\n}\n\n/** @ignore */\nexport abstract class ReadableInterop {\n\n public abstract toDOMStream(options?: ReadableDOMStreamOptions): ReadableStream;\n public abstract toNodeStream(options?: import('stream').ReadableOptions): import('stream').Readable;\n\n public tee(): [ReadableStream, ReadableStream] {\n return this._getDOMStream().tee();\n }\n public pipe(writable: R, options?: { end?: boolean; }) {\n return this._getNodeStream().pipe(writable, options);\n }\n public pipeTo(writable: WritableStream, options?: PipeOptions) { return this._getDOMStream().pipeTo(writable, options); }\n public pipeThrough>(duplex: { writable: WritableStream, readable: R }, options?: PipeOptions) {\n return this._getDOMStream().pipeThrough(duplex, options);\n }\n\n protected _DOMStream?: ReadableStream;\n private _getDOMStream() {\n return this._DOMStream || (this._DOMStream = this.toDOMStream());\n }\n\n protected _nodeStream?: import('stream').Readable;\n private _getNodeStream() {\n return this._nodeStream || (this._nodeStream = this.toNodeStream());\n }\n}\n\n/** @ignore */\ntype Resolution = { resolve: (value?: T | PromiseLike) => void; reject: (reason?: any) => void; };\n\n/** @ignore */\nexport class AsyncQueue extends ReadableInterop\n implements AsyncIterableIterator, ReadableWritable {\n\n protected _values: TWritable[] = [];\n protected _error?: { error: any; };\n protected _closedPromise: Promise;\n protected _closedPromiseResolve?: (value?: any) => void;\n protected resolvers: Resolution>[] = [];\n\n constructor() {\n super();\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n\n public get closed(): Promise { return this._closedPromise; }\n public async cancel(reason?: any) { await this.return(reason); }\n public write(value: TWritable) {\n if (this._ensureOpen()) {\n this.resolvers.length <= 0\n ? (this._values.push(value))\n : (this.resolvers.shift()!.resolve({ done: false, value } as any));\n }\n }\n public abort(value?: any) {\n if (this._closedPromiseResolve) {\n this.resolvers.length <= 0\n ? (this._error = { error: value })\n : (this.resolvers.shift()!.reject({ done: true, value }));\n }\n }\n public close() {\n if (this._closedPromiseResolve) {\n const { resolvers } = this;\n while (resolvers.length > 0) {\n resolvers.shift()!.resolve(ITERATOR_DONE);\n }\n this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n }\n }\n\n public [Symbol.asyncIterator]() { return this; }\n public toDOMStream(options?: ReadableDOMStreamOptions) {\n return streamAdapters.toDOMStream(\n (this._closedPromiseResolve || this._error)\n ? (this as AsyncIterable)\n : (this._values as any) as Iterable,\n options);\n }\n public toNodeStream(options?: import('stream').ReadableOptions) {\n return streamAdapters.toNodeStream(\n (this._closedPromiseResolve || this._error)\n ? (this as AsyncIterable)\n : (this._values as any) as Iterable,\n options);\n }\n public async throw(_?: any) { await this.abort(_); return ITERATOR_DONE; }\n public async return(_?: any) { await this.close(); return ITERATOR_DONE; }\n\n public async read(size?: number | null): Promise { return (await this.next(size, 'read')).value; }\n public async peek(size?: number | null): Promise { return (await this.next(size, 'peek')).value; }\n public next(..._args: any[]): Promise> {\n if (this._values.length > 0) {\n return Promise.resolve({ done: false, value: this._values.shift()! } as any);\n } else if (this._error) {\n return Promise.reject({ done: true, value: this._error.error });\n } else if (!this._closedPromiseResolve) {\n return Promise.resolve(ITERATOR_DONE);\n } else {\n return new Promise>((resolve, reject) => {\n this.resolvers.push({ resolve, reject });\n });\n }\n }\n\n protected _ensureOpen() {\n if (this._closedPromiseResolve) {\n return true;\n }\n throw new Error(`${this} is closed`);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ReadableInterop, ArrowJSONLike } from '../io/interfaces';\n\n/** @ignore */\ntype FSReadStream = import('fs').ReadStream;\n/** @ignore */\ntype FileHandle = import('fs').promises.FileHandle;\n\n/** @ignore */\nexport interface Subscription {\n unsubscribe: () => void;\n}\n\n/** @ignore */\nexport interface Observer {\n closed?: boolean;\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\n/** @ignore */\nexport interface Observable {\n subscribe: (observer: Observer) => Subscription;\n}\n\n/** @ignore */\nconst [BigIntCtor, BigIntAvailable] = (() => {\n const BigIntUnavailableError = () => { throw new Error('BigInt is not available in this environment'); };\n function BigIntUnavailable() { throw BigIntUnavailableError(); }\n BigIntUnavailable.asIntN = () => { throw BigIntUnavailableError(); };\n BigIntUnavailable.asUintN = () => { throw BigIntUnavailableError(); };\n return typeof BigInt !== 'undefined' ? [BigInt, true] : [ BigIntUnavailable, false];\n})() as [BigIntConstructor, boolean];\n\n/** @ignore */\nconst [BigInt64ArrayCtor, BigInt64ArrayAvailable] = (() => {\n const BigInt64ArrayUnavailableError = () => { throw new Error('BigInt64Array is not available in this environment'); };\n class BigInt64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigInt64ArrayUnavailableError(); }\n static from() { throw BigInt64ArrayUnavailableError(); }\n constructor() { throw BigInt64ArrayUnavailableError(); }\n }\n return typeof BigInt64Array !== 'undefined' ? [BigInt64Array, true] : [ BigInt64ArrayUnavailable, false];\n})() as [BigInt64ArrayConstructor, boolean];\n\n/** @ignore */\nconst [BigUint64ArrayCtor, BigUint64ArrayAvailable] = (() => {\n const BigUint64ArrayUnavailableError = () => { throw new Error('BigUint64Array is not available in this environment'); };\n class BigUint64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigUint64ArrayUnavailableError(); }\n static from() { throw BigUint64ArrayUnavailableError(); }\n constructor() { throw BigUint64ArrayUnavailableError(); }\n }\n return typeof BigUint64Array !== 'undefined' ? [BigUint64Array, true] : [ BigUint64ArrayUnavailable, false];\n})() as [BigUint64ArrayConstructor, boolean];\n\nexport { BigIntCtor as BigInt, BigIntAvailable };\nexport { BigInt64ArrayCtor as BigInt64Array, BigInt64ArrayAvailable };\nexport { BigUint64ArrayCtor as BigUint64Array, BigUint64ArrayAvailable };\n\n/** @ignore */ const isNumber = (x: any) => typeof x === 'number';\n/** @ignore */ const isBoolean = (x: any) => typeof x === 'boolean';\n/** @ignore */ const isFunction = (x: any) => typeof x === 'function';\n/** @ignore */\nexport const isObject = (x: any): x is Object => x != null && Object(x) === x;\n\n/** @ignore */\nexport const isPromise = (x: any): x is PromiseLike => {\n return isObject(x) && isFunction(x.then);\n};\n\n/** @ignore */\nexport const isObservable = (x: any): x is Observable => {\n return isObject(x) && isFunction(x.subscribe);\n};\n\n/** @ignore */\nexport const isIterable = (x: any): x is Iterable => {\n return isObject(x) && isFunction(x[Symbol.iterator]);\n};\n\n/** @ignore */\nexport const isAsyncIterable = (x: any): x is AsyncIterable => {\n return isObject(x) && isFunction(x[Symbol.asyncIterator]);\n};\n\n/** @ignore */\nexport const isArrowJSON = (x: any): x is ArrowJSONLike => {\n return isObject(x) && isObject(x['schema']);\n};\n\n/** @ignore */\nexport const isArrayLike = (x: any): x is ArrayLike => {\n return isObject(x) && isNumber(x['length']);\n};\n\n/** @ignore */\nexport const isIteratorResult = (x: any): x is IteratorResult => {\n return isObject(x) && ('done' in x) && ('value' in x);\n};\n\n/** @ignore */\nexport const isUnderlyingSink = (x: any): x is UnderlyingSink => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['close']) &&\n isFunction(x['start']) &&\n isFunction(x['write']);\n};\n\n/** @ignore */\nexport const isFileHandle = (x: any): x is FileHandle => {\n return isObject(x) && isFunction(x['stat']) && isNumber(x['fd']);\n};\n\n/** @ignore */\nexport const isFSReadStream = (x: any): x is FSReadStream => {\n return isReadableNodeStream(x) && isNumber(( x)['bytesRead']);\n};\n\n/** @ignore */\nexport const isFetchResponse = (x: any): x is Response => {\n return isObject(x) && isReadableDOMStream(x['body']);\n};\n\n/** @ignore */\nexport const isWritableDOMStream = (x: any): x is WritableStream => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['getWriter']) &&\n !(x instanceof ReadableInterop);\n};\n\n/** @ignore */\nexport const isReadableDOMStream = (x: any): x is ReadableStream => {\n return isObject(x) &&\n isFunction(x['cancel']) &&\n isFunction(x['getReader']) &&\n !(x instanceof ReadableInterop);\n};\n\n/** @ignore */\nexport const isWritableNodeStream = (x: any): x is NodeJS.WritableStream => {\n return isObject(x) &&\n isFunction(x['end']) &&\n isFunction(x['write']) &&\n isBoolean(x['writable']) &&\n !(x instanceof ReadableInterop);\n};\n\n/** @ignore */\nexport const isReadableNodeStream = (x: any): x is NodeJS.ReadableStream => {\n return isObject(x) &&\n isFunction(x['read']) &&\n isFunction(x['pipe']) &&\n isBoolean(x['readable']) &&\n !(x instanceof ReadableInterop);\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { flatbuffers } from 'flatbuffers';\nimport { encodeUtf8 } from '../util/utf8';\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport { TypedArray, TypedArrayConstructor } from '../interfaces';\nimport { BigIntArray, BigIntArrayConstructor } from '../interfaces';\nimport { isPromise, isIterable, isAsyncIterable, isIteratorResult, BigInt64Array, BigUint64Array } from './compat';\n\n/** @ignore */\nconst SharedArrayBuf = (typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : ArrayBuffer);\n\n/** @ignore */\nfunction collapseContiguousByteRanges(chunks: Uint8Array[]) {\n let result = chunks[0] ? [chunks[0]] : [];\n let xOffset: number, yOffset: number, xLen: number, yLen: number;\n for (let x, y, i = 0, j = 0, n = chunks.length; ++i < n;) {\n x = result[j];\n y = chunks[i];\n // continue if x and y don't share the same underlying ArrayBuffer, or if x isn't before y\n if (!x || !y || x.buffer !== y.buffer || y.byteOffset < x.byteOffset) {\n y && (result[++j] = y);\n continue;\n }\n ({ byteOffset: xOffset, byteLength: xLen } = x);\n ({ byteOffset: yOffset, byteLength: yLen } = y);\n // continue if the byte ranges of x and y aren't contiguous\n if ((xOffset + xLen) < yOffset || (yOffset + yLen) < xOffset) {\n y && (result[++j] = y);\n continue;\n }\n result[j] = new Uint8Array(x.buffer, xOffset, yOffset - xOffset + yLen);\n }\n return result;\n}\n\n/** @ignore */\nexport function memcpy(target: TTarget, source: TSource, targetByteOffset = 0, sourceByteLength = source.byteLength) {\n const targetByteLength = target.byteLength;\n const dst = new Uint8Array(target.buffer, target.byteOffset, targetByteLength);\n const src = new Uint8Array(source.buffer, source.byteOffset, Math.min(sourceByteLength, targetByteLength));\n dst.set(src, targetByteOffset);\n return target;\n}\n\n/** @ignore */\nexport function joinUint8Arrays(chunks: Uint8Array[], size?: number | null): [Uint8Array, Uint8Array[], number] {\n // collapse chunks that share the same underlying ArrayBuffer and whose byte ranges overlap,\n // to avoid unnecessarily copying the bytes to do this buffer join. This is a common case during\n // streaming, where we may be reading partial byte ranges out of the same underlying ArrayBuffer\n let result = collapseContiguousByteRanges(chunks);\n let byteLength = result.reduce((x, b) => x + b.byteLength, 0);\n let source: Uint8Array, sliced: Uint8Array, buffer: Uint8Array | void;\n let offset = 0, index = -1, length = Math.min(size || Infinity, byteLength);\n for (let n = result.length; ++index < n;) {\n source = result[index];\n sliced = source.subarray(0, Math.min(source.length, length - offset));\n if (length <= (offset + sliced.length)) {\n if (sliced.length < source.length) {\n result[index] = source.subarray(sliced.length);\n } else if (sliced.length === source.length) { index++; }\n buffer ? memcpy(buffer, sliced, offset) : (buffer = sliced);\n break;\n }\n memcpy(buffer || (buffer = new Uint8Array(length)), sliced, offset);\n offset += sliced.length;\n }\n return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];\n}\n\n/** @ignore */\nexport type ArrayBufferViewInput = ArrayBufferView | ArrayBufferLike | ArrayBufferView | Iterable | ArrayLike | ByteBuffer | string | null | undefined |\n IteratorResult | ArrayLike | ByteBuffer | string | null | undefined> |\n ReadableStreamReadResult | ArrayLike | ByteBuffer | string | null | undefined> ;\n\n/** @ignore */\nexport function toArrayBufferView(ArrayBufferViewCtor: TypedArrayConstructor, input: ArrayBufferViewInput): T;\nexport function toArrayBufferView(ArrayBufferViewCtor: BigIntArrayConstructor, input: ArrayBufferViewInput): T;\nexport function toArrayBufferView(ArrayBufferViewCtor: any, input: ArrayBufferViewInput) {\n\n let value: any = isIteratorResult(input) ? input.value : input;\n\n if (value instanceof ArrayBufferViewCtor) {\n if (ArrayBufferViewCtor === Uint8Array) {\n // Node's `Buffer` class passes the `instanceof Uint8Array` check, but we need\n // a real Uint8Array, since Buffer#slice isn't the same as Uint8Array#slice :/\n return new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength);\n }\n return value;\n }\n if (!value) { return new ArrayBufferViewCtor(0); }\n if (typeof value === 'string') { value = encodeUtf8(value); }\n if (value instanceof ArrayBuffer) { return new ArrayBufferViewCtor(value); }\n if (value instanceof SharedArrayBuf) { return new ArrayBufferViewCtor(value); }\n if (value instanceof ByteBuffer) { return toArrayBufferView(ArrayBufferViewCtor, value.bytes()); }\n return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : value.byteLength <= 0 ? new ArrayBufferViewCtor(0)\n : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT);\n}\n\n/** @ignore */ export const toInt8Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int8Array, input);\n/** @ignore */ export const toInt16Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int16Array, input);\n/** @ignore */ export const toInt32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int32Array, input);\n/** @ignore */ export const toBigInt64Array = (input: ArrayBufferViewInput) => toArrayBufferView(BigInt64Array, input);\n/** @ignore */ export const toUint8Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint8Array, input);\n/** @ignore */ export const toUint16Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint16Array, input);\n/** @ignore */ export const toUint32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint32Array, input);\n/** @ignore */ export const toBigUint64Array = (input: ArrayBufferViewInput) => toArrayBufferView(BigUint64Array, input);\n/** @ignore */ export const toFloat32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Float32Array, input);\n/** @ignore */ export const toFloat64Array = (input: ArrayBufferViewInput) => toArrayBufferView(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArray = (input: ArrayBufferViewInput) => toArrayBufferView(Uint8ClampedArray, input);\n\n/** @ignore */\ntype ArrayBufferViewIteratorInput = Iterable | ArrayBufferViewInput;\n\n/** @ignore */\nconst pump = | AsyncIterator>(iterator: T) => { iterator.next(); return iterator; };\n\n/** @ignore */\nexport function* toArrayBufferViewIterator(ArrayCtor: TypedArrayConstructor, source: ArrayBufferViewIteratorInput) {\n\n const wrap = function*(x: T) { yield x; };\n const buffers: Iterable =\n (typeof source === 'string') ? wrap(source)\n : (ArrayBuffer.isView(source)) ? wrap(source)\n : (source instanceof ArrayBuffer) ? wrap(source)\n : (source instanceof SharedArrayBuf) ? wrap(source)\n : !isIterable(source) ? wrap(source) : source;\n\n yield* pump((function* (it) {\n let r: IteratorResult = null;\n do {\n r = it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.iterator]()));\n}\n\n/** @ignore */ export const toInt8ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint8ClampedArray, input);\n\n/** @ignore */\ntype ArrayBufferViewAsyncIteratorInput = AsyncIterable | Iterable | PromiseLike | ArrayBufferViewInput;\n\n/** @ignore */\nexport async function* toArrayBufferViewAsyncIterator(ArrayCtor: TypedArrayConstructor, source: ArrayBufferViewAsyncIteratorInput): AsyncIterableIterator {\n\n // if a Promise, unwrap the Promise and iterate the resolved value\n if (isPromise(source)) {\n return yield* toArrayBufferViewAsyncIterator(ArrayCtor, await source);\n }\n\n const wrap = async function*(x: T) { yield await x; };\n const emit = async function* >(source: T) {\n yield* pump((function*(it: Iterator) {\n let r: IteratorResult = null;\n do {\n r = it.next(yield r && r.value);\n } while (!r.done);\n })(source[Symbol.iterator]()));\n };\n\n const buffers: AsyncIterable =\n (typeof source === 'string') ? wrap(source) // if string, wrap in an AsyncIterableIterator\n : (ArrayBuffer.isView(source)) ? wrap(source) // if TypedArray, wrap in an AsyncIterableIterator\n : (source instanceof ArrayBuffer) ? wrap(source) // if ArrayBuffer, wrap in an AsyncIterableIterator\n : (source instanceof SharedArrayBuf) ? wrap(source) // if SharedArrayBuffer, wrap in an AsyncIterableIterator\n : isIterable(source) ? emit(source) // If Iterable, wrap in an AsyncIterableIterator and compose the `next` values\n : !isAsyncIterable(source) ? wrap(source) // If not an AsyncIterable, treat as a sentinel and wrap in an AsyncIterableIterator\n : source; // otherwise if AsyncIterable, use it\n\n yield* pump((async function* (it) {\n let r: IteratorResult = null;\n do {\n r = await it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.asyncIterator]()));\n}\n\n/** @ignore */ export const toInt8ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint8ClampedArray, input);\n\n/** @ignore */\nexport function rebaseValueOffsets(offset: number, length: number, valueOffsets: Int32Array) {\n // If we have a non-zero offset, create a new offsets array with the values\n // shifted by the start offset, such that the new start offset is 0\n if (offset !== 0) {\n valueOffsets = valueOffsets.slice(0, length + 1);\n for (let i = -1; ++i <= length;) {\n valueOffsets[i] += offset;\n }\n }\n return valueOffsets;\n}\n\n/** @ignore */\nexport function compareArrayLike>(a: T, b: T) {\n let i = 0, n = a.length;\n if (n !== b.length) { return false; }\n if (n > 0) {\n do { if (a[i] !== b[i]) { return false; } } while (++i < n);\n }\n return true;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport {\n toUint8Array,\n joinUint8Arrays,\n ArrayBufferViewInput,\n toUint8ArrayIterator,\n toUint8ArrayAsyncIterator\n} from '../util/buffer';\n\nimport { ReadableDOMStreamOptions } from './interfaces';\n\n/** @ignore */\nexport default {\n fromIterable(source: Iterable | T): IterableIterator {\n return pump(fromIterable(source));\n },\n fromAsyncIterable(source: AsyncIterable | PromiseLike): AsyncIterableIterator {\n return pump(fromAsyncIterable(source));\n },\n fromDOMStream(source: ReadableStream): AsyncIterableIterator {\n return pump(fromDOMStream(source));\n },\n fromNodeStream(stream: NodeJS.ReadableStream): AsyncIterableIterator {\n return pump(fromNodeStream(stream));\n },\n // @ts-ignore\n toDOMStream(source: Iterable | AsyncIterable, options?: ReadableDOMStreamOptions): ReadableStream {\n throw new Error(`\"toDOMStream\" not available in this environment`);\n },\n // @ts-ignore\n toNodeStream(source: Iterable | AsyncIterable, options?: import('stream').ReadableOptions): import('stream').Readable {\n throw new Error(`\"toNodeStream\" not available in this environment`);\n },\n};\n\n/** @ignore */\nconst pump = | AsyncIterator>(iterator: T) => { iterator.next(); return iterator; };\n\n/** @ignore */\nfunction* fromIterable(source: Iterable | T): IterableIterator {\n\n let done: boolean, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before creating the source Iterator\n ({ cmd, size } = yield null);\n\n // initialize the iterator\n let it = toUint8ArrayIterator(source)[Symbol.iterator]();\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = isNaN(size - bufferLength) ?\n it.next(undefined) : it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (it.throw(e));\n } finally {\n (threw === false) && (typeof it.return === 'function') && (it.return());\n }\n}\n\n/** @ignore */\nasync function* fromAsyncIterable(source: AsyncIterable | PromiseLike): AsyncIterableIterator {\n\n let done: boolean, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before creating the source AsyncIterator\n ({ cmd, size } = yield null);\n\n // initialize the iterator\n let it = toUint8ArrayAsyncIterator(source)[Symbol.asyncIterator]();\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = isNaN(size - bufferLength)\n ? await it.next(undefined)\n : await it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (await it.throw(e));\n } finally {\n (threw === false) && (typeof it.return === 'function') && (await it.return());\n }\n}\n\n// All this manual Uint8Array chunk management can be avoided if/when engines\n// add support for ArrayBuffer.transfer() or ArrayBuffer.prototype.realloc():\n// https://github.com/domenic/proposal-arraybuffer-transfer\n/** @ignore */\nasync function* fromDOMStream(source: ReadableStream): AsyncIterableIterator {\n\n let done = false, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before we establish the ReadableStream lock\n ({ cmd, size } = yield null);\n\n // initialize the reader and lock the stream\n let it = new AdaptiveByteReader(source);\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = isNaN(size - bufferLength)\n ? await it['read'](undefined)\n : await it['read'](size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(toUint8Array(buffer));\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (await it['cancel'](e));\n } finally {\n (threw === false) ? (await it['cancel']())\n : source['locked'] && it.releaseLock();\n }\n}\n\n/** @ignore */\nclass AdaptiveByteReader {\n\n private supportsBYOB: boolean;\n private byobReader: ReadableStreamBYOBReader | null = null;\n private defaultReader: ReadableStreamDefaultReader | null = null;\n private reader: ReadableStreamBYOBReader | ReadableStreamDefaultReader | null;\n\n constructor(private source: ReadableStream) {\n try {\n this.supportsBYOB = !!(this.reader = this.getBYOBReader());\n } catch (e) {\n this.supportsBYOB = !!!(this.reader = this.getDefaultReader());\n }\n }\n\n get closed(): Promise {\n return this.reader ? this.reader['closed'].catch(() => {}) : Promise.resolve();\n }\n\n releaseLock(): void {\n if (this.reader) {\n this.reader.releaseLock();\n }\n this.reader = this.byobReader = this.defaultReader = null;\n }\n\n async cancel(reason?: any): Promise {\n const { reader, source } = this;\n reader && (await reader['cancel'](reason).catch(() => {}));\n source && (source['locked'] && this.releaseLock());\n }\n\n async read(size?: number): Promise> {\n if (size === 0) {\n return { done: this.reader == null, value: new Uint8Array(0) };\n }\n const result = !this.supportsBYOB || typeof size !== 'number'\n ? await this.getDefaultReader().read()\n : await this.readFromBYOBReader(size);\n !result.done && (result.value = toUint8Array(result as ReadableStreamReadResult));\n return result as ReadableStreamReadResult;\n }\n\n private getDefaultReader() {\n if (this.byobReader) { this.releaseLock(); }\n if (!this.defaultReader) {\n this.defaultReader = this.source['getReader']();\n // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions\n // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified\n // about why these errors are raised, but I'm sure there's some important spec reason that\n // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the\n // only solution in this case :/\n this.defaultReader['closed'].catch(() => {});\n }\n return (this.reader = this.defaultReader);\n }\n\n private getBYOBReader() {\n if (this.defaultReader) { this.releaseLock(); }\n if (!this.byobReader) {\n this.byobReader = this.source['getReader']({ mode: 'byob' });\n // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions\n // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified\n // about why these errors are raised, but I'm sure there's some important spec reason that\n // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the\n // only solution in this case :/\n this.byobReader['closed'].catch(() => {});\n }\n return (this.reader = this.byobReader);\n }\n\n // This strategy plucked from the example in the streams spec:\n // https://streams.spec.whatwg.org/#example-manual-read-bytes\n private async readFromBYOBReader(size: number) {\n return await readInto(this.getBYOBReader(), new ArrayBuffer(size), 0, size);\n }\n}\n\n/** @ignore */\nasync function readInto(reader: ReadableStreamBYOBReader, buffer: ArrayBufferLike, offset: number, size: number): Promise> {\n if (offset >= size) {\n return { done: false, value: new Uint8Array(buffer, 0, size) };\n }\n const { done, value } = await reader.read(new Uint8Array(buffer, offset, size - offset));\n if (((offset += value.byteLength) < size) && !done) {\n return await readInto(reader, value.buffer, offset, size);\n }\n return { done, value: new Uint8Array(value.buffer, 0, offset) };\n}\n\n/** @ignore */\ntype EventName = 'end' | 'error' | 'readable';\n/** @ignore */\ntype Event = [EventName, (_: any) => void, Promise<[EventName, Error | null]>];\n/** @ignore */\nconst onEvent = (stream: NodeJS.ReadableStream, event: T) => {\n let handler = (_: any) => resolve([event, _]);\n let resolve: (value?: [T, any] | PromiseLike<[T, any]>) => void;\n return [event, handler, new Promise<[T, any]>(\n (r) => (resolve = r) && stream['once'](event, handler)\n )] as Event;\n};\n\n/** @ignore */\nasync function* fromNodeStream(stream: NodeJS.ReadableStream): AsyncIterableIterator {\n\n let events: Event[] = [];\n let event: EventName = 'error';\n let done = false, err: Error | null = null;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n let buffers: Uint8Array[] = [], buffer: Uint8Array | Buffer | string;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before we\n // add the listener for the source stream's 'readable' event.\n ({ cmd, size } = yield null);\n\n // ignore stdin if it's a TTY\n if ((stream as any)['isTTY']) { return yield new Uint8Array(0); }\n\n try {\n // initialize the stream event handlers\n events[0] = onEvent(stream, 'end');\n events[1] = onEvent(stream, 'error');\n\n do {\n events[2] = onEvent(stream, 'readable');\n\n // wait on the first message event from the stream\n [event, err] = await Promise.race(events.map((x) => x[2]));\n\n // if the stream emitted an Error, rethrow it\n if (event === 'error') { break; }\n if (!(done = event === 'end')) {\n // If the size is NaN, request to read everything in the stream's internal buffer\n if (!isFinite(size - bufferLength)) {\n buffer = toUint8Array(stream['read'](undefined));\n } else {\n buffer = toUint8Array(stream['read'](size - bufferLength));\n // If the byteLength is 0, then the requested amount is more than the stream has\n // in its internal buffer. In this case the stream needs a \"kick\" to tell it to\n // continue emitting readable events, so request to read everything the stream\n // has in its internal buffer right now.\n if (buffer.byteLength < (size - bufferLength)) {\n buffer = toUint8Array(stream['read'](undefined));\n }\n }\n // if chunk is not null or empty, push it onto the queue\n if (buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } finally {\n await cleanup(events, event === 'error' ? err : null);\n }\n\n function cleanup(events: Event[], err?: T) {\n buffer = buffers = null;\n return new Promise(async (resolve, reject) => {\n for (const [evt, fn] of events) {\n stream['off'](evt, fn);\n }\n try {\n // Some stream implementations don't call the destroy callback,\n // because it's really a node-internal API. Just calling `destroy`\n // here should be enough to conform to the ReadableStream contract\n const destroy = (stream as any)['destroy'];\n destroy && destroy.call(stream, err);\n err = undefined;\n } catch (e) { err = e || err; } finally {\n err != null ? reject(err) : resolve();\n }\n });\n }\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { DataType } from './type';\nimport { Chunked } from './vector/chunked';\n\n/** @ignore */\nexport interface Clonable {\n clone(...args: any[]): R;\n}\n\n/** @ignore */\nexport interface Sliceable {\n slice(begin?: number, end?: number): R;\n}\n\n/** @ignore */\nexport interface Applicative {\n concat(...others: Vector[]): R;\n readonly [Symbol.isConcatSpreadable]: boolean;\n}\n\nexport interface AbstractVector\n extends Clonable>,\n Sliceable>,\n Applicative> {\n\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n}\n\nexport abstract class AbstractVector implements Iterable {\n\n public abstract readonly data: Data;\n public abstract readonly type: T;\n public abstract readonly typeId: T['TType'];\n public abstract readonly length: number;\n public abstract readonly stride: number;\n public abstract readonly nullCount: number;\n public abstract readonly byteLength: number;\n public abstract readonly numChildren: number;\n\n public abstract readonly ArrayType: T['ArrayType'];\n\n public abstract isValid(index: number): boolean;\n public abstract get(index: number): T['TValue'] | null;\n public abstract set(index: number, value: T['TValue'] | null): void;\n public abstract indexOf(value: T['TValue'] | null, fromIndex?: number): number;\n public abstract [Symbol.iterator](): IterableIterator;\n\n public abstract toArray(): T['TArray'];\n public abstract getChildAt(index: number): Vector | null;\n}\n\nexport { AbstractVector as Vector };\n","/* tslint:disable:class-name */\n\n// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { flatbuffers } from 'flatbuffers';\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum MetadataVersion {\n /**\n * 0.1.0\n */\n V1 = 0,\n\n /**\n * 0.2.0\n */\n V2 = 1,\n\n /**\n * 0.3.0 -> 0.7.1\n */\n V3 = 2,\n\n /**\n * >= 0.8.0\n */\n V4 = 3\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum UnionMode {\n Sparse = 0,\n Dense = 1\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum Precision {\n HALF = 0,\n SINGLE = 1,\n DOUBLE = 2\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum DateUnit {\n DAY = 0,\n MILLISECOND = 1\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum TimeUnit {\n SECOND = 0,\n MILLISECOND = 1,\n MICROSECOND = 2,\n NANOSECOND = 3\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum IntervalUnit {\n YEAR_MONTH = 0,\n DAY_TIME = 1\n }\n}\n\n/**\n * ----------------------------------------------------------------------\n * Top-level Type value, enabling extensible type-specific metadata. We can\n * add new logical types to Type without breaking backwards compatibility\n *\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum Type {\n NONE = 0,\n Null = 1,\n Int = 2,\n FloatingPoint = 3,\n Binary = 4,\n Utf8 = 5,\n Bool = 6,\n Decimal = 7,\n Date = 8,\n Time = 9,\n Timestamp = 10,\n Interval = 11,\n List = 12,\n Struct_ = 13,\n Union = 14,\n FixedSizeBinary = 15,\n FixedSizeList = 16,\n Map = 17,\n Duration = 18,\n LargeBinary = 19,\n LargeUtf8 = 20,\n LargeList = 21\n }\n}\n\n/**\n * ----------------------------------------------------------------------\n * Endianness of the platform producing the data\n *\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum Endianness {\n Little = 0,\n Big = 1\n }\n}\n\n/**\n * These are stored in the flatbuffer in the Type union below\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Null {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Null\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Null {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Null= obj\n * @returns Null\n */\n static getRootAsNull(bb: flatbuffers.ByteBuffer, obj?: Null): Null {\n return (obj || new Null).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startNull(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endNull(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createNull(builder: flatbuffers.Builder): flatbuffers.Offset {\n Null.startNull(builder);\n return Null.endNull(builder);\n }\n }\n}\n/**\n * A Struct_ in the flatbuffer metadata is the same as an Arrow Struct\n * (according to the physical memory layout). We used Struct_ here as\n * Struct is a reserved word in Flatbuffers\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Struct_ {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Struct_\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Struct_ {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Struct_= obj\n * @returns Struct_\n */\n static getRootAsStruct_(bb: flatbuffers.ByteBuffer, obj?: Struct_): Struct_ {\n return (obj || new Struct_).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startStruct_(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endStruct_(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createStruct_(builder: flatbuffers.Builder): flatbuffers.Offset {\n Struct_.startStruct_(builder);\n return Struct_.endStruct_(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class List {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns List\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): List {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param List= obj\n * @returns List\n */\n static getRootAsList(bb: flatbuffers.ByteBuffer, obj?: List): List {\n return (obj || new List).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startList(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endList(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createList(builder: flatbuffers.Builder): flatbuffers.Offset {\n List.startList(builder);\n return List.endList(builder);\n }\n }\n}\n/**\n * Same as List, but with 64-bit offsets, allowing to represent\n * extremely large data values.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class LargeList {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns LargeList\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): LargeList {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param LargeList= obj\n * @returns LargeList\n */\n static getRootAsLargeList(bb: flatbuffers.ByteBuffer, obj?: LargeList): LargeList {\n return (obj || new LargeList).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startLargeList(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endLargeList(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createLargeList(builder: flatbuffers.Builder): flatbuffers.Offset {\n LargeList.startLargeList(builder);\n return LargeList.endLargeList(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FixedSizeList {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FixedSizeList\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FixedSizeList {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param FixedSizeList= obj\n * @returns FixedSizeList\n */\n static getRootAsFixedSizeList(bb: flatbuffers.ByteBuffer, obj?: FixedSizeList): FixedSizeList {\n return (obj || new FixedSizeList).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Number of list items per value\n *\n * @returns number\n */\n listSize(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFixedSizeList(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number listSize\n */\n static addListSize(builder: flatbuffers.Builder, listSize: number) {\n builder.addFieldInt32(0, listSize, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFixedSizeList(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createFixedSizeList(builder: flatbuffers.Builder, listSize: number): flatbuffers.Offset {\n FixedSizeList.startFixedSizeList(builder);\n FixedSizeList.addListSize(builder, listSize);\n return FixedSizeList.endFixedSizeList(builder);\n }\n }\n}\n/**\n * A Map is a logical nested type that is represented as\n *\n * List>\n *\n * In this layout, the keys and values are each respectively contiguous. We do\n * not constrain the key and value types, so the application is responsible\n * for ensuring that the keys are hashable and unique. Whether the keys are sorted\n * may be set in the metadata for this field\n *\n * In a Field with Map type, the Field has a child Struct field, which then\n * has two children: key type and the second the value type. The names of the\n * child fields may be respectively \"entry\", \"key\", and \"value\", but this is\n * not enforced\n *\n * Map\n * - child[0] entry: Struct\n * - child[0] key: K\n * - child[1] value: V\n *\n * Neither the \"entry\" field nor the \"key\" field may be nullable.\n *\n * The metadata is structured so that Arrow systems without special handling\n * for Map can make Map an alias for List. The \"layout\" attribute for the Map\n * field must have the same contents as a List.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Map {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Map\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Map {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Map= obj\n * @returns Map\n */\n static getRootAsMap(bb: flatbuffers.ByteBuffer, obj?: Map): Map {\n return (obj || new Map).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Set to true if the keys within each value are sorted\n *\n * @returns boolean\n */\n keysSorted(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startMap(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean keysSorted\n */\n static addKeysSorted(builder: flatbuffers.Builder, keysSorted: boolean) {\n builder.addFieldInt8(0, +keysSorted, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endMap(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createMap(builder: flatbuffers.Builder, keysSorted: boolean): flatbuffers.Offset {\n Map.startMap(builder);\n Map.addKeysSorted(builder, keysSorted);\n return Map.endMap(builder);\n }\n }\n}\n/**\n * A union is a complex type with children in Field\n * By default ids in the type vector refer to the offsets in the children\n * optionally typeIds provides an indirection between the child offset and the type id\n * for each child typeIds[offset] is the id used in the type vector\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Union {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Union\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Union {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Union= obj\n * @returns Union\n */\n static getRootAsUnion(bb: flatbuffers.ByteBuffer, obj?: Union): Union {\n return (obj || new Union).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.UnionMode\n */\n mode(): org.apache.arrow.flatbuf.UnionMode {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.UnionMode.Sparse;\n }\n\n /**\n * @param number index\n * @returns number\n */\n typeIds(index: number): number | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) : 0;\n }\n\n /**\n * @returns number\n */\n typeIdsLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @returns Int32Array\n */\n typeIdsArray(): Int32Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? new Int32Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startUnion(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.UnionMode mode\n */\n static addMode(builder: flatbuffers.Builder, mode: org.apache.arrow.flatbuf.UnionMode) {\n builder.addFieldInt16(0, mode, org.apache.arrow.flatbuf.UnionMode.Sparse);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset typeIdsOffset\n */\n static addTypeIds(builder: flatbuffers.Builder, typeIdsOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, typeIdsOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createTypeIdsVector(builder: flatbuffers.Builder, data: number[] | Int32Array): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt32(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startTypeIdsVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endUnion(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createUnion(builder: flatbuffers.Builder, mode: org.apache.arrow.flatbuf.UnionMode, typeIdsOffset: flatbuffers.Offset): flatbuffers.Offset {\n Union.startUnion(builder);\n Union.addMode(builder, mode);\n Union.addTypeIds(builder, typeIdsOffset);\n return Union.endUnion(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Int {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Int\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Int {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Int= obj\n * @returns Int\n */\n static getRootAsInt(bb: flatbuffers.ByteBuffer, obj?: Int): Int {\n return (obj || new Int).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns number\n */\n bitWidth(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @returns boolean\n */\n isSigned(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startInt(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number bitWidth\n */\n static addBitWidth(builder: flatbuffers.Builder, bitWidth: number) {\n builder.addFieldInt32(0, bitWidth, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean isSigned\n */\n static addIsSigned(builder: flatbuffers.Builder, isSigned: boolean) {\n builder.addFieldInt8(1, +isSigned, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endInt(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createInt(builder: flatbuffers.Builder, bitWidth: number, isSigned: boolean): flatbuffers.Offset {\n Int.startInt(builder);\n Int.addBitWidth(builder, bitWidth);\n Int.addIsSigned(builder, isSigned);\n return Int.endInt(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FloatingPoint {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FloatingPoint\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FloatingPoint {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param FloatingPoint= obj\n * @returns FloatingPoint\n */\n static getRootAsFloatingPoint(bb: flatbuffers.ByteBuffer, obj?: FloatingPoint): FloatingPoint {\n return (obj || new FloatingPoint).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.Precision\n */\n precision(): org.apache.arrow.flatbuf.Precision {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Precision.HALF;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFloatingPoint(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.Precision precision\n */\n static addPrecision(builder: flatbuffers.Builder, precision: org.apache.arrow.flatbuf.Precision) {\n builder.addFieldInt16(0, precision, org.apache.arrow.flatbuf.Precision.HALF);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFloatingPoint(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createFloatingPoint(builder: flatbuffers.Builder, precision: org.apache.arrow.flatbuf.Precision): flatbuffers.Offset {\n FloatingPoint.startFloatingPoint(builder);\n FloatingPoint.addPrecision(builder, precision);\n return FloatingPoint.endFloatingPoint(builder);\n }\n }\n}\n/**\n * Unicode with UTF-8 encoding\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Utf8 {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Utf8\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Utf8 {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Utf8= obj\n * @returns Utf8\n */\n static getRootAsUtf8(bb: flatbuffers.ByteBuffer, obj?: Utf8): Utf8 {\n return (obj || new Utf8).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startUtf8(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n Utf8.startUtf8(builder);\n return Utf8.endUtf8(builder);\n }\n }\n}\n/**\n * Opaque binary data\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Binary {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Binary\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Binary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Binary= obj\n * @returns Binary\n */\n static getRootAsBinary(bb: flatbuffers.ByteBuffer, obj?: Binary): Binary {\n return (obj || new Binary).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startBinary(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n Binary.startBinary(builder);\n return Binary.endBinary(builder);\n }\n }\n}\n/**\n * Same as Utf8, but with 64-bit offsets, allowing to represent\n * extremely large data values.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class LargeUtf8 {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns LargeUtf8\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): LargeUtf8 {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param LargeUtf8= obj\n * @returns LargeUtf8\n */\n static getRootAsLargeUtf8(bb: flatbuffers.ByteBuffer, obj?: LargeUtf8): LargeUtf8 {\n return (obj || new LargeUtf8).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startLargeUtf8(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endLargeUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createLargeUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n LargeUtf8.startLargeUtf8(builder);\n return LargeUtf8.endLargeUtf8(builder);\n }\n }\n}\n/**\n * Same as Binary, but with 64-bit offsets, allowing to represent\n * extremely large data values.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class LargeBinary {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns LargeBinary\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): LargeBinary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param LargeBinary= obj\n * @returns LargeBinary\n */\n static getRootAsLargeBinary(bb: flatbuffers.ByteBuffer, obj?: LargeBinary): LargeBinary {\n return (obj || new LargeBinary).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startLargeBinary(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endLargeBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createLargeBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n LargeBinary.startLargeBinary(builder);\n return LargeBinary.endLargeBinary(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FixedSizeBinary {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FixedSizeBinary\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FixedSizeBinary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param FixedSizeBinary= obj\n * @returns FixedSizeBinary\n */\n static getRootAsFixedSizeBinary(bb: flatbuffers.ByteBuffer, obj?: FixedSizeBinary): FixedSizeBinary {\n return (obj || new FixedSizeBinary).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Number of bytes per value\n *\n * @returns number\n */\n byteWidth(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFixedSizeBinary(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number byteWidth\n */\n static addByteWidth(builder: flatbuffers.Builder, byteWidth: number) {\n builder.addFieldInt32(0, byteWidth, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFixedSizeBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createFixedSizeBinary(builder: flatbuffers.Builder, byteWidth: number): flatbuffers.Offset {\n FixedSizeBinary.startFixedSizeBinary(builder);\n FixedSizeBinary.addByteWidth(builder, byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Bool {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Bool\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Bool {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Bool= obj\n * @returns Bool\n */\n static getRootAsBool(bb: flatbuffers.ByteBuffer, obj?: Bool): Bool {\n return (obj || new Bool).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startBool(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endBool(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createBool(builder: flatbuffers.Builder): flatbuffers.Offset {\n Bool.startBool(builder);\n return Bool.endBool(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Decimal {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Decimal\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Decimal {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Decimal= obj\n * @returns Decimal\n */\n static getRootAsDecimal(bb: flatbuffers.ByteBuffer, obj?: Decimal): Decimal {\n return (obj || new Decimal).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Total number of decimal digits\n *\n * @returns number\n */\n precision(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * Number of digits after the decimal point \".\"\n *\n * @returns number\n */\n scale(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDecimal(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number precision\n */\n static addPrecision(builder: flatbuffers.Builder, precision: number) {\n builder.addFieldInt32(0, precision, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number scale\n */\n static addScale(builder: flatbuffers.Builder, scale: number) {\n builder.addFieldInt32(1, scale, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDecimal(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDecimal(builder: flatbuffers.Builder, precision: number, scale: number): flatbuffers.Offset {\n Decimal.startDecimal(builder);\n Decimal.addPrecision(builder, precision);\n Decimal.addScale(builder, scale);\n return Decimal.endDecimal(builder);\n }\n }\n}\n/**\n * Date is either a 32-bit or 64-bit type representing elapsed time since UNIX\n * epoch (1970-01-01), stored in either of two units:\n *\n * * Milliseconds (64 bits) indicating UNIX time elapsed since the epoch (no\n * leap seconds), where the values are evenly divisible by 86400000\n * * Days (32 bits) since the UNIX epoch\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Date {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Date\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Date {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Date= obj\n * @returns Date\n */\n static getRootAsDate(bb: flatbuffers.ByteBuffer, obj?: Date): Date {\n return (obj || new Date).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.DateUnit\n */\n unit(): org.apache.arrow.flatbuf.DateUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.DateUnit.MILLISECOND;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDate(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.DateUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.DateUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.DateUnit.MILLISECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDate(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDate(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.DateUnit): flatbuffers.Offset {\n Date.startDate(builder);\n Date.addUnit(builder, unit);\n return Date.endDate(builder);\n }\n }\n}\n/**\n * Time type. The physical storage type depends on the unit\n * - SECOND and MILLISECOND: 32 bits\n * - MICROSECOND and NANOSECOND: 64 bits\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Time {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Time\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Time {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Time= obj\n * @returns Time\n */\n static getRootAsTime(bb: flatbuffers.ByteBuffer, obj?: Time): Time {\n return (obj || new Time).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.TimeUnit\n */\n unit(): org.apache.arrow.flatbuf.TimeUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.MILLISECOND;\n }\n\n /**\n * @returns number\n */\n bitWidth(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 32;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startTime(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.TimeUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.MILLISECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number bitWidth\n */\n static addBitWidth(builder: flatbuffers.Builder, bitWidth: number) {\n builder.addFieldInt32(1, bitWidth, 32);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endTime(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createTime(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit, bitWidth: number): flatbuffers.Offset {\n Time.startTime(builder);\n Time.addUnit(builder, unit);\n Time.addBitWidth(builder, bitWidth);\n return Time.endTime(builder);\n }\n }\n}\n/**\n * Time elapsed from the Unix epoch, 00:00:00.000 on 1 January 1970, excluding\n * leap seconds, as a 64-bit integer. Note that UNIX time does not include\n * leap seconds.\n *\n * The Timestamp metadata supports both \"time zone naive\" and \"time zone\n * aware\" timestamps. Read about the timezone attribute for more detail\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Timestamp {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Timestamp\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Timestamp {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Timestamp= obj\n * @returns Timestamp\n */\n static getRootAsTimestamp(bb: flatbuffers.ByteBuffer, obj?: Timestamp): Timestamp {\n return (obj || new Timestamp).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.TimeUnit\n */\n unit(): org.apache.arrow.flatbuf.TimeUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.SECOND;\n }\n\n /**\n * The time zone is a string indicating the name of a time zone, one of:\n *\n * * As used in the Olson time zone database (the \"tz database\" or\n * \"tzdata\"), such as \"America/New_York\"\n * * An absolute time zone offset of the form +XX:XX or -XX:XX, such as +07:30\n *\n * Whether a timezone string is present indicates different semantics about\n * the data:\n *\n * * If the time zone is null or equal to an empty string, the data is \"time\n * zone naive\" and shall be displayed *as is* to the user, not localized\n * to the locale of the user. This data can be though of as UTC but\n * without having \"UTC\" as the time zone, it is not considered to be\n * localized to any time zone\n *\n * * If the time zone is set to a valid value, values can be displayed as\n * \"localized\" to that time zone, even though the underlying 64-bit\n * integers are identical to the same data stored in UTC. Converting\n * between time zones is a metadata-only operation and does not change the\n * underlying values\n *\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n timezone(): string | null;\n timezone(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n timezone(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startTimestamp(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.TimeUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.SECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset timezoneOffset\n */\n static addTimezone(builder: flatbuffers.Builder, timezoneOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, timezoneOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endTimestamp(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createTimestamp(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit, timezoneOffset: flatbuffers.Offset): flatbuffers.Offset {\n Timestamp.startTimestamp(builder);\n Timestamp.addUnit(builder, unit);\n Timestamp.addTimezone(builder, timezoneOffset);\n return Timestamp.endTimestamp(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Interval {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Interval\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Interval {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Interval= obj\n * @returns Interval\n */\n static getRootAsInterval(bb: flatbuffers.ByteBuffer, obj?: Interval): Interval {\n return (obj || new Interval).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.IntervalUnit\n */\n unit(): org.apache.arrow.flatbuf.IntervalUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startInterval(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.IntervalUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.IntervalUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endInterval(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createInterval(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.IntervalUnit): flatbuffers.Offset {\n Interval.startInterval(builder);\n Interval.addUnit(builder, unit);\n return Interval.endInterval(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Duration {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Duration\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Duration {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Duration= obj\n * @returns Duration\n */\n static getRootAsDuration(bb: flatbuffers.ByteBuffer, obj?: Duration): Duration {\n return (obj || new Duration).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.TimeUnit\n */\n unit(): org.apache.arrow.flatbuf.TimeUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.MILLISECOND;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDuration(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.TimeUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.MILLISECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDuration(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDuration(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit): flatbuffers.Offset {\n Duration.startDuration(builder);\n Duration.addUnit(builder, unit);\n return Duration.endDuration(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * user defined key value pairs to add custom metadata to arrow\n * key namespacing is the responsibility of the user\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class KeyValue {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns KeyValue\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): KeyValue {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param KeyValue= obj\n * @returns KeyValue\n */\n static getRootAsKeyValue(bb: flatbuffers.ByteBuffer, obj?: KeyValue): KeyValue {\n return (obj || new KeyValue).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n key(): string | null;\n key(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n key(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n value(): string | null;\n value(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n value(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startKeyValue(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset keyOffset\n */\n static addKey(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset) {\n builder.addFieldOffset(0, keyOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset valueOffset\n */\n static addValue(builder: flatbuffers.Builder, valueOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, valueOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endKeyValue(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createKeyValue(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset, valueOffset: flatbuffers.Offset): flatbuffers.Offset {\n KeyValue.startKeyValue(builder);\n KeyValue.addKey(builder, keyOffset);\n KeyValue.addValue(builder, valueOffset);\n return KeyValue.endKeyValue(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * Dictionary encoding metadata\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class DictionaryEncoding {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns DictionaryEncoding\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): DictionaryEncoding {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param DictionaryEncoding= obj\n * @returns DictionaryEncoding\n */\n static getRootAsDictionaryEncoding(bb: flatbuffers.ByteBuffer, obj?: DictionaryEncoding): DictionaryEncoding {\n return (obj || new DictionaryEncoding).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * The known dictionary id in the application where this data is used. In\n * the file or streaming formats, the dictionary ids are found in the\n * DictionaryBatch messages\n *\n * @returns flatbuffers.Long\n */\n id(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * The dictionary indices are constrained to be positive integers. If this\n * field is null, the indices must be signed int32\n *\n * @param org.apache.arrow.flatbuf.Int= obj\n * @returns org.apache.arrow.flatbuf.Int|null\n */\n indexType(obj?: org.apache.arrow.flatbuf.Int): org.apache.arrow.flatbuf.Int | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.Int).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * By default, dictionaries are not ordered, or the order does not have\n * semantic meaning. In some statistical, applications, dictionary-encoding\n * is used to represent ordered categorical data, and we provide a way to\n * preserve that metadata here\n *\n * @returns boolean\n */\n isOrdered(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDictionaryEncoding(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long id\n */\n static addId(builder: flatbuffers.Builder, id: flatbuffers.Long) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset indexTypeOffset\n */\n static addIndexType(builder: flatbuffers.Builder, indexTypeOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, indexTypeOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean isOrdered\n */\n static addIsOrdered(builder: flatbuffers.Builder, isOrdered: boolean) {\n builder.addFieldInt8(2, +isOrdered, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDictionaryEncoding(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDictionaryEncoding(builder: flatbuffers.Builder, id: flatbuffers.Long, indexTypeOffset: flatbuffers.Offset, isOrdered: boolean): flatbuffers.Offset {\n DictionaryEncoding.startDictionaryEncoding(builder);\n DictionaryEncoding.addId(builder, id);\n DictionaryEncoding.addIndexType(builder, indexTypeOffset);\n DictionaryEncoding.addIsOrdered(builder, isOrdered);\n return DictionaryEncoding.endDictionaryEncoding(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * A field represents a named column in a record / row batch or child of a\n * nested type.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Field {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Field\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Field {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Field= obj\n * @returns Field\n */\n static getRootAsField(bb: flatbuffers.ByteBuffer, obj?: Field): Field {\n return (obj || new Field).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Name is not required, in i.e. a List\n *\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n name(): string | null;\n name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n name(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * Whether or not this field can contain nulls. Should be true in general.\n *\n * @returns boolean\n */\n nullable(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.Type\n */\n typeType(): org.apache.arrow.flatbuf.Type {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Type.NONE;\n }\n\n /**\n * This is the type of the decoded value if the field is dictionary encoded.\n *\n * @param flatbuffers.Table obj\n * @returns ?flatbuffers.Table\n */\n type(obj: T): T | null {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n }\n\n /**\n * Present only if the field is dictionary encoded.\n *\n * @param org.apache.arrow.flatbuf.DictionaryEncoding= obj\n * @returns org.apache.arrow.flatbuf.DictionaryEncoding|null\n */\n dictionary(obj?: org.apache.arrow.flatbuf.DictionaryEncoding): org.apache.arrow.flatbuf.DictionaryEncoding | null {\n let offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new org.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * children apply only to nested data types like Struct, List and Union. For\n * primitive types children will have length 0.\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.Field= obj\n * @returns org.apache.arrow.flatbuf.Field\n */\n children(index: number, obj?: org.apache.arrow.flatbuf.Field): org.apache.arrow.flatbuf.Field | null {\n let offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? (obj || new org.apache.arrow.flatbuf.Field).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n childrenLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * User-defined metadata\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.KeyValue= obj\n * @returns org.apache.arrow.flatbuf.KeyValue\n */\n customMetadata(index: number, obj?: org.apache.arrow.flatbuf.KeyValue): org.apache.arrow.flatbuf.KeyValue | null {\n let offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? (obj || new org.apache.arrow.flatbuf.KeyValue).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n customMetadataLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startField(builder: flatbuffers.Builder) {\n builder.startObject(7);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset nameOffset\n */\n static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset) {\n builder.addFieldOffset(0, nameOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean nullable\n */\n static addNullable(builder: flatbuffers.Builder, nullable: boolean) {\n builder.addFieldInt8(1, +nullable, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.Type typeType\n */\n static addTypeType(builder: flatbuffers.Builder, typeType: org.apache.arrow.flatbuf.Type) {\n builder.addFieldInt8(2, typeType, org.apache.arrow.flatbuf.Type.NONE);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset typeOffset\n */\n static addType(builder: flatbuffers.Builder, typeOffset: flatbuffers.Offset) {\n builder.addFieldOffset(3, typeOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset dictionaryOffset\n */\n static addDictionary(builder: flatbuffers.Builder, dictionaryOffset: flatbuffers.Offset) {\n builder.addFieldOffset(4, dictionaryOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset childrenOffset\n */\n static addChildren(builder: flatbuffers.Builder, childrenOffset: flatbuffers.Offset) {\n builder.addFieldOffset(5, childrenOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createChildrenVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startChildrenVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset customMetadataOffset\n */\n static addCustomMetadata(builder: flatbuffers.Builder, customMetadataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(6, customMetadataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createCustomMetadataVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startCustomMetadataVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endField(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createField(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset, nullable: boolean, typeType: org.apache.arrow.flatbuf.Type, typeOffset: flatbuffers.Offset, dictionaryOffset: flatbuffers.Offset, childrenOffset: flatbuffers.Offset, customMetadataOffset: flatbuffers.Offset): flatbuffers.Offset {\n Field.startField(builder);\n Field.addName(builder, nameOffset);\n Field.addNullable(builder, nullable);\n Field.addTypeType(builder, typeType);\n Field.addType(builder, typeOffset);\n Field.addDictionary(builder, dictionaryOffset);\n Field.addChildren(builder, childrenOffset);\n Field.addCustomMetadata(builder, customMetadataOffset);\n return Field.endField(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * A Buffer represents a single contiguous memory segment\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Buffer {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Buffer\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Buffer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * The relative offset into the shared memory page where the bytes for this\n * buffer starts\n *\n * @returns flatbuffers.Long\n */\n offset(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n }\n\n /**\n * The absolute length (in bytes) of the memory buffer. The memory is found\n * from offset (inclusive) to offset + length (non-inclusive).\n *\n * @returns flatbuffers.Long\n */\n length(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long offset\n * @param flatbuffers.Long length\n * @returns flatbuffers.Offset\n */\n static createBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Long, length: flatbuffers.Long): flatbuffers.Offset {\n builder.prep(8, 16);\n builder.writeInt64(length);\n builder.writeInt64(offset);\n return builder.offset();\n }\n\n }\n}\n/**\n * ----------------------------------------------------------------------\n * A Schema describes the columns in a row batch\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Schema {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Schema\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Schema {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Schema= obj\n * @returns Schema\n */\n static getRootAsSchema(bb: flatbuffers.ByteBuffer, obj?: Schema): Schema {\n return (obj || new Schema).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * endianness of the buffer\n * it is Little Endian by default\n * if endianness doesn't match the underlying system then the vectors need to be converted\n *\n * @returns org.apache.arrow.flatbuf.Endianness\n */\n endianness(): org.apache.arrow.flatbuf.Endianness {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Endianness.Little;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.Field= obj\n * @returns org.apache.arrow.flatbuf.Field\n */\n fields(index: number, obj?: org.apache.arrow.flatbuf.Field): org.apache.arrow.flatbuf.Field | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.Field).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n fieldsLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.KeyValue= obj\n * @returns org.apache.arrow.flatbuf.KeyValue\n */\n customMetadata(index: number, obj?: org.apache.arrow.flatbuf.KeyValue): org.apache.arrow.flatbuf.KeyValue | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new org.apache.arrow.flatbuf.KeyValue).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n customMetadataLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startSchema(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.Endianness endianness\n */\n static addEndianness(builder: flatbuffers.Builder, endianness: org.apache.arrow.flatbuf.Endianness) {\n builder.addFieldInt16(0, endianness, org.apache.arrow.flatbuf.Endianness.Little);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset fieldsOffset\n */\n static addFields(builder: flatbuffers.Builder, fieldsOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, fieldsOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createFieldsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startFieldsVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset customMetadataOffset\n */\n static addCustomMetadata(builder: flatbuffers.Builder, customMetadataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, customMetadataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createCustomMetadataVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startCustomMetadataVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endSchema(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset offset\n */\n static finishSchemaBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset) {\n builder.finish(offset);\n }\n\n static createSchema(builder: flatbuffers.Builder, endianness: org.apache.arrow.flatbuf.Endianness, fieldsOffset: flatbuffers.Offset, customMetadataOffset: flatbuffers.Offset): flatbuffers.Offset {\n Schema.startSchema(builder);\n Schema.addEndianness(builder, endianness);\n Schema.addFields(builder, fieldsOffset);\n Schema.addCustomMetadata(builder, customMetadataOffset);\n return Schema.endSchema(builder);\n }\n }\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { flatbuffers } from 'flatbuffers';\nimport * as NS7624605610262437867 from './Schema';\nexport namespace org.apache.arrow.flatbuf {\n export import Schema = NS7624605610262437867.org.apache.arrow.flatbuf.Schema;\n}\n/**\n * ----------------------------------------------------------------------\n * The root Message type\n * This union enables us to easily send different message types without\n * redundant storage, and in the future we can easily add new message types.\n *\n * Arrow implementations do not need to implement all of the message types,\n * which may include experimental metadata types. For maximum compatibility,\n * it is best to send data using RecordBatch\n *\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum MessageHeader {\n NONE = 0,\n Schema = 1,\n DictionaryBatch = 2,\n RecordBatch = 3,\n Tensor = 4,\n SparseTensor = 5\n }\n}\n\n/**\n * ----------------------------------------------------------------------\n * Data structures for describing a table row batch (a collection of\n * equal-length Arrow arrays)\n * Metadata about a field at some level of a nested type tree (but not\n * its children).\n *\n * For example, a List with values [[1, 2, 3], null, [4], [5, 6], null]\n * would have {length: 5, null_count: 2} for its List node, and {length: 6,\n * null_count: 0} for its Int16 node, as separate FieldNode structs\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FieldNode {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FieldNode\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FieldNode {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * The number of value slots in the Arrow array at this level of a nested\n * tree\n *\n * @returns flatbuffers.Long\n */\n length(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n }\n\n /**\n * The number of observed nulls. Fields with null_count == 0 may choose not\n * to write their physical validity bitmap out as a materialized buffer,\n * instead setting the length of the bitmap buffer to 0.\n *\n * @returns flatbuffers.Long\n */\n nullCount(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long length\n * @param flatbuffers.Long null_count\n * @returns flatbuffers.Offset\n */\n static createFieldNode(builder: flatbuffers.Builder, length: flatbuffers.Long, null_count: flatbuffers.Long): flatbuffers.Offset {\n builder.prep(8, 16);\n builder.writeInt64(null_count);\n builder.writeInt64(length);\n return builder.offset();\n }\n\n }\n}\n/**\n * A data header describing the shared memory layout of a \"record\" or \"row\"\n * batch. Some systems call this a \"row batch\" internally and others a \"record\n * batch\".\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class RecordBatch {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns RecordBatch\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): RecordBatch {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param RecordBatch= obj\n * @returns RecordBatch\n */\n static getRootAsRecordBatch(bb: flatbuffers.ByteBuffer, obj?: RecordBatch): RecordBatch {\n return (obj || new RecordBatch).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * number of records / rows. The arrays in the batch should all have this\n * length\n *\n * @returns flatbuffers.Long\n */\n length(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * Nodes correspond to the pre-ordered flattened logical schema\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.FieldNode= obj\n * @returns org.apache.arrow.flatbuf.FieldNode\n */\n nodes(index: number, obj?: org.apache.arrow.flatbuf.FieldNode): org.apache.arrow.flatbuf.FieldNode | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.FieldNode).__init(this.bb!.__vector(this.bb_pos + offset) + index * 16, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n nodesLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * Buffers correspond to the pre-ordered flattened buffer tree\n *\n * The number of buffers appended to this list depends on the schema. For\n * example, most primitive arrays will have 2 buffers, 1 for the validity\n * bitmap and 1 for the values. For struct arrays, there will only be a\n * single buffer for the validity (nulls) bitmap\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.Buffer= obj\n * @returns org.apache.arrow.flatbuf.Buffer\n */\n buffers(index: number, obj?: NS7624605610262437867.org.apache.arrow.flatbuf.Buffer): NS7624605610262437867.org.apache.arrow.flatbuf.Buffer | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new NS7624605610262437867.org.apache.arrow.flatbuf.Buffer).__init(this.bb!.__vector(this.bb_pos + offset) + index * 16, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n buffersLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startRecordBatch(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long length\n */\n static addLength(builder: flatbuffers.Builder, length: flatbuffers.Long) {\n builder.addFieldInt64(0, length, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset nodesOffset\n */\n static addNodes(builder: flatbuffers.Builder, nodesOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, nodesOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startNodesVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(16, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset buffersOffset\n */\n static addBuffers(builder: flatbuffers.Builder, buffersOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, buffersOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startBuffersVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(16, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endRecordBatch(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createRecordBatch(builder: flatbuffers.Builder, length: flatbuffers.Long, nodesOffset: flatbuffers.Offset, buffersOffset: flatbuffers.Offset): flatbuffers.Offset {\n RecordBatch.startRecordBatch(builder);\n RecordBatch.addLength(builder, length);\n RecordBatch.addNodes(builder, nodesOffset);\n RecordBatch.addBuffers(builder, buffersOffset);\n return RecordBatch.endRecordBatch(builder);\n }\n }\n}\n/**\n * For sending dictionary encoding information. Any Field can be\n * dictionary-encoded, but in this case none of its children may be\n * dictionary-encoded.\n * There is one vector / column per dictionary, but that vector / column\n * may be spread across multiple dictionary batches by using the isDelta\n * flag\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class DictionaryBatch {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns DictionaryBatch\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): DictionaryBatch {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param DictionaryBatch= obj\n * @returns DictionaryBatch\n */\n static getRootAsDictionaryBatch(bb: flatbuffers.ByteBuffer, obj?: DictionaryBatch): DictionaryBatch {\n return (obj || new DictionaryBatch).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns flatbuffers.Long\n */\n id(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * @param org.apache.arrow.flatbuf.RecordBatch= obj\n * @returns org.apache.arrow.flatbuf.RecordBatch|null\n */\n data(obj?: org.apache.arrow.flatbuf.RecordBatch): org.apache.arrow.flatbuf.RecordBatch | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.RecordBatch).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * If isDelta is true the values in the dictionary are to be appended to a\n * dictionary with the indicated id\n *\n * @returns boolean\n */\n isDelta(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDictionaryBatch(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long id\n */\n static addId(builder: flatbuffers.Builder, id: flatbuffers.Long) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset dataOffset\n */\n static addData(builder: flatbuffers.Builder, dataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, dataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean isDelta\n */\n static addIsDelta(builder: flatbuffers.Builder, isDelta: boolean) {\n builder.addFieldInt8(2, +isDelta, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDictionaryBatch(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDictionaryBatch(builder: flatbuffers.Builder, id: flatbuffers.Long, dataOffset: flatbuffers.Offset, isDelta: boolean): flatbuffers.Offset {\n DictionaryBatch.startDictionaryBatch(builder);\n DictionaryBatch.addId(builder, id);\n DictionaryBatch.addData(builder, dataOffset);\n DictionaryBatch.addIsDelta(builder, isDelta);\n return DictionaryBatch.endDictionaryBatch(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Message {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Message\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Message {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Message= obj\n * @returns Message\n */\n static getRootAsMessage(bb: flatbuffers.ByteBuffer, obj?: Message): Message {\n return (obj || new Message).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.MetadataVersion\n */\n version(): NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1;\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.MessageHeader\n */\n headerType(): org.apache.arrow.flatbuf.MessageHeader {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : org.apache.arrow.flatbuf.MessageHeader.NONE;\n }\n\n /**\n * @param flatbuffers.Table obj\n * @returns ?flatbuffers.Table\n */\n header(obj: T): T | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n }\n\n /**\n * @returns flatbuffers.Long\n */\n bodyLength(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.KeyValue= obj\n * @returns org.apache.arrow.flatbuf.KeyValue\n */\n customMetadata(index: number, obj?: NS7624605610262437867.org.apache.arrow.flatbuf.KeyValue): NS7624605610262437867.org.apache.arrow.flatbuf.KeyValue | null {\n let offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new NS7624605610262437867.org.apache.arrow.flatbuf.KeyValue).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n customMetadataLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startMessage(builder: flatbuffers.Builder) {\n builder.startObject(5);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.MetadataVersion version\n */\n static addVersion(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion) {\n builder.addFieldInt16(0, version, NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.MessageHeader headerType\n */\n static addHeaderType(builder: flatbuffers.Builder, headerType: org.apache.arrow.flatbuf.MessageHeader) {\n builder.addFieldInt8(1, headerType, org.apache.arrow.flatbuf.MessageHeader.NONE);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset headerOffset\n */\n static addHeader(builder: flatbuffers.Builder, headerOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, headerOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long bodyLength\n */\n static addBodyLength(builder: flatbuffers.Builder, bodyLength: flatbuffers.Long) {\n builder.addFieldInt64(3, bodyLength, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset customMetadataOffset\n */\n static addCustomMetadata(builder: flatbuffers.Builder, customMetadataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(4, customMetadataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createCustomMetadataVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startCustomMetadataVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endMessage(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset offset\n */\n static finishMessageBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset) {\n builder.finish(offset);\n }\n\n static createMessage(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion, headerType: org.apache.arrow.flatbuf.MessageHeader, headerOffset: flatbuffers.Offset, bodyLength: flatbuffers.Long, customMetadataOffset: flatbuffers.Offset): flatbuffers.Offset {\n Message.startMessage(builder);\n Message.addVersion(builder, version);\n Message.addHeaderType(builder, headerType);\n Message.addHeader(builder, headerOffset);\n Message.addBodyLength(builder, bodyLength);\n Message.addCustomMetadata(builder, customMetadataOffset);\n return Message.endMessage(builder);\n }\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport * as Schema_ from './fb/Schema';\nimport * as Message_ from './fb/Message';\n\nexport import ArrowType = Schema_.org.apache.arrow.flatbuf.Type;\nexport import DateUnit = Schema_.org.apache.arrow.flatbuf.DateUnit;\nexport import TimeUnit = Schema_.org.apache.arrow.flatbuf.TimeUnit;\nexport import Precision = Schema_.org.apache.arrow.flatbuf.Precision;\nexport import UnionMode = Schema_.org.apache.arrow.flatbuf.UnionMode;\nexport import IntervalUnit = Schema_.org.apache.arrow.flatbuf.IntervalUnit;\nexport import MessageHeader = Message_.org.apache.arrow.flatbuf.MessageHeader;\nexport import MetadataVersion = Schema_.org.apache.arrow.flatbuf.MetadataVersion;\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow\n * IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n /** The default placeholder type */\n NONE = 0,\n /** A NULL type having no physical storage */\n Null = 1,\n /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Int = 2,\n /** 2, 4, or 8-byte floating point value */\n Float = 3,\n /** Variable-length bytes (no guarantee of UTF8-ness) */\n Binary = 4,\n /** UTF8 variable-length string as List */\n Utf8 = 5,\n /** Boolean as 1 bit, LSB bit-packed ordering */\n Bool = 6,\n /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Decimal = 7,\n /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Date = 8,\n /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Time = 9,\n /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Timestamp = 10,\n /** YEAR_MONTH or DAY_TIME interval in SQL style */\n Interval = 11,\n /** A list of some logical data type */\n List = 12,\n /** Struct of logical types */\n Struct = 13,\n /** Union of logical types */\n Union = 14,\n /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeBinary = 15,\n /** Fixed-size list. Each value occupies the same number of bytes */\n FixedSizeList = 16,\n /** Map of named logical types */\n Map = 17,\n\n /** Dictionary aka Category type */\n Dictionary = -1,\n Int8 = -2,\n Int16 = -3,\n Int32 = -4,\n Int64 = -5,\n Uint8 = -6,\n Uint16 = -7,\n Uint32 = -8,\n Uint64 = -9,\n Float16 = -10,\n Float32 = -11,\n Float64 = -12,\n DateDay = -13,\n DateMillisecond = -14,\n TimestampSecond = -15,\n TimestampMillisecond = -16,\n TimestampMicrosecond = -17,\n TimestampNanosecond = -18,\n TimeSecond = -19,\n TimeMillisecond = -20,\n TimeMicrosecond = -21,\n TimeNanosecond = -22,\n DenseUnion = -23,\n SparseUnion = -24,\n IntervalDayTime = -25,\n IntervalYearMonth = -26,\n}\n\nexport enum BufferType {\n /**\n * used in List type, Dense Union and variable length primitive types (String, Binary)\n */\n OFFSET = 0,\n\n /**\n * actual data, either wixed width primitive types in slots or variable width delimited by an OFFSET vector\n */\n DATA = 1,\n\n /**\n * Bit vector indicating if each value is null\n */\n VALIDITY = 2,\n\n /**\n * Type vector used in Union type\n */\n TYPE = 3\n }\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport function getBool(_data: any, _index: number, byte: number, bit: number) {\n return (byte & 1 << bit) !== 0;\n}\n\n/** @ignore */\nexport function getBit(_data: any, _index: number, byte: number, bit: number): 0 | 1 {\n return (byte & 1 << bit) >> bit as (0 | 1);\n}\n\n/** @ignore */\nexport function setBool(bytes: Uint8Array, index: number, value: any) {\n return value ?\n !!(bytes[index >> 3] |= (1 << (index % 8))) || true :\n !(bytes[index >> 3] &= ~(1 << (index % 8))) && false ;\n}\n\n/** @ignore */\nexport function truncateBitmap(offset: number, length: number, bitmap: Uint8Array) {\n const alignedSize = (bitmap.byteLength + 7) & ~7;\n if (offset > 0 || bitmap.byteLength < alignedSize) {\n const bytes = new Uint8Array(alignedSize);\n // If the offset is a multiple of 8 bits, it's safe to slice the bitmap\n bytes.set(offset % 8 === 0 ? bitmap.subarray(offset >> 3) :\n // Otherwise iterate each bit from the offset and return a new one\n packBools(iterateBits(bitmap, offset, length, null, getBool)).subarray(0, alignedSize));\n return bytes;\n }\n return bitmap;\n}\n\n/** @ignore */\nexport function packBools(values: Iterable) {\n let xs: number[] = [];\n let i = 0, bit = 0, byte = 0;\n for (const value of values) {\n value && (byte |= 1 << bit);\n if (++bit === 8) {\n xs[i++] = byte;\n byte = bit = 0;\n }\n }\n if (i === 0 || bit > 0) { xs[i++] = byte; }\n let b = new Uint8Array((xs.length + 7) & ~7);\n b.set(xs);\n return b;\n}\n\n/** @ignore */\nexport function* iterateBits(bytes: Uint8Array, begin: number, length: number, context: any,\n get: (context: any, index: number, byte: number, bit: number) => T) {\n let bit = begin % 8;\n let byteIndex = begin >> 3;\n let index = 0, remaining = length;\n for (; remaining > 0; bit = 0) {\n let byte = bytes[byteIndex++];\n do {\n yield get(context, index++, byte, bit);\n } while (--remaining > 0 && ++bit < 8);\n }\n}\n\n/**\n * Compute the population count (the number of bits set to 1) for a range of bits in a Uint8Array.\n * @param vector The Uint8Array of bits for which to compute the population count.\n * @param lhs The range's left-hand side (or start) bit\n * @param rhs The range's right-hand side (or end) bit\n */\n/** @ignore */\nexport function popcnt_bit_range(data: Uint8Array, lhs: number, rhs: number): number {\n if (rhs - lhs <= 0) { return 0; }\n // If the bit range is less than one byte, sum the 1 bits in the bit range\n if (rhs - lhs < 8) {\n let sum = 0;\n for (const bit of iterateBits(data, lhs, rhs - lhs, data, getBit)) {\n sum += bit;\n }\n return sum;\n }\n // Get the next lowest multiple of 8 from the right hand side\n const rhsInside = rhs >> 3 << 3;\n // Get the next highest multiple of 8 from the left hand side\n const lhsInside = lhs + (lhs % 8 === 0 ? 0 : 8 - lhs % 8);\n return (\n // Get the popcnt of bits between the left hand side, and the next highest multiple of 8\n popcnt_bit_range(data, lhs, lhsInside) +\n // Get the popcnt of bits between the right hand side, and the next lowest multiple of 8\n popcnt_bit_range(data, rhsInside, rhs) +\n // Get the popcnt of all bits between the left and right hand sides' multiples of 8\n popcnt_array(data, lhsInside >> 3, (rhsInside - lhsInside) >> 3)\n );\n}\n\n/** @ignore */\nexport function popcnt_array(arr: ArrayBufferView, byteOffset?: number, byteLength?: number) {\n let cnt = 0, pos = byteOffset! | 0;\n const view = new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n const len = byteLength === void 0 ? arr.byteLength : pos + byteLength;\n while (len - pos >= 4) {\n cnt += popcnt_uint32(view.getUint32(pos));\n pos += 4;\n }\n while (len - pos >= 2) {\n cnt += popcnt_uint32(view.getUint16(pos));\n pos += 2;\n }\n while (len - pos >= 1) {\n cnt += popcnt_uint32(view.getUint8(pos));\n pos += 1;\n }\n return cnt;\n}\n\n/** @ignore */\nexport function popcnt_uint32(uint32: number): number {\n let i = uint32 | 0;\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n return (((i + (i >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;\n}\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Vector } from './vector';\nimport { Type, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from './enum';\nimport { DataType, Float, Int, Date_, Interval, Time, Timestamp, Union, } from './type';\n\nexport abstract class Visitor {\n public visitMany(nodes: any[], ...args: any[][]) {\n return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));\n }\n public visit(...args: any[]) {\n return this.getVisitFn(args[0], false).apply(this, args);\n }\n public getVisitFn(node: any, throwIfNotFound = true) {\n return getVisitFn(this, node, throwIfNotFound);\n }\n public visitNull (_node: any, ..._args: any[]): any { return null; }\n public visitBool (_node: any, ..._args: any[]): any { return null; }\n public visitInt (_node: any, ..._args: any[]): any { return null; }\n public visitFloat (_node: any, ..._args: any[]): any { return null; }\n public visitUtf8 (_node: any, ..._args: any[]): any { return null; }\n public visitBinary (_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeBinary (_node: any, ..._args: any[]): any { return null; }\n public visitDate (_node: any, ..._args: any[]): any { return null; }\n public visitTimestamp (_node: any, ..._args: any[]): any { return null; }\n public visitTime (_node: any, ..._args: any[]): any { return null; }\n public visitDecimal (_node: any, ..._args: any[]): any { return null; }\n public visitList (_node: any, ..._args: any[]): any { return null; }\n public visitStruct (_node: any, ..._args: any[]): any { return null; }\n public visitUnion (_node: any, ..._args: any[]): any { return null; }\n public visitDictionary (_node: any, ..._args: any[]): any { return null; }\n public visitInterval (_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeList (_node: any, ..._args: any[]): any { return null; }\n public visitMap (_node: any, ..._args: any[]): any { return null; }\n}\n\n/** @ignore */\nfunction getVisitFn(visitor: Visitor, node: any, throwIfNotFound = true) {\n let fn: any = null;\n let dtype: T['TType'] = Type.NONE;\n // tslint:disable\n if (node instanceof Data ) { dtype = inferDType(node.type as T); }\n else if (node instanceof Vector ) { dtype = inferDType(node.type as T); }\n else if (node instanceof DataType) { dtype = inferDType(node as T); }\n else if (typeof (dtype = node) !== 'number') { dtype = Type[node] as any as T['TType']; }\n\n switch (dtype) {\n case Type.Null: fn = visitor.visitNull; break;\n case Type.Bool: fn = visitor.visitBool; break;\n case Type.Int: fn = visitor.visitInt; break;\n case Type.Int8: fn = visitor.visitInt8 || visitor.visitInt; break;\n case Type.Int16: fn = visitor.visitInt16 || visitor.visitInt; break;\n case Type.Int32: fn = visitor.visitInt32 || visitor.visitInt; break;\n case Type.Int64: fn = visitor.visitInt64 || visitor.visitInt; break;\n case Type.Uint8: fn = visitor.visitUint8 || visitor.visitInt; break;\n case Type.Uint16: fn = visitor.visitUint16 || visitor.visitInt; break;\n case Type.Uint32: fn = visitor.visitUint32 || visitor.visitInt; break;\n case Type.Uint64: fn = visitor.visitUint64 || visitor.visitInt; break;\n case Type.Float: fn = visitor.visitFloat; break;\n case Type.Float16: fn = visitor.visitFloat16 || visitor.visitFloat; break;\n case Type.Float32: fn = visitor.visitFloat32 || visitor.visitFloat; break;\n case Type.Float64: fn = visitor.visitFloat64 || visitor.visitFloat; break;\n case Type.Utf8: fn = visitor.visitUtf8; break;\n case Type.Binary: fn = visitor.visitBinary; break;\n case Type.FixedSizeBinary: fn = visitor.visitFixedSizeBinary; break;\n case Type.Date: fn = visitor.visitDate; break;\n case Type.DateDay: fn = visitor.visitDateDay || visitor.visitDate; break;\n case Type.DateMillisecond: fn = visitor.visitDateMillisecond || visitor.visitDate; break;\n case Type.Timestamp: fn = visitor.visitTimestamp; break;\n case Type.TimestampSecond: fn = visitor.visitTimestampSecond || visitor.visitTimestamp; break;\n case Type.TimestampMillisecond: fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp; break;\n case Type.TimestampMicrosecond: fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp; break;\n case Type.TimestampNanosecond: fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp; break;\n case Type.Time: fn = visitor.visitTime; break;\n case Type.TimeSecond: fn = visitor.visitTimeSecond || visitor.visitTime; break;\n case Type.TimeMillisecond: fn = visitor.visitTimeMillisecond || visitor.visitTime; break;\n case Type.TimeMicrosecond: fn = visitor.visitTimeMicrosecond || visitor.visitTime; break;\n case Type.TimeNanosecond: fn = visitor.visitTimeNanosecond || visitor.visitTime; break;\n case Type.Decimal: fn = visitor.visitDecimal; break;\n case Type.List: fn = visitor.visitList; break;\n case Type.Struct: fn = visitor.visitStruct; break;\n case Type.Union: fn = visitor.visitUnion; break;\n case Type.DenseUnion: fn = visitor.visitDenseUnion || visitor.visitUnion; break;\n case Type.SparseUnion: fn = visitor.visitSparseUnion || visitor.visitUnion; break;\n case Type.Dictionary: fn = visitor.visitDictionary; break;\n case Type.Interval: fn = visitor.visitInterval; break;\n case Type.IntervalDayTime: fn = visitor.visitIntervalDayTime || visitor.visitInterval; break;\n case Type.IntervalYearMonth: fn = visitor.visitIntervalYearMonth || visitor.visitInterval; break;\n case Type.FixedSizeList: fn = visitor.visitFixedSizeList; break;\n case Type.Map: fn = visitor.visitMap; break;\n }\n if (typeof fn === 'function') return fn;\n if (!throwIfNotFound) return () => null;\n throw new Error(`Unrecognized type '${Type[dtype]}'`);\n}\n\n/** @ignore */\nfunction inferDType(type: T): Type {\n switch (type.typeId) {\n case Type.Null: return Type.Null;\n case Type.Int:\n const { bitWidth, isSigned } = (type as any as Int);\n switch (bitWidth) {\n case 8: return isSigned ? Type.Int8 : Type.Uint8 ;\n case 16: return isSigned ? Type.Int16 : Type.Uint16;\n case 32: return isSigned ? Type.Int32 : Type.Uint32;\n case 64: return isSigned ? Type.Int64 : Type.Uint64;\n }\n return Type.Int;\n case Type.Float:\n switch((type as any as Float).precision) {\n case Precision.HALF: return Type.Float16;\n case Precision.SINGLE: return Type.Float32;\n case Precision.DOUBLE: return Type.Float64;\n }\n return Type.Float;\n case Type.Binary: return Type.Binary;\n case Type.Utf8: return Type.Utf8;\n case Type.Bool: return Type.Bool;\n case Type.Decimal: return Type.Decimal;\n case Type.Time:\n switch ((type as any as Time).unit) {\n case TimeUnit.SECOND: return Type.TimeSecond;\n case TimeUnit.MILLISECOND: return Type.TimeMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimeNanosecond;\n }\n return Type.Time;\n case Type.Timestamp:\n switch ((type as any as Timestamp).unit) {\n case TimeUnit.SECOND: return Type.TimestampSecond;\n case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;\n }\n return Type.Timestamp;\n case Type.Date:\n switch ((type as any as Date_).unit) {\n case DateUnit.DAY: return Type.DateDay;\n case DateUnit.MILLISECOND: return Type.DateMillisecond;\n }\n return Type.Date;\n case Type.Interval:\n switch ((type as any as Interval).unit) {\n case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;\n case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;\n }\n return Type.Interval;\n case Type.Map: return Type.Map;\n case Type.List: return Type.List;\n case Type.Struct: return Type.Struct;\n case Type.Union:\n switch ((type as any as Union).mode) {\n case UnionMode.Dense: return Type.DenseUnion;\n case UnionMode.Sparse: return Type.SparseUnion;\n }\n return Type.Union;\n case Type.FixedSizeBinary: return Type.FixedSizeBinary;\n case Type.FixedSizeList: return Type.FixedSizeList;\n case Type.Dictionary: return Type.Dictionary;\n }\n throw new Error(`Unrecognized type '${Type[type.typeId]}'`);\n}\n\nexport interface Visitor {\n visitNull (node: any, ...args: any[]): any;\n visitBool (node: any, ...args: any[]): any;\n visitInt (node: any, ...args: any[]): any;\n visitInt8? (node: any, ...args: any[]): any;\n visitInt16? (node: any, ...args: any[]): any;\n visitInt32? (node: any, ...args: any[]): any;\n visitInt64? (node: any, ...args: any[]): any;\n visitUint8? (node: any, ...args: any[]): any;\n visitUint16? (node: any, ...args: any[]): any;\n visitUint32? (node: any, ...args: any[]): any;\n visitUint64? (node: any, ...args: any[]): any;\n visitFloat (node: any, ...args: any[]): any;\n visitFloat16? (node: any, ...args: any[]): any;\n visitFloat32? (node: any, ...args: any[]): any;\n visitFloat64? (node: any, ...args: any[]): any;\n visitUtf8 (node: any, ...args: any[]): any;\n visitBinary (node: any, ...args: any[]): any;\n visitFixedSizeBinary (node: any, ...args: any[]): any;\n visitDate (node: any, ...args: any[]): any;\n visitDateDay? (node: any, ...args: any[]): any;\n visitDateMillisecond? (node: any, ...args: any[]): any;\n visitTimestamp (node: any, ...args: any[]): any;\n visitTimestampSecond? (node: any, ...args: any[]): any;\n visitTimestampMillisecond? (node: any, ...args: any[]): any;\n visitTimestampMicrosecond? (node: any, ...args: any[]): any;\n visitTimestampNanosecond? (node: any, ...args: any[]): any;\n visitTime (node: any, ...args: any[]): any;\n visitTimeSecond? (node: any, ...args: any[]): any;\n visitTimeMillisecond? (node: any, ...args: any[]): any;\n visitTimeMicrosecond? (node: any, ...args: any[]): any;\n visitTimeNanosecond? (node: any, ...args: any[]): any;\n visitDecimal (node: any, ...args: any[]): any;\n visitList (node: any, ...args: any[]): any;\n visitStruct (node: any, ...args: any[]): any;\n visitUnion (node: any, ...args: any[]): any;\n visitDenseUnion? (node: any, ...args: any[]): any;\n visitSparseUnion? (node: any, ...args: any[]): any;\n visitDictionary (node: any, ...args: any[]): any;\n visitInterval (node: any, ...args: any[]): any;\n visitIntervalDayTime? (node: any, ...args: any[]): any;\n visitIntervalYearMonth? (node: any, ...args: any[]): any;\n visitFixedSizeList (node: any, ...args: any[]): any;\n visitMap (node: any, ...args: any[]): any;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Visitor.prototype as any).visitInt8 = null;\n(Visitor.prototype as any).visitInt16 = null;\n(Visitor.prototype as any).visitInt32 = null;\n(Visitor.prototype as any).visitInt64 = null;\n(Visitor.prototype as any).visitUint8 = null;\n(Visitor.prototype as any).visitUint16 = null;\n(Visitor.prototype as any).visitUint32 = null;\n(Visitor.prototype as any).visitUint64 = null;\n(Visitor.prototype as any).visitFloat16 = null;\n(Visitor.prototype as any).visitFloat32 = null;\n(Visitor.prototype as any).visitFloat64 = null;\n(Visitor.prototype as any).visitDateDay = null;\n(Visitor.prototype as any).visitDateMillisecond = null;\n(Visitor.prototype as any).visitTimestampSecond = null;\n(Visitor.prototype as any).visitTimestampMillisecond = null;\n(Visitor.prototype as any).visitTimestampMicrosecond = null;\n(Visitor.prototype as any).visitTimestampNanosecond = null;\n(Visitor.prototype as any).visitTimeSecond = null;\n(Visitor.prototype as any).visitTimeMillisecond = null;\n(Visitor.prototype as any).visitTimeMicrosecond = null;\n(Visitor.prototype as any).visitTimeNanosecond = null;\n(Visitor.prototype as any).visitDenseUnion = null;\n(Visitor.prototype as any).visitSparseUnion = null;\n(Visitor.prototype as any).visitIntervalDayTime = null;\n(Visitor.prototype as any).visitIntervalYearMonth = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { Schema, Field } from '../schema';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface TypeComparator extends Visitor {\n visit(type: T, other?: DataType | null): other is T;\n visitMany(nodes: T[], others?: DataType[] | null): boolean[];\n getVisitFn(node: VectorType | Data | T): (other?: DataType | null) => other is T;\n visitNull (type: T, other?: DataType | null): other is T;\n visitBool (type: T, other?: DataType | null): other is T;\n visitInt (type: T, other?: DataType | null): other is T;\n visitInt8 (type: T, other?: DataType | null): other is T;\n visitInt16 (type: T, other?: DataType | null): other is T;\n visitInt32 (type: T, other?: DataType | null): other is T;\n visitInt64 (type: T, other?: DataType | null): other is T;\n visitUint8 (type: T, other?: DataType | null): other is T;\n visitUint16 (type: T, other?: DataType | null): other is T;\n visitUint32 (type: T, other?: DataType | null): other is T;\n visitUint64 (type: T, other?: DataType | null): other is T;\n visitFloat (type: T, other?: DataType | null): other is T;\n visitFloat16 (type: T, other?: DataType | null): other is T;\n visitFloat32 (type: T, other?: DataType | null): other is T;\n visitFloat64 (type: T, other?: DataType | null): other is T;\n visitUtf8 (type: T, other?: DataType | null): other is T;\n visitBinary (type: T, other?: DataType | null): other is T;\n visitFixedSizeBinary (type: T, other?: DataType | null): other is T;\n visitDate (type: T, other?: DataType | null): other is T;\n visitDateDay (type: T, other?: DataType | null): other is T;\n visitDateMillisecond (type: T, other?: DataType | null): other is T;\n visitTimestamp (type: T, other?: DataType | null): other is T;\n visitTimestampSecond (type: T, other?: DataType | null): other is T;\n visitTimestampMillisecond (type: T, other?: DataType | null): other is T;\n visitTimestampMicrosecond (type: T, other?: DataType | null): other is T;\n visitTimestampNanosecond (type: T, other?: DataType | null): other is T;\n visitTime (type: T, other?: DataType | null): other is T;\n visitTimeSecond (type: T, other?: DataType | null): other is T;\n visitTimeMillisecond (type: T, other?: DataType | null): other is T;\n visitTimeMicrosecond (type: T, other?: DataType | null): other is T;\n visitTimeNanosecond (type: T, other?: DataType | null): other is T;\n visitDecimal (type: T, other?: DataType | null): other is T;\n visitList (type: T, other?: DataType | null): other is T;\n visitStruct (type: T, other?: DataType | null): other is T;\n visitUnion (type: T, other?: DataType | null): other is T;\n visitDenseUnion (type: T, other?: DataType | null): other is T;\n visitSparseUnion (type: T, other?: DataType | null): other is T;\n visitDictionary (type: T, other?: DataType | null): other is T;\n visitInterval (type: T, other?: DataType | null): other is T;\n visitIntervalDayTime (type: T, other?: DataType | null): other is T;\n visitIntervalYearMonth (type: T, other?: DataType | null): other is T;\n visitFixedSizeList (type: T, other?: DataType | null): other is T;\n visitMap (type: T, other?: DataType | null): other is T;\n}\n\n/** @ignore */\nexport class TypeComparator extends Visitor {\n compareSchemas(schema: Schema, other?: Schema | null): other is Schema {\n return (schema === other) || (\n other instanceof schema.constructor &&\n instance.compareFields(schema.fields, other.fields)\n );\n }\n compareFields(fields: Field[], others?: Field[] | null): others is Field[] {\n return (fields === others) || (\n Array.isArray(fields) &&\n Array.isArray(others) &&\n fields.length === others.length &&\n fields.every((f, i) => instance.compareField(f, others[i]))\n );\n }\n compareField(field: Field, other?: Field | null): other is Field {\n return (field === other) || (\n other instanceof field.constructor &&\n field.name === other.name &&\n field.nullable === other.nullable &&\n instance.visit(field.type, other.type)\n );\n }\n}\n\nfunction compareConstructor(type: T, other?: DataType | null): other is T {\n return other instanceof type.constructor;\n}\n\nfunction compareAny(type: T, other?: DataType | null): other is T {\n return (type === other) || compareConstructor(type, other);\n}\n\nfunction compareInt(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.bitWidth === other.bitWidth &&\n type.isSigned === other.isSigned\n );\n}\n\nfunction compareFloat(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.precision === other.precision\n );\n}\n\nfunction compareFixedSizeBinary(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.byteWidth === other.byteWidth\n );\n}\n\nfunction compareDate(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit\n );\n}\n\nfunction compareTimestamp(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.timezone === other.timezone\n );\n}\n\nfunction compareTime(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.bitWidth === other.bitWidth\n );\n}\n\nfunction compareList(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareStruct(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareUnion(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.mode === other.mode &&\n type.typeIds.every((x, i) => x === other.typeIds[i]) &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareDictionary(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.id === other.id &&\n type.isOrdered === other.isOrdered &&\n instance.visit( type.indices, other.indices) &&\n instance.visit(type.dictionary, other.dictionary)\n );\n}\n\nfunction compareInterval(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit\n );\n}\n\nfunction compareFixedSizeList(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.listSize === other.listSize &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareMap(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.keysSorted === other.keysSorted &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nTypeComparator.prototype.visitNull = compareAny;\nTypeComparator.prototype.visitBool = compareAny;\nTypeComparator.prototype.visitInt = compareInt;\nTypeComparator.prototype.visitInt8 = compareInt;\nTypeComparator.prototype.visitInt16 = compareInt;\nTypeComparator.prototype.visitInt32 = compareInt;\nTypeComparator.prototype.visitInt64 = compareInt;\nTypeComparator.prototype.visitUint8 = compareInt;\nTypeComparator.prototype.visitUint16 = compareInt;\nTypeComparator.prototype.visitUint32 = compareInt;\nTypeComparator.prototype.visitUint64 = compareInt;\nTypeComparator.prototype.visitFloat = compareFloat;\nTypeComparator.prototype.visitFloat16 = compareFloat;\nTypeComparator.prototype.visitFloat32 = compareFloat;\nTypeComparator.prototype.visitFloat64 = compareFloat;\nTypeComparator.prototype.visitUtf8 = compareAny;\nTypeComparator.prototype.visitBinary = compareAny;\nTypeComparator.prototype.visitFixedSizeBinary = compareFixedSizeBinary;\nTypeComparator.prototype.visitDate = compareDate;\nTypeComparator.prototype.visitDateDay = compareDate;\nTypeComparator.prototype.visitDateMillisecond = compareDate;\nTypeComparator.prototype.visitTimestamp = compareTimestamp;\nTypeComparator.prototype.visitTimestampSecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMillisecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMicrosecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampNanosecond = compareTimestamp;\nTypeComparator.prototype.visitTime = compareTime;\nTypeComparator.prototype.visitTimeSecond = compareTime;\nTypeComparator.prototype.visitTimeMillisecond = compareTime;\nTypeComparator.prototype.visitTimeMicrosecond = compareTime;\nTypeComparator.prototype.visitTimeNanosecond = compareTime;\nTypeComparator.prototype.visitDecimal = compareAny;\nTypeComparator.prototype.visitList = compareList;\nTypeComparator.prototype.visitStruct = compareStruct;\nTypeComparator.prototype.visitUnion = compareUnion;\nTypeComparator.prototype.visitDenseUnion = compareUnion;\nTypeComparator.prototype.visitSparseUnion = compareUnion;\nTypeComparator.prototype.visitDictionary = compareDictionary;\nTypeComparator.prototype.visitInterval = compareInterval;\nTypeComparator.prototype.visitIntervalDayTime = compareInterval;\nTypeComparator.prototype.visitIntervalYearMonth = compareInterval;\nTypeComparator.prototype.visitFixedSizeList = compareFixedSizeList;\nTypeComparator.prototype.visitMap = compareMap;\n\n/** @ignore */\nexport const instance = new TypeComparator();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* tslint:disable:class-name */\n\nimport { Field } from './schema';\nimport { flatbuffers } from 'flatbuffers';\nimport { TypedArrayConstructor } from './interfaces';\nimport { VectorType as V, TypeToDataType } from './interfaces';\nimport { instance as comparer } from './visitor/typecomparator';\n\nimport Long = flatbuffers.Long;\nimport {\n Type,\n Precision, UnionMode,\n DateUnit, TimeUnit, IntervalUnit\n} from './enum';\n\n/** @ignore */\nexport type TimeBitWidth = 32 | 64;\n/** @ignore */\nexport type IntBitWidth = 8 | 16 | 32 | 64;\n/** @ignore */\nexport type IsSigned = { 'true': true; 'false': false };\n/** @ignore */\nexport type RowLike =\n ( Iterable<[string, T[keyof T]['TValue'] | null]> )\n & { [P in keyof T]: T[P]['TValue'] | null }\n & { get(key: K): T[K]['TValue'] | null; }\n & { set(key: K, val: T[K]['TValue'] | null): void; }\n ;\n\n/** @ignore */\nexport type MapLike =\n { [P in K['TValue']]: V['TValue'] | null }\n & ( Map )\n ;\n\nexport interface DataType {\n readonly TType: TType;\n readonly TArray: any;\n readonly TValue: any;\n readonly ArrayType: any;\n readonly children: Field[];\n}\n\n/**\n * An abstract base class for classes that encapsulate metadata about each of\n * the logical types that Arrow can represent.\n */\nexport abstract class DataType {\n\n // @ts-ignore\n public [Symbol.toStringTag]: string;\n\n /** @nocollapse */ static isNull (x: any): x is Null { return x && x.typeId === Type.Null; }\n /** @nocollapse */ static isInt (x: any): x is Int_ { return x && x.typeId === Type.Int; }\n /** @nocollapse */ static isFloat (x: any): x is Float { return x && x.typeId === Type.Float; }\n /** @nocollapse */ static isBinary (x: any): x is Binary { return x && x.typeId === Type.Binary; }\n /** @nocollapse */ static isUtf8 (x: any): x is Utf8 { return x && x.typeId === Type.Utf8; }\n /** @nocollapse */ static isBool (x: any): x is Bool { return x && x.typeId === Type.Bool; }\n /** @nocollapse */ static isDecimal (x: any): x is Decimal { return x && x.typeId === Type.Decimal; }\n /** @nocollapse */ static isDate (x: any): x is Date_ { return x && x.typeId === Type.Date; }\n /** @nocollapse */ static isTime (x: any): x is Time_ { return x && x.typeId === Type.Time; }\n /** @nocollapse */ static isTimestamp (x: any): x is Timestamp_ { return x && x.typeId === Type.Timestamp; }\n /** @nocollapse */ static isInterval (x: any): x is Interval_ { return x && x.typeId === Type.Interval; }\n /** @nocollapse */ static isList (x: any): x is List { return x && x.typeId === Type.List; }\n /** @nocollapse */ static isStruct (x: any): x is Struct { return x && x.typeId === Type.Struct; }\n /** @nocollapse */ static isUnion (x: any): x is Union_ { return x && x.typeId === Type.Union; }\n /** @nocollapse */ static isFixedSizeBinary (x: any): x is FixedSizeBinary { return x && x.typeId === Type.FixedSizeBinary; }\n /** @nocollapse */ static isFixedSizeList (x: any): x is FixedSizeList { return x && x.typeId === Type.FixedSizeList; }\n /** @nocollapse */ static isMap (x: any): x is Map_ { return x && x.typeId === Type.Map; }\n /** @nocollapse */ static isDictionary (x: any): x is Dictionary { return x && x.typeId === Type.Dictionary; }\n\n public get typeId(): TType { return Type.NONE; }\n public compareTo(other: DataType): other is TypeToDataType {\n return comparer.visit(this, other);\n }\n\n protected static [Symbol.toStringTag] = ((proto: DataType) => {\n ( proto).children = null;\n ( proto).ArrayType = Array;\n return proto[Symbol.toStringTag] = 'DataType';\n })(DataType.prototype);\n}\n\n/** @ignore */\nexport interface Null extends DataType { TArray: void; TValue: null; }\n/** @ignore */\nexport class Null extends DataType {\n public toString() { return `Null`; }\n public get typeId() { return Type.Null as Type.Null; }\n protected static [Symbol.toStringTag] = ((proto: Null) => {\n return proto[Symbol.toStringTag] = 'Null';\n })(Null.prototype);\n}\n\n/** @ignore */\ntype Ints = Type.Int | Type.Int8 | Type.Int16 | Type.Int32 | Type.Int64 | Type.Uint8 | Type.Uint16 | Type.Uint32 | Type.Uint64;\n/** @ignore */\ntype IType = {\n [Type.Int ]: { bitWidth: IntBitWidth; isSigned: true | false; TArray: IntArray; TValue: number | bigint | Int32Array | Uint32Array; };\n [Type.Int8 ]: { bitWidth: 8; isSigned: true; TArray: Int8Array; TValue: number; };\n [Type.Int16 ]: { bitWidth: 16; isSigned: true; TArray: Int16Array; TValue: number; };\n [Type.Int32 ]: { bitWidth: 32; isSigned: true; TArray: Int32Array; TValue: number; };\n [Type.Int64 ]: { bitWidth: 64; isSigned: true; TArray: Int32Array; TValue: bigint | Int32Array | Uint32Array; };\n [Type.Uint8 ]: { bitWidth: 8; isSigned: false; TArray: Uint8Array; TValue: number; };\n [Type.Uint16]: { bitWidth: 16; isSigned: false; TArray: Uint16Array; TValue: number; };\n [Type.Uint32]: { bitWidth: 32; isSigned: false; TArray: Uint32Array; TValue: number; };\n [Type.Uint64]: { bitWidth: 64; isSigned: false; TArray: Uint32Array; TValue: bigint | Int32Array | Uint32Array; };\n};\n\n/** @ignore */\ninterface Int_ extends DataType { TArray: IType[T]['TArray']; TValue: IType[T]['TValue']; }\n/** @ignore */\nclass Int_ extends DataType {\n constructor(public readonly isSigned: IType[T]['isSigned'],\n public readonly bitWidth: IType[T]['bitWidth']) {\n super();\n }\n public get typeId() { return Type.Int as T; }\n public get ArrayType(): TypedArrayConstructor {\n switch (this.bitWidth) {\n case 8: return this.isSigned ? Int8Array : Uint8Array;\n case 16: return this.isSigned ? Int16Array : Uint16Array;\n case 32: return this.isSigned ? Int32Array : Uint32Array;\n case 64: return this.isSigned ? Int32Array : Uint32Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }\n protected static [Symbol.toStringTag] = ((proto: Int_) => {\n ( proto).isSigned = null;\n ( proto).bitWidth = null;\n return proto[Symbol.toStringTag] = 'Int';\n })(Int_.prototype);\n}\n\nexport { Int_ as Int };\n\n/** @ignore */\nexport class Int8 extends Int_ { constructor() { super(true, 8); } }\n/** @ignore */\nexport class Int16 extends Int_ { constructor() { super(true, 16); } }\n/** @ignore */\nexport class Int32 extends Int_ { constructor() { super(true, 32); } }\n/** @ignore */\nexport class Int64 extends Int_ { constructor() { super(true, 64); } }\n/** @ignore */\nexport class Uint8 extends Int_ { constructor() { super(false, 8); } }\n/** @ignore */\nexport class Uint16 extends Int_ { constructor() { super(false, 16); } }\n/** @ignore */\nexport class Uint32 extends Int_ { constructor() { super(false, 32); } }\n/** @ignore */\nexport class Uint64 extends Int_ { constructor() { super(false, 64); } }\n\nObject.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });\nObject.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });\nObject.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Int64.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });\nObject.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });\nObject.defineProperty(Uint64.prototype, 'ArrayType', { value: Uint32Array });\n\n/** @ignore */\ntype Floats = Type.Float | Type.Float16 | Type.Float32 | Type.Float64;\n/** @ignore */\ntype FType = {\n [Type.Float ]: { precision: Precision; TArray: FloatArray; TValue: number; };\n [Type.Float16]: { precision: Precision.HALF; TArray: Uint16Array; TValue: number; };\n [Type.Float32]: { precision: Precision.SINGLE; TArray: Float32Array; TValue: number; };\n [Type.Float64]: { precision: Precision.DOUBLE; TArray: Float64Array; TValue: number; };\n};\n\n/** @ignore */\nexport interface Float extends DataType { TArray: FType[T]['TArray']; TValue: number; }\n/** @ignore */\nexport class Float extends DataType {\n constructor(public readonly precision: Precision) {\n super();\n }\n public get typeId() { return Type.Float as T; }\n public get ArrayType(): TypedArrayConstructor {\n switch (this.precision) {\n case Precision.HALF: return Uint16Array;\n case Precision.SINGLE: return Float32Array;\n case Precision.DOUBLE: return Float64Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `Float${(this.precision << 5) || 16}`; }\n protected static [Symbol.toStringTag] = ((proto: Float) => {\n ( proto).precision = null;\n return proto[Symbol.toStringTag] = 'Float';\n })(Float.prototype);\n}\n\n/** @ignore */\nexport class Float16 extends Float { constructor() { super(Precision.HALF); } }\n/** @ignore */\nexport class Float32 extends Float { constructor() { super(Precision.SINGLE); } }\n/** @ignore */\nexport class Float64 extends Float { constructor() { super(Precision.DOUBLE); } }\n\nObject.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });\nObject.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });\n\n/** @ignore */\nexport interface Binary extends DataType { TArray: Uint8Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Binary extends DataType {\n constructor() {\n super();\n }\n public get typeId() { return Type.Binary as Type.Binary; }\n public toString() { return `Binary`; }\n protected static [Symbol.toStringTag] = ((proto: Binary) => {\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Binary';\n })(Binary.prototype);\n}\n\n/** @ignore */\nexport interface Utf8 extends DataType { TArray: Uint8Array; TValue: string; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Utf8 extends DataType {\n constructor() {\n super();\n }\n public get typeId() { return Type.Utf8 as Type.Utf8; }\n public toString() { return `Utf8`; }\n protected static [Symbol.toStringTag] = ((proto: Utf8) => {\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Utf8';\n })(Utf8.prototype);\n}\n\n/** @ignore */\nexport interface Bool extends DataType { TArray: Uint8Array; TValue: boolean; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Bool extends DataType {\n constructor() {\n super();\n }\n public get typeId() { return Type.Bool as Type.Bool; }\n public toString() { return `Bool`; }\n protected static [Symbol.toStringTag] = ((proto: Bool) => {\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Bool';\n })(Bool.prototype);\n}\n\n/** @ignore */\nexport interface Decimal extends DataType { TArray: Uint32Array; TValue: Uint32Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Decimal extends DataType {\n constructor(public readonly scale: number,\n public readonly precision: number) {\n super();\n }\n public get typeId() { return Type.Decimal as Type.Decimal; }\n public toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }\n protected static [Symbol.toStringTag] = ((proto: Decimal) => {\n ( proto).scale = null;\n ( proto).precision = null;\n ( proto).ArrayType = Uint32Array;\n return proto[Symbol.toStringTag] = 'Decimal';\n })(Decimal.prototype);\n}\n\n/** @ignore */\nexport type Dates = Type.Date | Type.DateDay | Type.DateMillisecond;\n/** @ignore */\nexport interface Date_ extends DataType { TArray: Int32Array; TValue: Date; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Date_ extends DataType {\n constructor(public readonly unit: DateUnit) {\n super();\n }\n public get typeId() { return Type.Date as T; }\n public toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Date_) => {\n ( proto).unit = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Date';\n })(Date_.prototype);\n}\n\n/** @ignore */\nexport class DateDay extends Date_ { constructor() { super(DateUnit.DAY); } }\n/** @ignore */\nexport class DateMillisecond extends Date_ { constructor() { super(DateUnit.MILLISECOND); } }\n\n/** @ignore */\ntype Times = Type.Time | Type.TimeSecond | Type.TimeMillisecond | Type.TimeMicrosecond | Type.TimeNanosecond;\n/** @ignore */\ntype TimesType = {\n [Type.Time ]: { unit: TimeUnit; TValue: number | Int32Array };\n [Type.TimeSecond ]: { unit: TimeUnit.SECOND; TValue: number; };\n [Type.TimeMillisecond]: { unit: TimeUnit.MILLISECOND; TValue: number; };\n [Type.TimeMicrosecond]: { unit: TimeUnit.MICROSECOND; TValue: Int32Array; };\n [Type.TimeNanosecond ]: { unit: TimeUnit.NANOSECOND; TValue: Int32Array; };\n};\n\n/** @ignore */\ninterface Time_ extends DataType { TArray: Int32Array; TValue: TimesType[T]['TValue']; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Time_ extends DataType {\n constructor(public readonly unit: TimesType[T]['unit'],\n public readonly bitWidth: TimeBitWidth) {\n super();\n }\n public get typeId() { return Type.Time as T; }\n public toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Time_) => {\n ( proto).unit = null;\n ( proto).bitWidth = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Time';\n })(Time_.prototype);\n}\n\nexport { Time_ as Time };\n\n/** @ignore */\nexport class TimeSecond extends Time_ { constructor() { super(TimeUnit.SECOND, 32); } }\n/** @ignore */\nexport class TimeMillisecond extends Time_ { constructor() { super(TimeUnit.MILLISECOND, 32); } }\n/** @ignore */\nexport class TimeMicrosecond extends Time_ { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n/** @ignore */\nexport class TimeNanosecond extends Time_ { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\n/** @ignore */\ntype Timestamps = Type.Timestamp | Type.TimestampSecond | Type.TimestampMillisecond | Type.TimestampMicrosecond | Type.TimestampNanosecond;\n/** @ignore */\ninterface Timestamp_ extends DataType { TArray: Int32Array; TValue: number; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Timestamp_ extends DataType {\n constructor(public readonly unit: TimeUnit,\n public readonly timezone?: string | null) {\n super();\n }\n public get typeId() { return Type.Timestamp as T; }\n public toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }\n protected static [Symbol.toStringTag] = ((proto: Timestamp_) => {\n ( proto).unit = null;\n ( proto).timezone = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Timestamp';\n })(Timestamp_.prototype);\n}\n\nexport { Timestamp_ as Timestamp };\n\n/** @ignore */\nexport class TimestampSecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.SECOND, timezone); } }\n/** @ignore */\nexport class TimestampMillisecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.MILLISECOND, timezone); } }\n/** @ignore */\nexport class TimestampMicrosecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.MICROSECOND, timezone); } }\n/** @ignore */\nexport class TimestampNanosecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.NANOSECOND, timezone); } }\n\n/** @ignore */\ntype Intervals = Type.Interval | Type.IntervalDayTime | Type.IntervalYearMonth;\n/** @ignore */\ninterface Interval_ extends DataType { TArray: Int32Array; TValue: Int32Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Interval_ extends DataType {\n constructor(public readonly unit: IntervalUnit) {\n super();\n }\n public get typeId() { return Type.Interval as T; }\n public toString() { return `Interval<${IntervalUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Interval_) => {\n ( proto).unit = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Interval';\n })(Interval_.prototype);\n}\n\nexport { Interval_ as Interval };\n\n/** @ignore */\nexport class IntervalDayTime extends Interval_ { constructor() { super(IntervalUnit.DAY_TIME); } }\n/** @ignore */\nexport class IntervalYearMonth extends Interval_ { constructor() { super(IntervalUnit.YEAR_MONTH); } }\n\n/** @ignore */\nexport interface List extends DataType { TArray: IterableArrayLike; TValue: V; }\n/** @ignore */\nexport class List extends DataType {\n constructor(child: Field) {\n super();\n this.children = [child];\n }\n public readonly children: Field[];\n public get typeId() { return Type.List as Type.List; }\n public toString() { return `List<${this.valueType}>`; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field { return this.children[0] as Field; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n protected static [Symbol.toStringTag] = ((proto: List) => {\n ( proto).children = null;\n return proto[Symbol.toStringTag] = 'List';\n })(List.prototype);\n}\n\n/** @ignore */\nexport interface Struct extends DataType { TArray: IterableArrayLike>; TValue: RowLike; dataTypes: T; }\n/** @ignore */\nexport class Struct extends DataType {\n public readonly children: Field[];\n constructor(children: Field[]) {\n super();\n this.children = children;\n }\n public get typeId() { return Type.Struct as Type.Struct; }\n public toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Struct) => {\n ( proto).children = null;\n return proto[Symbol.toStringTag] = 'Struct';\n })(Struct.prototype);\n}\n\n/** @ignore */\ntype Unions = Type.Union | Type.DenseUnion | Type.SparseUnion;\n/** @ignore */\ninterface Union_ extends DataType { TArray: Int8Array; TValue: any; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Union_ extends DataType {\n public readonly mode: UnionMode;\n public readonly typeIds: Int32Array;\n public readonly children: Field[];\n public readonly typeIdToChildIndex: { [key: number]: number };\n constructor(mode: UnionMode,\n typeIds: number[] | Int32Array,\n children: Field[]) {\n super();\n this.mode = mode;\n this.children = children;\n this.typeIds = typeIds = Int32Array.from(typeIds);\n this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => {\n return (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex;\n }, Object.create(null) as { [key: number]: number });\n }\n public get typeId() { return Type.Union as T; }\n public toString() { return `${this[Symbol.toStringTag]}<${\n this.children.map((x) => `${x.type}`).join(` | `)\n }>`; }\n protected static [Symbol.toStringTag] = ((proto: Union_) => {\n ( proto).mode = null;\n ( proto).typeIds = null;\n ( proto).children = null;\n ( proto).typeIdToChildIndex = null;\n ( proto).ArrayType = Int8Array;\n return proto[Symbol.toStringTag] = 'Union';\n })(Union_.prototype);\n}\n\nexport { Union_ as Union };\n\n/** @ignore */\nexport class DenseUnion extends Union_ {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Dense, typeIds, children);\n }\n}\n\n/** @ignore */\nexport class SparseUnion extends Union_ {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Sparse, typeIds, children);\n }\n}\n\n/** @ignore */\nexport interface FixedSizeBinary extends DataType { TArray: Uint8Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class FixedSizeBinary extends DataType {\n constructor(public readonly byteWidth: number) {\n super();\n }\n public get typeId() { return Type.FixedSizeBinary as Type.FixedSizeBinary; }\n public toString() { return `FixedSizeBinary[${this.byteWidth}]`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeBinary) => {\n ( proto).byteWidth = null;\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'FixedSizeBinary';\n })(FixedSizeBinary.prototype);\n}\n\n/** @ignore */\nexport interface FixedSizeList extends DataType { TArray: IterableArrayLike; TValue: V; }\n/** @ignore */\nexport class FixedSizeList extends DataType {\n public readonly children: Field[];\n constructor(public readonly listSize: number, child: Field) {\n super();\n this.children = [child];\n }\n public get typeId() { return Type.FixedSizeList as Type.FixedSizeList; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field { return this.children[0] as Field; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n public toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeList) => {\n ( proto).children = null;\n ( proto).listSize = null;\n return proto[Symbol.toStringTag] = 'FixedSizeList';\n })(FixedSizeList.prototype);\n}\n\n/** @ignore */\nexport interface Map_ extends DataType {\n TArray: IterableArrayLike>;\n TChild: Struct<{ key: TKey, value: TValue }>;\n TValue: MapLike;\n}\n\n/** @ignore */\nexport class Map_ extends DataType {\n constructor(child: Field>, keysSorted = false) {\n super();\n this.children = [child];\n this.keysSorted = keysSorted;\n }\n public readonly keysSorted: boolean;\n public readonly children: Field>[];\n public get typeId() { return Type.Map as Type.Map; }\n public get keyType(): TKey { return this.children[0].type.children[0].type as TKey; }\n public get valueType(): TValue { return this.children[0].type.children[1].type as TValue; }\n public toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Map_) => {\n ( proto).children = null;\n ( proto).keysSorted = null;\n return proto[Symbol.toStringTag] = 'Map_';\n })(Map_.prototype);\n}\n\n/** @ignore */\nconst getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);\n\n/** @ignore */\nexport type TKeys = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32;\n\n/** @ignore */\nexport interface Dictionary extends DataType { TArray: TKey['TArray']; TValue: T['TValue']; }\n/** @ignore */\nexport class Dictionary extends DataType {\n public readonly id: number;\n public readonly indices: TKey;\n public readonly dictionary: T;\n public readonly isOrdered: boolean;\n constructor(dictionary: T, indices: TKey, id?: Long | number | null, isOrdered?: boolean | null) {\n super();\n this.indices = indices;\n this.dictionary = dictionary;\n this.isOrdered = isOrdered || false;\n this.id = id == null ? getId() : typeof id === 'number' ? id : id.low;\n }\n public get typeId() { return Type.Dictionary as Type.Dictionary; }\n public get children() { return this.dictionary.children; }\n public get valueType(): T { return this.dictionary as T; }\n public get ArrayType(): T['ArrayType'] { return this.dictionary.ArrayType; }\n public toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }\n protected static [Symbol.toStringTag] = ((proto: Dictionary) => {\n ( proto).id = null;\n ( proto).indices = null;\n ( proto).isOrdered = null;\n ( proto).dictionary = null;\n return proto[Symbol.toStringTag] = 'Dictionary';\n })(Dictionary.prototype);\n}\n\n/** @ignore */\nexport interface IterableArrayLike extends ArrayLike, Iterable {}\n/** @ignore */\nexport type FloatArray = Uint16Array | Float32Array | Float64Array;\n/** @ignore */\nexport type IntArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;\n\n/** @ignore */\nexport function strideForType(type: DataType) {\n let t: any = type;\n switch (type.typeId) {\n case Type.Decimal: return 4;\n case Type.Timestamp: return 2;\n case Type.Date: return 1 + (t as Date_).unit;\n case Type.Interval: return 1 + (t as Interval_).unit;\n case Type.Int: return 1 + +((t as Int_).bitWidth > 32);\n case Type.Time: return 1 + +((t as Time_).bitWidth > 32);\n case Type.FixedSizeList: return (t as FixedSizeList).listSize;\n case Type.FixedSizeBinary: return (t as FixedSizeBinary).byteWidth;\n default: return 1;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector';\nimport { truncateBitmap } from './util/bit';\nimport { popcnt_bit_range } from './util/bit';\nimport { BufferType, UnionMode, Type } from './enum';\nimport { DataType, SparseUnion, DenseUnion, strideForType } from './type';\nimport { toArrayBufferView, toUint8Array, toInt32Array } from './util/buffer';\nimport {\n Dictionary,\n Null, Int, Float,\n Binary, Bool, Utf8, Decimal,\n Date_, Time, Timestamp, Interval,\n List, Struct, Union, FixedSizeBinary, FixedSizeList, Map_,\n} from './type';\n\n// When slicing, we do not know the null count of the sliced range without\n// doing some computation. To avoid doing this eagerly, we set the null count\n// to -1 (any negative number will do). When Vector.nullCount is called the\n// first time, the null count will be computed. See ARROW-33\n/** @ignore */ export type kUnknownNullCount = -1;\n/** @ignore */ export const kUnknownNullCount = -1;\n\n/** @ignore */ export type NullBuffer = Uint8Array | null | undefined;\n/** @ignore */ export type TypeIdsBuffer = Int8Array | ArrayLike | Iterable | undefined;\n/** @ignore */ export type ValueOffsetsBuffer = Int32Array | ArrayLike | Iterable | undefined;\n/** @ignore */ export type DataBuffer = T['TArray'] | ArrayLike | Iterable | undefined;\n\n/** @ignore */\nexport interface Buffers {\n [BufferType.OFFSET]: Int32Array;\n [BufferType.DATA]: T['TArray'];\n [BufferType.VALIDITY]: Uint8Array;\n [BufferType.TYPE]: T['TArray'];\n}\n\n/** @ignore */\nexport interface Data {\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n}\n\n/** @ignore */\nexport class Data {\n\n public readonly type: T;\n public readonly length: number;\n public readonly offset: number;\n public readonly stride: number;\n public readonly childData: Data[];\n\n /**\n * The dictionary for this Vector, if any. Only used for Dictionary type.\n */\n public dictionary?: Vector;\n\n public readonly values: Buffers[BufferType.DATA];\n // @ts-ignore\n public readonly typeIds: Buffers[BufferType.TYPE];\n // @ts-ignore\n public readonly nullBitmap: Buffers[BufferType.VALIDITY];\n // @ts-ignore\n public readonly valueOffsets: Buffers[BufferType.OFFSET];\n\n public get typeId(): T['TType'] { return this.type.typeId; }\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n public get buffers() {\n return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds] as Buffers;\n }\n public get byteLength(): number {\n let byteLength = 0;\n let { valueOffsets, values, nullBitmap, typeIds } = this;\n valueOffsets && (byteLength += valueOffsets.byteLength);\n values && (byteLength += values.byteLength);\n nullBitmap && (byteLength += nullBitmap.byteLength);\n typeIds && (byteLength += typeIds.byteLength);\n return this.childData.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);\n }\n\n protected _nullCount: number | kUnknownNullCount;\n\n public get nullCount() {\n let nullCount = this._nullCount;\n let nullBitmap: Uint8Array | undefined;\n if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {\n this._nullCount = nullCount = this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);\n }\n return nullCount;\n }\n\n constructor(type: T, offset: number, length: number, nullCount?: number, buffers?: Partial> | Data, childData?: (Data | Vector)[], dictionary?: Vector) {\n this.type = type;\n this.dictionary = dictionary;\n this.offset = Math.floor(Math.max(offset || 0, 0));\n this.length = Math.floor(Math.max(length || 0, 0));\n this._nullCount = Math.floor(Math.max(nullCount || 0, -1));\n this.childData = (childData || []).map((x) => x instanceof Data ? x : x.data) as Data[];\n let buffer: Buffers[keyof Buffers];\n if (buffers instanceof Data) {\n this.stride = buffers.stride;\n this.values = buffers.values;\n this.typeIds = buffers.typeIds;\n this.nullBitmap = buffers.nullBitmap;\n this.valueOffsets = buffers.valueOffsets;\n } else {\n this.stride = strideForType(type);\n if (buffers) {\n (buffer = (buffers as Buffers)[0]) && (this.valueOffsets = buffer);\n (buffer = (buffers as Buffers)[1]) && (this.values = buffer);\n (buffer = (buffers as Buffers)[2]) && (this.nullBitmap = buffer);\n (buffer = (buffers as Buffers)[3]) && (this.typeIds = buffer);\n }\n }\n }\n\n public clone(type: R, offset = this.offset, length = this.length, nullCount = this._nullCount, buffers: Buffers = this, childData: (Data | Vector)[] = this.childData) {\n return new Data(type, offset, length, nullCount, buffers, childData, this.dictionary);\n }\n\n public slice(offset: number, length: number): Data {\n const { stride, typeId, childData } = this;\n // +true === 1, +false === 0, so this means\n // we keep nullCount at 0 if it's already 0,\n // otherwise set to the invalidated flag -1\n const nullCount = +(this._nullCount === 0) - 1;\n const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;\n const buffers = this._sliceBuffers(offset, length, stride, typeId);\n return this.clone(this.type, this.offset + offset, length, nullCount, buffers,\n // Don't slice children if we have value offsets (the variable-width types)\n (!childData.length || this.valueOffsets) ? childData : this._sliceChildren(childData, childStride * offset, childStride * length));\n }\n\n public _changeLengthAndBackfillNullBitmap(newLength: number): Data {\n if (this.typeId === Type.Null) {\n return this.clone(this.type, 0, newLength, 0);\n }\n const { length, nullCount } = this;\n // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)\n const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);\n // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)\n bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;\n // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n if (nullCount > 0) {\n bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);\n }\n const buffers = this.buffers;\n buffers[BufferType.VALIDITY] = bitmap;\n return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers);\n }\n\n protected _sliceBuffers(offset: number, length: number, stride: number, typeId: T['TType']): Buffers {\n let arr: any, { buffers } = this;\n // If typeIds exist, slice the typeIds buffer\n (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));\n // If offsets exist, only slice the offsets buffer\n (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||\n // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes\n (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));\n return buffers;\n }\n\n protected _sliceChildren(childData: Data[], offset: number, length: number): Data[] {\n return childData.map((child) => child.slice(offset, length));\n }\n\n //\n // Convenience methods for creating Data instances for each of the Arrow Vector types\n //\n /** @nocollapse */\n public static new(type: T, offset: number, length: number, nullCount?: number, buffers?: Partial> | Data, childData?: (Data | Vector)[], dictionary?: Vector): Data {\n if (buffers instanceof Data) { buffers = buffers.buffers; } else if (!buffers) { buffers = [] as Partial>; }\n switch (type.typeId) {\n case Type.Null: return Data.Null( type as Null, offset, length) as Data;\n case Type.Int: return Data.Int( type as Int, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Dictionary: return Data.Dictionary( type as Dictionary, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || [], dictionary!) as Data;\n case Type.Float: return Data.Float( type as Float, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Bool: return Data.Bool( type as Bool, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Decimal: return Data.Decimal( type as Decimal, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Date: return Data.Date( type as Date_, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Time: return Data.Time( type as Time, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Timestamp: return Data.Timestamp( type as Timestamp, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Interval: return Data.Interval( type as Interval, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.FixedSizeBinary: return Data.FixedSizeBinary( type as FixedSizeBinary, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Binary: return Data.Binary( type as Binary, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], buffers[BufferType.DATA] || []) as Data;\n case Type.Utf8: return Data.Utf8( type as Utf8, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], buffers[BufferType.DATA] || []) as Data;\n case Type.List: return Data.List( type as List, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], (childData || [])[0]) as Data;\n case Type.FixedSizeList: return Data.FixedSizeList( type as FixedSizeList, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], (childData || [])[0]) as Data;\n case Type.Struct: return Data.Struct( type as Struct, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], childData || []) as Data;\n case Type.Map: return Data.Map( type as Map_, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], (childData || [])[0]) as Data;\n case Type.Union: return Data.Union( type as Union, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.TYPE] || [], buffers[BufferType.OFFSET] || childData, childData) as Data;\n }\n throw new Error(`Unrecognized typeId ${type.typeId}`);\n }\n\n /** @nocollapse */\n public static Null(type: T, offset: number, length: number) {\n return new Data(type, offset, length, 0);\n }\n /** @nocollapse */\n public static Int(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Dictionary(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer, dictionary: Vector) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.indices.ArrayType, data), toUint8Array(nullBitmap)], [], dictionary);\n }\n /** @nocollapse */\n public static Float(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Bool(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Decimal(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Date(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Time(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Timestamp(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Interval(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static FixedSizeBinary(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Binary(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, data: Uint8Array) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), toUint8Array(data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Utf8(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, data: Uint8Array) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), toUint8Array(data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static List(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, child: Data | Vector) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), undefined, toUint8Array(nullBitmap)], [child]);\n }\n /** @nocollapse */\n public static FixedSizeList(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, child: Data | Vector) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, toUint8Array(nullBitmap)], [child]);\n }\n /** @nocollapse */\n public static Struct(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, children: (Data | Vector)[]) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, toUint8Array(nullBitmap)], children);\n }\n /** @nocollapse */\n public static Map(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, child: (Data | Vector)) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), undefined, toUint8Array(nullBitmap)], [child]);\n }\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, children: (Data | Vector)[], _?: any): Data;\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, valueOffsets: ValueOffsetsBuffer, children: (Data | Vector)[]): Data;\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, valueOffsetsOrChildren: ValueOffsetsBuffer | (Data | Vector)[], children?: (Data | Vector)[]): Data;\n /** @nocollapse */\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, valueOffsetsOrChildren: ValueOffsetsBuffer | (Data | Vector)[], children?: (Data | Vector)[]) {\n const buffers = [\n undefined, undefined,\n toUint8Array(nullBitmap),\n toArrayBufferView(type.ArrayType, typeIds)\n ] as Partial>;\n if (type.mode === UnionMode.Sparse) {\n return new Data(type, offset, length, nullCount, buffers, valueOffsetsOrChildren as (Data | Vector)[]);\n }\n buffers[BufferType.OFFSET] = toInt32Array( valueOffsetsOrChildren);\n return new Data(type, offset, length, nullCount, buffers, children);\n }\n}\n\n(Data.prototype as any).childData = Object.freeze([]);\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */ const undf = void (0);\n\n/** @ignore */\nexport function valueToString(x: any) {\n if (x === null) { return 'null'; }\n if (x === undf) { return 'undefined'; }\n switch (typeof x) {\n case 'number': return `${x}`;\n case 'bigint': return `${x}`;\n case 'string': return `\"${x}\"`;\n }\n // If [Symbol.toPrimitive] is implemented (like in BN)\n // use it instead of JSON.stringify(). This ensures we\n // print BigInts, Decimals, and Binary in their native\n // representation\n if (typeof x[Symbol.toPrimitive] === 'function') {\n return x[Symbol.toPrimitive]('string');\n }\n return ArrayBuffer.isView(x) ? `[${x}]` : JSON.stringify(x);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../type';\nimport { valueToString } from '../util/pretty';\nimport { BigIntAvailable } from '../util/compat';\n\n/**\n * Dynamically compile the null values into an `isValid()` function whose\n * implementation is a switch statement. Microbenchmarks in v8 indicate\n * this approach is 25% faster than using an ES6 Map.\n *\n * @example\n * console.log(createIsValidFunction([null, 'N/A', NaN]));\n * `function (x) {\n * if (x !== x) return false;\n * switch (x) {\n * case null:\n * case \"N/A\":\n * return false;\n * }\n * return true;\n * }`\n *\n * @ignore\n * @param nullValues\n */\nexport function createIsValidFunction(nullValues?: ReadonlyArray) {\n\n if (!nullValues || nullValues.length <= 0) {\n // @ts-ignore\n return function isValid(value: any) { return true; };\n }\n\n let fnBody = '';\n let noNaNs = nullValues.filter((x) => x === x);\n\n if (noNaNs.length > 0) {\n fnBody = `\n switch (x) {${noNaNs.map((x) => `\n case ${valueToCase(x)}:`).join('')}\n return false;\n }`;\n }\n\n // NaN doesn't equal anything including itself, so it doesn't work as a\n // switch case. Instead we must explicitly check for NaN before the switch.\n if (nullValues.length !== noNaNs.length) {\n fnBody = `if (x !== x) return false;\\n${fnBody}`;\n }\n\n return new Function(`x`, `${fnBody}\\nreturn true;`) as (value: T['TValue'] | TNull) => boolean;\n}\n\n/** @ignore */\nfunction valueToCase(x: any) {\n if (typeof x !== 'bigint') {\n return valueToString(x);\n } else if (BigIntAvailable) {\n return `${valueToString(x)}n`;\n }\n return `\"${valueToString(x)}\"`;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { memcpy } from '../util/buffer';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from '../util/compat';\nimport {\n TypedArray, TypedArrayConstructor,\n BigIntArray, BigIntArrayConstructor\n} from '../interfaces';\n\n/** @ignore */ type DataValue = T extends TypedArray ? number : T extends BigIntArray ? WideValue : T;\n/** @ignore */ type WideValue = T extends BigIntArray ? bigint | Int32Array | Uint32Array : never;\n/** @ignore */ type ArrayCtor =\n T extends TypedArray ? TypedArrayConstructor :\n T extends BigIntArray ? BigIntArrayConstructor :\n any;\n\n/** @ignore */\nconst roundLengthUpToNearest64Bytes = (len: number, BPE: number) => ((((len * BPE) + 63) & ~63) || 64) / BPE;\n/** @ignore */\nconst sliceOrExtendArray = (arr: T, len = 0) => (\n arr.length >= len ? arr.subarray(0, len) : memcpy(new (arr.constructor as any)(len), arr, 0)\n) as T;\n\n/** @ignore */\nexport interface BufferBuilder> {\n readonly offset: number;\n}\n\n/** @ignore */\nexport class BufferBuilder> {\n\n constructor(buffer: T, stride = 1) {\n this.buffer = buffer;\n this.stride = stride;\n this.BYTES_PER_ELEMENT = buffer.BYTES_PER_ELEMENT;\n this.ArrayType = buffer.constructor as ArrayCtor;\n this._resize(this.length = buffer.length / stride | 0);\n }\n\n public buffer: T;\n public length: number;\n public readonly stride: number;\n public readonly ArrayType: ArrayCtor;\n public readonly BYTES_PER_ELEMENT: number;\n\n public get byteLength() { return this.length * this.stride * this.BYTES_PER_ELEMENT | 0; }\n public get reservedLength() { return this.buffer.length / this.stride; }\n public get reservedByteLength() { return this.buffer.byteLength; }\n\n // @ts-ignore\n public set(index: number, value: TValue) { return this; }\n public append(value: TValue) { return this.set(this.length, value); }\n public reserve(extra: number) {\n if (extra > 0) {\n this.length += extra;\n const stride = this.stride;\n const length = this.length * stride;\n const reserved = this.buffer.length;\n if (length >= reserved) {\n this._resize(reserved === 0\n ? roundLengthUpToNearest64Bytes(length * 1, this.BYTES_PER_ELEMENT)\n : roundLengthUpToNearest64Bytes(length * 2, this.BYTES_PER_ELEMENT)\n );\n }\n }\n return this;\n }\n public flush(length = this.length) {\n length = roundLengthUpToNearest64Bytes(length * this.stride, this.BYTES_PER_ELEMENT);\n const array = sliceOrExtendArray(this.buffer, length);\n this.clear();\n return array;\n }\n public clear() {\n this.length = 0;\n this._resize(0);\n return this;\n }\n protected _resize(newLength: number) {\n return this.buffer = memcpy(new this.ArrayType(newLength), this.buffer);\n }\n}\n\n(BufferBuilder.prototype as any).offset = 0;\n\n/** @ignore */\nexport class DataBufferBuilder extends BufferBuilder {\n public last() { return this.get(this.length - 1); }\n public get(index: number) { return this.buffer[index]; }\n public set(index: number, value: number) {\n this.reserve(index - this.length + 1);\n this.buffer[index * this.stride] = value;\n return this;\n }\n}\n\n/** @ignore */\nexport class BitmapBufferBuilder extends DataBufferBuilder {\n\n constructor(data = new Uint8Array(0)) { super(data, 1 / 8); }\n\n public numValid = 0;\n public get numInvalid() { return this.length - this.numValid; }\n public get(idx: number) { return this.buffer[idx >> 3] >> idx % 8 & 1; }\n public set(idx: number, val: number) {\n const { buffer } = this.reserve(idx - this.length + 1);\n const byte = idx >> 3, bit = idx % 8, cur = buffer[byte] >> bit & 1;\n // If `val` is truthy and the current bit is 0, flip it to 1 and increment `numValid`.\n // If `val` is falsey and the current bit is 1, flip it to 0 and decrement `numValid`.\n val ? cur === 0 && ((buffer[byte] |= (1 << bit)), ++this.numValid)\n : cur === 1 && ((buffer[byte] &= ~(1 << bit)), --this.numValid);\n return this;\n }\n public clear() {\n this.numValid = 0;\n return super.clear();\n }\n}\n\n/** @ignore */\nexport class OffsetsBufferBuilder extends DataBufferBuilder {\n constructor(data = new Int32Array(1)) { super(data, 1); }\n public append(value: number) {\n return this.set(this.length - 1, value);\n }\n public set(index: number, value: number) {\n const offset = this.length - 1;\n const buffer = this.reserve(index - offset + 1).buffer;\n if (offset < index++) {\n buffer.fill(buffer[offset], offset, index);\n }\n buffer[index] = buffer[index - 1] + value;\n return this;\n }\n public flush(length = this.length - 1) {\n if (length > this.length) {\n this.set(length - 1, 0);\n }\n return super.flush(length + 1);\n }\n}\n\n/** @ignore */\nexport class WideBufferBuilder extends BufferBuilder> {\n // @ts-ignore\n public buffer64: R;\n // @ts-ignore\n protected _ArrayType64: BigIntArrayConstructor;\n public get ArrayType64() {\n return this._ArrayType64 || (this._ArrayType64 = > (this.buffer instanceof Int32Array ? BigInt64Array : BigUint64Array));\n }\n public set(index: number, value: DataValue) {\n this.reserve(index - this.length + 1);\n switch (typeof value) {\n case 'bigint': this.buffer64[index] = value; break;\n case 'number': this.buffer[index * this.stride] = value; break;\n default: this.buffer.set(value as TypedArray, index * this.stride);\n }\n return this;\n }\n protected _resize(newLength: number) {\n const data = super._resize(newLength);\n const length = data.byteLength / (this.BYTES_PER_ELEMENT * this.stride);\n if (BigIntAvailable) {\n this.buffer64 = new this.ArrayType64(data.buffer, data.byteOffset, length);\n }\n return data;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector';\nimport { BufferType } from './enum';\nimport { Data, Buffers } from './data';\nimport { createIsValidFunction } from './builder/valid';\nimport { BuilderType as B, VectorType as V} from './interfaces';\nimport { BufferBuilder, BitmapBufferBuilder, DataBufferBuilder, OffsetsBufferBuilder } from './builder/buffer';\nimport {\n DataType, strideForType,\n Float, Int, Decimal, FixedSizeBinary,\n Date_, Time, Timestamp, Interval,\n Utf8, Binary, List, Map_\n} from './type';\n\n/**\n * A set of options required to create a `Builder` instance for a given `DataType`.\n * @see {@link Builder}\n */\nexport interface BuilderOptions {\n type: T;\n nullValues?: TNull[] | ReadonlyArray | null;\n children?: { [key: string]: BuilderOptions; } | BuilderOptions[];\n}\n\n/**\n * A set of options to create an Iterable or AsyncIterable `Builder` transform function.\n * @see {@link Builder.throughIterable}\n * @see {@link Builder.throughAsyncIterable}\n */\n\nexport interface IterableBuilderOptions extends BuilderOptions {\n highWaterMark?: number;\n queueingStrategy?: 'bytes' | 'count';\n dictionaryHashFunction?: (value: any) => string | number;\n valueToChildTypeId?: (builder: Builder, value: any, offset: number) => number;\n}\n\n/**\n * An abstract base class for types that construct Arrow Vectors from arbitrary JavaScript values.\n *\n * A `Builder` is responsible for writing arbitrary JavaScript values\n * to ArrayBuffers and/or child Builders according to the Arrow specification\n * for each DataType, creating or resizing the underlying ArrayBuffers as necessary.\n *\n * The `Builder` for each Arrow `DataType` handles converting and appending\n * values for a given `DataType`. The high-level {@link Builder.new `Builder.new()`} convenience\n * method creates the specific `Builder` subclass for the supplied `DataType`.\n *\n * Once created, `Builder` instances support both appending values to the end\n * of the `Builder`, and random-access writes to specific indices\n * (`Builder.prototype.append(value)` is a convenience method for\n * `builder.set(builder.length, value)`). Appending or setting values beyond the\n * Builder's current length may cause the builder to grow its underlying buffers\n * or child Builders (if applicable) to accommodate the new values.\n *\n * After enough values have been written to a `Builder`, `Builder.prototype.flush()`\n * will commit the values to the underlying ArrayBuffers (or child Builders). The\n * internal Builder state will be reset, and an instance of `Data` is returned.\n * Alternatively, `Builder.prototype.toVector()` will flush the `Builder` and return\n * an instance of `Vector` instead.\n *\n * When there are no more values to write, use `Builder.prototype.finish()` to\n * finalize the `Builder`. This does not reset the internal state, so it is\n * necessary to call `Builder.prototype.flush()` or `toVector()` one last time\n * if there are still values queued to be flushed.\n *\n * Note: calling `Builder.prototype.finish()` is required when using a `DictionaryBuilder`,\n * because this is when it flushes the values that have been enqueued in its internal\n * dictionary's `Builder`, and creates the `dictionaryVector` for the `Dictionary` `DataType`.\n *\n * ```ts\n * import { Builder, Utf8 } from 'apache-arrow';\n *\n * const utf8Builder = Builder.new({\n * type: new Utf8(),\n * nullValues: [null, 'n/a']\n * });\n *\n * utf8Builder\n * .append('hello')\n * .append('n/a')\n * .append('world')\n * .append(null);\n *\n * const utf8Vector = utf8Builder.finish().toVector();\n *\n * console.log(utf8Vector.toJSON());\n * // > [\"hello\", null, \"world\", null]\n * ```\n *\n * @typeparam T The `DataType` of this `Builder`.\n * @typeparam TNull The type(s) of values which will be considered null-value sentinels.\n */\nexport abstract class Builder {\n\n /**\n * Create a `Builder` instance based on the `type` property of the supplied `options` object.\n * @param {BuilderOptions} options An object with a required `DataType` instance\n * and other optional parameters to be passed to the `Builder` subclass for the given `type`.\n *\n * @typeparam T The `DataType` of the `Builder` to create.\n * @typeparam TNull The type(s) of values which will be considered null-value sentinels.\n * @nocollapse\n */\n // @ts-ignore\n public static new(options: BuilderOptions): B {}\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options: import('./io/node/builder').BuilderDuplexOptions): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n // @ts-ignore\n public static throughDOM(options: import('./io/whatwg/builder').BuilderTransformOptions): import('./io/whatwg/builder').BuilderTransform {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n /**\n * Transform a synchronous `Iterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `Iterable` of values to\n * transform. When called, this function returns an Iterator of `Vector`.\n *\n * The resulting `Iterator>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `Iterator>`\n * will flush the underlying `Builder` (and yield a new `Vector`) once the\n * Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `Iterator>` will flush\n * the underlying `Builder` (and yield a new `Vector`) once its `byteLength`\n * reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `Iterable` of values to\n * write, and returns an `Iterator` that yields Vectors according\n * to the chunking semantics defined in the `options` argument.\n * @nocollapse\n */\n public static throughIterable(options: IterableBuilderOptions) {\n return throughIterable(options);\n }\n\n /**\n * Transform an `AsyncIterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `AsyncIterable` of values to\n * transform. When called, this function returns an AsyncIterator of `Vector`.\n *\n * The resulting `AsyncIterator>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `AsyncIterator>`\n * will flush the underlying `Builder` (and yield a new `Vector`) once the\n * Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `AsyncIterator>` will flush\n * the underlying `Builder` (and yield a new `Vector`) once its `byteLength`\n * reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `AsyncIterable` of values\n * to write, and returns an `AsyncIterator` that yields Vectors\n * according to the chunking semantics defined in the `options`\n * argument.\n * @nocollapse\n */\n public static throughAsyncIterable(options: IterableBuilderOptions) {\n return throughAsyncIterable(options);\n }\n\n /**\n * Construct a builder with the given Arrow DataType with optional null values,\n * which will be interpreted as \"null\" when set or appended to the `Builder`.\n * @param {{ type: T, nullValues?: any[] }} options A `BuilderOptions` object used to create this `Builder`.\n */\n constructor({ 'type': type, 'nullValues': nulls }: BuilderOptions) {\n this.type = type;\n this.children = [];\n this.nullValues = nulls;\n this.stride = strideForType(type);\n this._nulls = new BitmapBufferBuilder();\n if (nulls && nulls.length > 0) {\n this._isValid = createIsValidFunction(nulls);\n }\n }\n\n /**\n * The Builder's `DataType` instance.\n * @readonly\n */\n public type: T;\n /**\n * The number of values written to the `Builder` that haven't been flushed yet.\n * @readonly\n */\n public length = 0;\n /**\n * A boolean indicating whether `Builder.prototype.finish()` has been called on this `Builder`.\n * @readonly\n */\n public finished = false;\n /**\n * The number of elements in the underlying values TypedArray that\n * represent a single logical element, determined by this Builder's\n * `DataType`. This is 1 for most types, but is larger when the `DataType`\n * is `Int64`, `Uint64`, `Decimal`, `DateMillisecond`, certain variants of\n * `Interval`, `Time`, or `Timestamp`, `FixedSizeBinary`, and `FixedSizeList`.\n * @readonly\n */\n public readonly stride: number;\n public readonly children: Builder[];\n /**\n * The list of null-value sentinels for this `Builder`. When one of these values\n * is written to the `Builder` (either via `Builder.prototype.set()` or `Builder.prototype.append()`),\n * a 1-bit is written to this Builder's underlying null BitmapBufferBuilder.\n * @readonly\n */\n public readonly nullValues?: TNull[] | ReadonlyArray | null;\n\n /**\n * Flush the `Builder` and return a `Vector`.\n * @returns {Vector} A `Vector` of the flushed values.\n */\n public toVector() { return Vector.new(this.flush()); }\n\n public get ArrayType() { return this.type.ArrayType; }\n public get nullCount() { return this._nulls.numInvalid; }\n public get numChildren() { return this.children.length; }\n\n /**\n * @returns The aggregate length (in bytes) of the values that have been written.\n */\n public get byteLength(): number {\n let size = 0;\n this._offsets && (size += this._offsets.byteLength);\n this._values && (size += this._values.byteLength);\n this._nulls && (size += this._nulls.byteLength);\n this._typeIds && (size += this._typeIds.byteLength);\n return this.children.reduce((size, child) => size + child.byteLength, size);\n }\n\n /**\n * @returns The aggregate number of rows that have been reserved to write new values.\n */\n public get reservedLength(): number {\n return this._nulls.reservedLength;\n }\n\n /**\n * @returns The aggregate length (in bytes) that has been reserved to write new values.\n */\n public get reservedByteLength(): number {\n let size = 0;\n this._offsets && (size += this._offsets.reservedByteLength);\n this._values && (size += this._values.reservedByteLength);\n this._nulls && (size += this._nulls.reservedByteLength);\n this._typeIds && (size += this._typeIds.reservedByteLength);\n return this.children.reduce((size, child) => size + child.reservedByteLength, size);\n }\n\n // @ts-ignore\n protected _offsets: DataBufferBuilder;\n public get valueOffsets() { return this._offsets ? this._offsets.buffer : null; }\n\n // @ts-ignore\n protected _values: BufferBuilder;\n public get values() { return this._values ? this._values.buffer : null; }\n\n protected _nulls: BitmapBufferBuilder;\n public get nullBitmap() { return this._nulls ? this._nulls.buffer : null; }\n\n // @ts-ignore\n protected _typeIds: DataBufferBuilder;\n public get typeIds() { return this._typeIds ? this._typeIds.buffer : null; }\n\n // @ts-ignore\n protected _isValid: (value: T['TValue'] | TNull) => boolean;\n // @ts-ignore\n protected _setValue: (inst: Builder, index: number, value: T['TValue']) => void;\n\n /**\n * Appends a value (or null) to this `Builder`.\n * This is equivalent to `builder.set(builder.length, value)`.\n * @param {T['TValue'] | TNull } value The value to append.\n */\n public append(value: T['TValue'] | TNull) { return this.set(this.length, value); }\n\n /**\n * Validates whether a value is valid (true), or null (false)\n * @param {T['TValue'] | TNull } value The value to compare against null the value representations\n */\n // @ts-ignore\n public isValid(value: T['TValue'] | TNull): boolean { return this._isValid(value); }\n\n /**\n * Write a value (or null-value sentinel) at the supplied index.\n * If the value matches one of the null-value representations, a 1-bit is\n * written to the null `BitmapBufferBuilder`. Otherwise, a 0 is written to\n * the null `BitmapBufferBuilder`, and the value is passed to\n * `Builder.prototype.setValue()`.\n * @param {number} index The index of the value to write.\n * @param {T['TValue'] | TNull } value The value to write at the supplied index.\n * @returns {this} The updated `Builder` instance.\n */\n public set(index: number, value: T['TValue'] | TNull) {\n if (this.setValid(index, this.isValid(value))) {\n this.setValue(index, value);\n }\n return this;\n }\n\n /**\n * Write a value to the underlying buffers at the supplied index, bypassing\n * the null-value check. This is a low-level method that\n * @param {number} index\n * @param {T['TValue'] | TNull } value\n */\n // @ts-ignore\n public setValue(index: number, value: T['TValue']) { this._setValue(this, index, value); }\n public setValid(index: number, valid: boolean) {\n this.length = this._nulls.set(index, +valid).length;\n return valid;\n }\n\n // @ts-ignore\n public addChild(child: Builder, name = `${this.numChildren}`) {\n throw new Error(`Cannot append children to non-nested type \"${this.type}\"`);\n }\n\n /**\n * Retrieve the child `Builder` at the supplied `index`, or null if no child\n * exists at that index.\n * @param {number} index The index of the child `Builder` to retrieve.\n * @returns {Builder | null} The child Builder at the supplied index or null.\n */\n public getChildAt(index: number): Builder | null {\n return this.children[index] || null;\n }\n\n /**\n * Commit all the values that have been written to their underlying\n * ArrayBuffers, including any child Builders if applicable, and reset\n * the internal `Builder` state.\n * @returns A `Data` of the buffers and childData representing the values written.\n */\n public flush() {\n\n const buffers: any = [];\n const values = this._values;\n const offsets = this._offsets;\n const typeIds = this._typeIds;\n const { length, nullCount } = this;\n\n if (typeIds) { /* Unions */\n buffers[BufferType.TYPE] = typeIds.flush(length);\n // DenseUnions\n offsets && (buffers[BufferType.OFFSET] = offsets.flush(length));\n } else if (offsets) { /* Variable-width primitives (Binary, Utf8) and Lists */\n // Binary, Utf8\n values && (buffers[BufferType.DATA] = values.flush(offsets.last()));\n buffers[BufferType.OFFSET] = offsets.flush(length);\n } else if (values) { /* Fixed-width primitives (Int, Float, Decimal, Time, Timestamp, and Interval) */\n buffers[BufferType.DATA] = values.flush(length);\n }\n\n nullCount > 0 && (buffers[BufferType.VALIDITY] = this._nulls.flush(length));\n\n const data = Data.new(\n this.type, 0, length, nullCount, buffers as Buffers,\n this.children.map((child) => child.flush())) as Data;\n\n this.clear();\n\n return data;\n }\n\n /**\n * Finalize this `Builder`, and child builders if applicable.\n * @returns {this} The finalized `Builder` instance.\n */\n public finish() {\n this.finished = true;\n this.children.forEach((child) => child.finish());\n return this;\n }\n\n /**\n * Clear this Builder's internal state, including child Builders if applicable, and reset the length to 0.\n * @returns {this} The cleared `Builder` instance.\n */\n public clear() {\n this.length = 0;\n this._offsets && (this._offsets.clear());\n this._values && (this._values.clear());\n this._nulls && (this._nulls.clear());\n this._typeIds && (this._typeIds.clear());\n this.children.forEach((child) => child.clear());\n return this;\n }\n}\n\n(Builder.prototype as any).length = 1;\n(Builder.prototype as any).stride = 1;\n(Builder.prototype as any).children = null;\n(Builder.prototype as any).finished = false;\n(Builder.prototype as any).nullValues = null;\n(Builder.prototype as any)._isValid = () => true;\n\n/** @ignore */\nexport abstract class FixedWidthBuilder extends Builder {\n constructor(opts: BuilderOptions) {\n super(opts);\n this._values = new DataBufferBuilder(new this.ArrayType(0), this.stride);\n }\n public setValue(index: number, value: T['TValue']) {\n const values = this._values;\n values.reserve(index - values.length + 1);\n return super.setValue(index, value);\n }\n}\n\n/** @ignore */\nexport abstract class VariableWidthBuilder extends Builder {\n protected _pendingLength: number = 0;\n protected _offsets: OffsetsBufferBuilder;\n protected _pending: Map | undefined;\n constructor(opts: BuilderOptions) {\n super(opts);\n this._offsets = new OffsetsBufferBuilder();\n }\n public setValue(index: number, value: T['TValue']) {\n const pending = this._pending || (this._pending = new Map());\n const current = pending.get(index);\n current && (this._pendingLength -= current.length);\n this._pendingLength += value.length;\n pending.set(index, value);\n }\n public setValid(index: number, isValid: boolean) {\n if (!super.setValid(index, isValid)) {\n (this._pending || (this._pending = new Map())).set(index, undefined);\n return false;\n }\n return true;\n }\n public clear() {\n this._pendingLength = 0;\n this._pending = undefined;\n return super.clear();\n }\n public flush() {\n this._flush();\n return super.flush();\n }\n public finish() {\n this._flush();\n return super.finish();\n }\n protected _flush() {\n const pending = this._pending;\n const pendingLength = this._pendingLength;\n this._pendingLength = 0;\n this._pending = undefined;\n if (pending && pending.size > 0) {\n this._flushPending(pending, pendingLength);\n }\n return this;\n }\n protected abstract _flushPending(pending: Map, pendingLength: number): void;\n}\n\n/** @ignore */\ntype ThroughIterable = (source: Iterable) => IterableIterator>;\n\n/** @ignore */\nfunction throughIterable(options: IterableBuilderOptions): ThroughIterable {\n const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? 1000 : 2 ** 14 } = options;\n const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n return function*(source: Iterable) {\n let numChunks = 0;\n let builder = Builder.new(options);\n for (const value of source) {\n if (builder.append(value)[sizeProperty] >= highWaterMark) {\n ++numChunks && (yield builder.toVector());\n }\n }\n if (builder.finish().length > 0 || numChunks === 0) {\n yield builder.toVector();\n }\n };\n}\n\n/** @ignore */\ntype ThroughAsyncIterable = (source: Iterable | AsyncIterable) => AsyncIterableIterator>;\n\n/** @ignore */\nfunction throughAsyncIterable(options: IterableBuilderOptions): ThroughAsyncIterable {\n const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? 1000 : 2 ** 14 } = options;\n const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n return async function* (source: Iterable | AsyncIterable) {\n let numChunks = 0;\n let builder = Builder.new(options);\n for await (const value of source) {\n if (builder.append(value)[sizeProperty] >= highWaterMark) {\n ++numChunks && (yield builder.toVector());\n }\n }\n if (builder.finish().length > 0 || numChunks === 0) {\n yield builder.toVector();\n }\n };\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Bool } from '../type';\nimport { BitmapBufferBuilder } from './buffer';\nimport { Builder, BuilderOptions } from '../builder';\n\n/** @ignore */\nexport class BoolBuilder extends Builder {\n constructor(options: BuilderOptions) {\n super(options);\n this._values = new BitmapBufferBuilder();\n }\n public setValue(index: number, value: boolean) {\n this._values.set(index, +value);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Null } from '../type';\nimport { Builder } from '../builder';\n\n/** @ignore */\nexport class NullBuilder extends Builder {\n // @ts-ignore\n public setValue(index: number, value: null) {}\n public setValid(index: number, valid: boolean) {\n this.length = Math.max(index + 1, this.length);\n return valid;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Date_, DateDay, DateMillisecond } from '../type';\n\n/** @ignore */\nexport class DateBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class DateDayBuilder extends DateBuilder {}\n/** @ignore */\nexport class DateMillisecondBuilder extends DateBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Decimal } from '../type';\nimport { FixedWidthBuilder } from '../builder';\n\n/** @ignore */\nexport class DecimalBuilder extends FixedWidthBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { IntBuilder } from './int';\nimport { Dictionary, DataType } from '../type';\nimport { Builder, BuilderOptions } from '../builder';\n\ntype DictionaryHashFunction = (x: any) => string | number;\n\nexport interface DictionaryBuilderOptions extends BuilderOptions {\n dictionaryHashFunction?: DictionaryHashFunction;\n}\n\n/** @ignore */\nexport class DictionaryBuilder extends Builder {\n\n protected _dictionaryOffset: number;\n protected _dictionary?: Vector;\n protected _keysToIndices: { [key: string]: number };\n public readonly indices: IntBuilder;\n public readonly dictionary: Builder;\n\n constructor({ 'type': type, 'nullValues': nulls, 'dictionaryHashFunction': hashFn }: DictionaryBuilderOptions) {\n super({ type: new Dictionary(type.dictionary, type.indices, type.id, type.isOrdered) as T });\n this._nulls = null;\n this._dictionaryOffset = 0;\n this._keysToIndices = Object.create(null);\n this.indices = Builder.new({ 'type': this.type.indices, 'nullValues': nulls }) as IntBuilder;\n this.dictionary = Builder.new({ 'type': this.type.dictionary, 'nullValues': null }) as Builder;\n if (typeof hashFn === 'function') {\n this.valueToKey = hashFn;\n }\n }\n\n public get values() { return this.indices.values; }\n public get nullCount() { return this.indices.nullCount; }\n public get nullBitmap() { return this.indices.nullBitmap; }\n public get byteLength() { return this.indices.byteLength + this.dictionary.byteLength; }\n public get reservedLength() { return this.indices.reservedLength + this.dictionary.reservedLength; }\n public get reservedByteLength() { return this.indices.reservedByteLength + this.dictionary.reservedByteLength; }\n public isValid(value: T['TValue'] | TNull) { return this.indices.isValid(value); }\n public setValid(index: number, valid: boolean) {\n const indices = this.indices;\n valid = indices.setValid(index, valid);\n this.length = indices.length;\n return valid;\n }\n public setValue(index: number, value: T['TValue']) {\n let keysToIndices = this._keysToIndices;\n let key = this.valueToKey(value);\n let idx = keysToIndices[key];\n if (idx === undefined) {\n keysToIndices[key] = idx = this._dictionaryOffset + this.dictionary.append(value).length - 1;\n }\n return this.indices.setValue(index, idx);\n }\n public flush() {\n const type = this.type;\n const prev = this._dictionary;\n const curr = this.dictionary.toVector();\n const data = this.indices.flush().clone(type);\n data.dictionary = prev ? prev.concat(curr) : curr;\n this.finished || (this._dictionaryOffset += curr.length);\n this._dictionary = data.dictionary as Vector;\n this.clear();\n return data;\n }\n public finish() {\n this.indices.finish();\n this.dictionary.finish();\n this._dictionaryOffset = 0;\n this._keysToIndices = Object.create(null);\n return super.finish();\n }\n public clear() {\n this.indices.clear();\n this.dictionary.clear();\n return super.clear();\n }\n public valueToKey(val: any): string | number {\n return typeof val === 'string' ? val : `${val}`;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedSizeBinary } from '../type';\nimport { FixedWidthBuilder } from '../builder';\n\n/** @ignore */\nexport class FixedSizeBinaryBuilder extends FixedWidthBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nconst f64 = new Float64Array(1);\nconst u32 = new Uint32Array(f64.buffer);\n\n/**\n * Convert uint16 (logically a float16) to a JS float64. Inspired by numpy's `npy_half_to_double`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L29\n * @param h {number} the uint16 to convert\n * @private\n * @ignore\n */\nexport function uint16ToFloat64(h: number) {\n let expo = (h & 0x7C00) >> 10;\n let sigf = (h & 0x03FF) / 1024;\n let sign = (-1) ** ((h & 0x8000) >> 15);\n switch (expo) {\n case 0x1F: return sign * (sigf ? NaN : 1 / 0);\n case 0x00: return sign * (sigf ? 6.103515625e-5 * sigf : 0);\n }\n return sign * (2 ** (expo - 15)) * (1 + sigf);\n}\n\n/**\n * Convert a float64 to uint16 (assuming the float64 is logically a float16). Inspired by numpy's `npy_double_to_half`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L43\n * @param d {number} The float64 to convert\n * @private\n * @ignore\n */\nexport function float64ToUint16(d: number) {\n\n if (d !== d) { return 0x7E00; } // NaN\n\n f64[0] = d;\n\n // Magic numbers:\n // 0x80000000 = 10000000 00000000 00000000 00000000 -- masks the 32nd bit\n // 0x7ff00000 = 01111111 11110000 00000000 00000000 -- masks the 21st-31st bits\n // 0x000fffff = 00000000 00001111 11111111 11111111 -- masks the 1st-20th bit\n\n let sign = (u32[1] & 0x80000000) >> 16 & 0xFFFF;\n let expo = (u32[1] & 0x7ff00000), sigf = 0x0000;\n\n if (expo >= 0x40f00000) {\n //\n // If exponent overflowed, the float16 is either NaN or Infinity.\n // Rules to propagate the sign bit: mantissa > 0 ? NaN : +/-Infinity\n //\n // Magic numbers:\n // 0x40F00000 = 01000000 11110000 00000000 00000000 -- 6-bit exponent overflow\n // 0x7C000000 = 01111100 00000000 00000000 00000000 -- masks the 27th-31st bits\n //\n // returns:\n // qNaN, aka 32256 decimal, 0x7E00 hex, or 01111110 00000000 binary\n // sNaN, aka 32000 decimal, 0x7D00 hex, or 01111101 00000000 binary\n // +inf, aka 31744 decimal, 0x7C00 hex, or 01111100 00000000 binary\n // -inf, aka 64512 decimal, 0xFC00 hex, or 11111100 00000000 binary\n //\n // If mantissa is greater than 23 bits, set to +Infinity like numpy\n if (u32[0] > 0) {\n expo = 0x7C00;\n } else {\n expo = (expo & 0x7C000000) >> 16;\n sigf = (u32[1] & 0x000fffff) >> 10;\n }\n } else if (expo <= 0x3f000000) {\n //\n // If exponent underflowed, the float is either signed zero or subnormal.\n //\n // Magic numbers:\n // 0x3F000000 = 00111111 00000000 00000000 00000000 -- 6-bit exponent underflow\n //\n sigf = 0x100000 + (u32[1] & 0x000fffff);\n sigf = 0x100000 + (sigf << ((expo >> 20) - 998)) >> 21;\n expo = 0;\n } else {\n //\n // No overflow or underflow, rebase the exponent and round the mantissa\n // Magic numbers:\n // 0x200 = 00000010 00000000 -- masks off the 10th bit\n //\n\n // Ensure the first mantissa bit (the 10th one) is 1 and round\n expo = (expo - 0x3f000000) >> 10;\n sigf = ((u32[1] & 0x000fffff) + 0x200) >> 10;\n }\n\n return sign | expo | sigf & 0xFFFF;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { float64ToUint16 } from '../util/math';\nimport { FixedWidthBuilder } from '../builder';\nimport { Float, Float16, Float32, Float64 } from '../type';\n\n/** @ignore */\nexport class FloatBuilder extends FixedWidthBuilder {}\n\n/** @ignore */\nexport class Float16Builder extends FloatBuilder {\n public setValue(index: number, value: number) {\n // convert JS float64 to a uint16\n this._values.set(index, float64ToUint16(value));\n }\n}\n\n/** @ignore */\nexport class Float32Builder extends FloatBuilder {\n public setValue(index: number, value: number) {\n this._values.set(index, value);\n }\n}\n\n/** @ignore */\nexport class Float64Builder extends FloatBuilder {\n public setValue(index: number, value: number) {\n this._values.set(index, value);\n }\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ArrayBufferViewInput, toArrayBufferView } from './buffer';\nimport { TypedArray, TypedArrayConstructor } from '../interfaces';\nimport { BigIntArray, BigIntArrayConstructor } from '../interfaces';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from './compat';\n\n/** @ignore */\nexport const isArrowBigNumSymbol = Symbol.for('isArrowBigNum');\n\n/** @ignore */ type BigNumArray = IntArray | UintArray;\n/** @ignore */ type IntArray = Int8Array | Int16Array | Int32Array;\n/** @ignore */ type UintArray = Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray;\n\n/** @ignore */\nfunction BigNum(this: any, x: any, ...xs: any) {\n if (xs.length === 0) {\n return Object.setPrototypeOf(toArrayBufferView(this['TypedArray'], x), this.constructor.prototype);\n }\n return Object.setPrototypeOf(new this['TypedArray'](x, ...xs), this.constructor.prototype);\n}\n\nBigNum.prototype[isArrowBigNumSymbol] = true;\nBigNum.prototype.toJSON = function>(this: T) { return `\"${bignumToString(this)}\"`; };\nBigNum.prototype.valueOf = function>(this: T) { return bignumToNumber(this); };\nBigNum.prototype.toString = function>(this: T) { return bignumToString(this); };\nBigNum.prototype[Symbol.toPrimitive] = function>(this: T, hint: 'string' | 'number' | 'default' = 'default') {\n switch (hint) {\n case 'number': return bignumToNumber(this);\n case 'string': return bignumToString(this);\n case 'default': return bignumToBigInt(this);\n }\n return bignumToString(this);\n};\n\n/** @ignore */\ntype TypedArrayConstructorArgs =\n [number | void] |\n [Iterable | Iterable] |\n [ArrayBufferLike, number | void, number | void] ;\n\n/** @ignore */\nfunction SignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction UnsignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction DecimalBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n\nObject.setPrototypeOf(SignedBigNum.prototype, Object.create(Int32Array.prototype));\nObject.setPrototypeOf(UnsignedBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.setPrototypeOf(DecimalBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.assign(SignedBigNum.prototype, BigNum.prototype, { 'constructor': SignedBigNum, 'signed': true, 'TypedArray': Int32Array, 'BigIntArray': BigInt64Array });\nObject.assign(UnsignedBigNum.prototype, BigNum.prototype, { 'constructor': UnsignedBigNum, 'signed': false, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\nObject.assign(DecimalBigNum.prototype, BigNum.prototype, { 'constructor': DecimalBigNum, 'signed': true, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\n\n/** @ignore */\nfunction bignumToNumber>(bn: T) {\n let { buffer, byteOffset, length, 'signed': signed } = bn;\n let words = new Int32Array(buffer, byteOffset, length);\n let number = 0, i = 0, n = words.length, hi, lo;\n while (i < n) {\n lo = words[i++];\n hi = words[i++];\n signed || (hi = hi >>> 0);\n number += (lo >>> 0) + (hi * (i ** 32));\n }\n return number;\n}\n\n/** @ignore */\nexport let bignumToString: { >(a: T): string; };\n/** @ignore */\nexport let bignumToBigInt: { >(a: T): bigint; };\n\nif (!BigIntAvailable) {\n bignumToString = decimalToString;\n bignumToBigInt = bignumToString;\n} else {\n bignumToBigInt = (>(a: T) => a.byteLength === 8 ? new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0] : decimalToString(a));\n bignumToString = (>(a: T) => a.byteLength === 8 ? `${new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0]}` : decimalToString(a));\n}\n\n/** @ignore */\nfunction decimalToString>(a: T) {\n let digits = '';\n let base64 = new Uint32Array(2);\n let base32 = new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2);\n let checks = new Uint32Array((base32 = new Uint16Array(base32).reverse()).buffer);\n let i = -1, n = base32.length - 1;\n do {\n for (base64[0] = base32[i = 0]; i < n;) {\n base32[i++] = base64[1] = base64[0] / 10;\n base64[0] = ((base64[0] - base64[1] * 10) << 16) + base32[i];\n }\n base32[i] = base64[1] = base64[0] / 10;\n base64[0] = base64[0] - base64[1] * 10;\n digits = `${base64[0]}${digits}`;\n } while (checks[0] || checks[1] || checks[2] || checks[3]);\n return digits ? digits : `0`;\n}\n\n/** @ignore */\nexport class BN {\n /** @nocollapse */\n public static new(num: T, isSigned?: boolean): (T & BN) {\n switch (isSigned) {\n case true: return new ( SignedBigNum)(num) as (T & BN);\n case false: return new ( UnsignedBigNum)(num) as (T & BN);\n }\n switch (num.constructor) {\n case Int8Array:\n case Int16Array:\n case Int32Array:\n case BigInt64Array:\n return new ( SignedBigNum)(num) as (T & BN);\n }\n if (num.byteLength === 16) {\n return new ( DecimalBigNum)(num) as (T & BN);\n }\n return new ( UnsignedBigNum)(num) as (T & BN);\n }\n /** @nocollapse */\n public static signed(num: T): (T & BN) {\n return new ( SignedBigNum)(num) as (T & BN);\n }\n /** @nocollapse */\n public static unsigned(num: T): (T & BN) {\n return new ( UnsignedBigNum)(num) as (T & BN);\n }\n /** @nocollapse */\n public static decimal(num: T): (T & BN) {\n return new ( DecimalBigNum)(num) as (T & BN);\n }\n constructor(num: T, isSigned?: boolean) {\n return BN.new(num, isSigned) as any;\n }\n}\n\n/** @ignore */\nexport interface BN extends TypedArrayLike {\n\n new(buffer: T, signed?: boolean): T;\n\n readonly signed: boolean;\n readonly TypedArray: TypedArrayConstructor;\n readonly BigIntArray: BigIntArrayConstructor;\n\n [Symbol.toStringTag]:\n 'Int8Array' |\n 'Int16Array' |\n 'Int32Array' |\n 'Uint8Array' |\n 'Uint16Array' |\n 'Uint32Array' |\n 'Uint8ClampedArray';\n\n /**\n * Convert the bytes to their (positive) decimal representation for printing\n */\n toString(): string;\n /**\n * Down-convert the bytes to a 53-bit precision integer. Invoked by JS for\n * arithmetic operators, like `+`. Easy (and unsafe) way to convert BN to\n * number via `+bn_inst`\n */\n valueOf(): number;\n /**\n * Return the JSON representation of the bytes. Must be wrapped in double-quotes,\n * so it's compatible with JSON.stringify().\n */\n toJSON(): string;\n [Symbol.toPrimitive](hint?: any): number | string | bigint;\n}\n\n/** @ignore */\ninterface TypedArrayLike {\n\n readonly length: number;\n readonly buffer: ArrayBuffer;\n readonly byteLength: number;\n readonly byteOffset: number;\n readonly BYTES_PER_ELEMENT: number;\n\n includes(searchElement: number, fromIndex?: number | undefined): boolean;\n copyWithin(target: number, start: number, end?: number | undefined): this;\n every(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n fill(value: number, start?: number | undefined, end?: number | undefined): this;\n filter(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): T;\n find(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number | undefined;\n findIndex(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number;\n forEach(callbackfn: (value: number, index: number, array: T) => void, thisArg?: any): void;\n indexOf(searchElement: number, fromIndex?: number | undefined): number;\n join(separator?: string | undefined): string;\n lastIndexOf(searchElement: number, fromIndex?: number | undefined): number;\n map(callbackfn: (value: number, index: number, array: T) => number, thisArg?: any): T;\n reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n reverse(): T;\n set(array: ArrayLike, offset?: number | undefined): void;\n slice(start?: number | undefined, end?: number | undefined): T;\n some(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n sort(compareFn?: ((a: number, b: number) => number) | undefined): this;\n subarray(begin: number, end?: number | undefined): T;\n toLocaleString(): string;\n entries(): IterableIterator<[number, number]>;\n keys(): IterableIterator;\n values(): IterableIterator;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { bignumToBigInt } from '../util/bn';\nimport { WideBufferBuilder } from './buffer';\nimport { BigInt64Array } from '../util/compat';\nimport { FixedWidthBuilder, BuilderOptions } from '../builder';\nimport { Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64 } from '../type';\n\n/** @ignore */\nexport class IntBuilder extends FixedWidthBuilder {\n public setValue(index: number, value: T['TValue']) {\n this._values.set(index, value);\n }\n}\n\n/** @ignore */\nexport class Int8Builder extends IntBuilder {}\n/** @ignore */\nexport class Int16Builder extends IntBuilder {}\n/** @ignore */\nexport class Int32Builder extends IntBuilder {}\n/** @ignore */\nexport class Int64Builder extends IntBuilder {\n protected _values: WideBufferBuilder;\n constructor(options: BuilderOptions) {\n if (options['nullValues']) {\n options['nullValues'] = (options['nullValues'] as TNull[]).map(toBigInt);\n }\n super(options);\n this._values = new WideBufferBuilder(new Int32Array(0), 2);\n }\n public get values64() { return this._values.buffer64; }\n public isValid(value: Int32Array | bigint | TNull) { return super.isValid(toBigInt(value)); }\n}\n\n/** @ignore */\nexport class Uint8Builder extends IntBuilder {}\n/** @ignore */\nexport class Uint16Builder extends IntBuilder {}\n/** @ignore */\nexport class Uint32Builder extends IntBuilder {}\n/** @ignore */\nexport class Uint64Builder extends IntBuilder {\n protected _values: WideBufferBuilder;\n constructor(options: BuilderOptions) {\n if (options['nullValues']) {\n options['nullValues'] = (options['nullValues'] as TNull[]).map(toBigInt);\n }\n super(options);\n this._values = new WideBufferBuilder(new Uint32Array(0), 2);\n }\n public get values64() { return this._values.buffer64; }\n public isValid(value: Uint32Array | bigint | TNull) { return super.isValid(toBigInt(value)); }\n}\n\nconst toBigInt = ((memo: any) => (value: any) => {\n if (ArrayBuffer.isView(value)) {\n memo.buffer = value.buffer;\n memo.byteOffset = value.byteOffset;\n memo.byteLength = value.byteLength;\n value = bignumToBigInt(memo);\n memo.buffer = null;\n }\n return value;\n})({ 'BigIntArray': BigInt64Array });\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond } from '../type';\n\n/** @ignore */\nexport class TimeBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class TimeSecondBuilder extends TimeBuilder {}\n/** @ignore */\nexport class TimeMillisecondBuilder extends TimeBuilder {}\n/** @ignore */\nexport class TimeMicrosecondBuilder extends TimeBuilder {}\n/** @ignore */\nexport class TimeNanosecondBuilder extends TimeBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond } from '../type';\n\n/** @ignore */\nexport class TimestampBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class TimestampSecondBuilder extends TimestampBuilder {}\n/** @ignore */\nexport class TimestampMillisecondBuilder extends TimestampBuilder {}\n/** @ignore */\nexport class TimestampMicrosecondBuilder extends TimestampBuilder {}\n/** @ignore */\nexport class TimestampNanosecondBuilder extends TimestampBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Interval, IntervalDayTime, IntervalYearMonth } from '../type';\n\n/** @ignore */\nexport class IntervalBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class IntervalDayTimeBuilder extends IntervalBuilder {}\n/** @ignore */\nexport class IntervalYearMonthBuilder extends IntervalBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Binary } from '../type';\nimport { toUint8Array } from '../util/buffer';\nimport { BufferBuilder } from './buffer';\nimport { VariableWidthBuilder, BuilderOptions } from '../builder';\n\n/** @ignore */\nexport class BinaryBuilder extends VariableWidthBuilder {\n constructor(opts: BuilderOptions) {\n super(opts);\n this._values = new BufferBuilder(new Uint8Array(0));\n }\n public get byteLength(): number {\n let size = this._pendingLength + (this.length * 4);\n this._offsets && (size += this._offsets.byteLength);\n this._values && (size += this._values.byteLength);\n this._nulls && (size += this._nulls.byteLength);\n return size;\n }\n public setValue(index: number, value: Uint8Array) {\n return super.setValue(index, toUint8Array(value));\n }\n protected _flushPending(pending: Map, pendingLength: number) {\n const offsets = this._offsets;\n const data = this._values.reserve(pendingLength).buffer;\n let index = 0, length = 0, offset = 0, value: Uint8Array | undefined;\n for ([index, value] of pending) {\n if (value === undefined) {\n offsets.set(index, 0);\n } else {\n length = value.length;\n data.set(value, offset);\n offsets.set(index, length);\n offset += length;\n }\n }\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Utf8 } from '../type';\nimport { encodeUtf8 } from '../util/utf8';\nimport { BinaryBuilder } from './binary';\nimport { BufferBuilder } from './buffer';\nimport { VariableWidthBuilder, BuilderOptions } from '../builder';\n\n/** @ignore */\nexport class Utf8Builder extends VariableWidthBuilder {\n constructor(opts: BuilderOptions) {\n super(opts);\n this._values = new BufferBuilder(new Uint8Array(0));\n }\n public get byteLength(): number {\n let size = this._pendingLength + (this.length * 4);\n this._offsets && (size += this._offsets.byteLength);\n this._values && (size += this._values.byteLength);\n this._nulls && (size += this._nulls.byteLength);\n return size;\n }\n public setValue(index: number, value: string) {\n return super.setValue(index, encodeUtf8(value) as any);\n }\n // @ts-ignore\n protected _flushPending(pending: Map, pendingLength: number): void {}\n}\n\n(Utf8Builder.prototype as any)._flushPending = (BinaryBuilder.prototype as any)._flushPending;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\n\n/** @ignore */\nexport class Run {\n // @ts-ignore\n protected _values: ArrayLike;\n public get length() { return this._values.length; }\n public get(index: number) { return this._values[index]; }\n public clear() { this._values = null; return this; }\n public bind(values: Vector | ArrayLike) {\n if (values instanceof Vector) {\n return values;\n }\n this._values = values;\n return this as any;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { StructVector } from './struct';\nimport { valueToString } from '../util/pretty';\nimport { DataType, Struct, RowLike } from '../type';\n\n/** @ignore */ const kParent = Symbol.for('parent');\n/** @ignore */ const kRowIndex = Symbol.for('rowIndex');\n/** @ignore */ const kKeyToIdx = Symbol.for('keyToIdx');\n/** @ignore */ const kIdxToVal = Symbol.for('idxToVal');\n/** @ignore */ const kCustomInspect = Symbol.for('nodejs.util.inspect.custom');\n\nabstract class Row implements Map {\n\n public readonly size: number;\n public readonly [Symbol.toStringTag]: string;\n\n protected [kRowIndex]: number;\n protected [kParent]: Vector;\n protected [kKeyToIdx]: Map;\n protected [kIdxToVal]: V[];\n\n constructor(parent: Vector, numKeys: number) {\n this[kParent] = parent;\n this.size = numKeys;\n }\n\n public abstract keys(): IterableIterator;\n public abstract values(): IterableIterator;\n public abstract getKey(idx: number): K;\n public abstract getIndex(key: K): number;\n public abstract getValue(idx: number): V;\n public abstract setValue(idx: number, val: V): void;\n\n public entries() { return this[Symbol.iterator](); }\n\n public has(key: K) { return this.get(key) !== undefined; }\n\n public get(key: K) {\n let val = undefined;\n if (key !== null && key !== undefined) {\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n let idx = ktoi.get(key);\n if (idx !== undefined) {\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n ((val = itov[idx]) !== undefined) || (itov[idx] = val = this.getValue(idx));\n } else if ((idx = this.getIndex(key)) > -1) {\n ktoi.set(key, idx);\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n ((val = itov[idx]) !== undefined) || (itov[idx] = val = this.getValue(idx));\n }\n }\n return val;\n }\n\n public set(key: K, val: V) {\n if (key !== null && key !== undefined) {\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n let idx = ktoi.get(key);\n if (idx === undefined) {\n ktoi.set(key, idx = this.getIndex(key));\n }\n if (idx > -1) {\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n itov[idx] = this.setValue(idx, val);\n }\n }\n return this;\n }\n\n public clear(): void { throw new Error(`Clearing ${this[Symbol.toStringTag]} not supported.`); }\n\n public delete(_: K): boolean { throw new Error(`Deleting ${this[Symbol.toStringTag]} values not supported.`); }\n\n public *[Symbol.iterator](): IterableIterator<[K, V]> {\n\n const ki = this.keys();\n const vi = this.values();\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n\n for (let k: K, v: V, i = 0, kr: IteratorResult, vr: IteratorResult;\n !((kr = ki.next()).done || (vr = vi.next()).done);\n ++i\n ) {\n k = kr.value;\n v = vr.value;\n itov[i] = v;\n ktoi.has(k) || ktoi.set(k, i);\n yield [k, v];\n }\n }\n\n public forEach(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void {\n\n const ki = this.keys();\n const vi = this.values();\n const callback = thisArg === undefined ? callbackfn :\n (v: V, k: K, m: Map) => callbackfn.call(thisArg, v, k, m);\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n\n for (let k: K, v: V, i = 0, kr: IteratorResult, vr: IteratorResult;\n !((kr = ki.next()).done || (vr = vi.next()).done);\n ++i\n ) {\n k = kr.value;\n v = vr.value;\n itov[i] = v;\n ktoi.has(k) || ktoi.set(k, i);\n callback(v, k, this);\n }\n }\n\n public toArray() { return [...this.values()]; }\n public toJSON() {\n const obj = {} as any;\n this.forEach((val, key) => obj[key] = val);\n return obj;\n }\n\n public inspect() { return this.toString(); }\n public [kCustomInspect]() { return this.toString(); }\n public toString() {\n const str: string[] = [];\n this.forEach((val, key) => {\n key = valueToString(key);\n val = valueToString(val);\n str.push(`${key}: ${val}`);\n });\n return `{ ${str.join(', ')} }`;\n }\n\n protected static [Symbol.toStringTag] = ((proto: Row) => {\n Object.defineProperties(proto, {\n 'size': { writable: true, enumerable: false, configurable: false, value: 0 },\n [kParent]: { writable: true, enumerable: false, configurable: false, value: null },\n [kRowIndex]: { writable: true, enumerable: false, configurable: false, value: -1 },\n });\n return (proto as any)[Symbol.toStringTag] = 'Row';\n })(Row.prototype);\n}\n\nexport class MapRow extends Row {\n constructor(slice: Vector>) {\n super(slice, slice.length);\n return createRowProxy(this);\n }\n public keys() {\n return this[kParent].getChildAt(0)![Symbol.iterator]();\n }\n public values() {\n return this[kParent].getChildAt(1)![Symbol.iterator]();\n }\n public getKey(idx: number): K['TValue'] {\n return this[kParent].getChildAt(0)!.get(idx);\n }\n public getIndex(key: K['TValue']): number {\n return this[kParent].getChildAt(0)!.indexOf(key);\n }\n public getValue(index: number): V['TValue'] | null {\n return this[kParent].getChildAt(1)!.get(index);\n }\n public setValue(index: number, value: V['TValue'] | null): void {\n this[kParent].getChildAt(1)!.set(index, value);\n }\n}\n\nexport class StructRow extends Row {\n constructor(parent: StructVector) {\n super(parent, parent.type.children.length);\n return defineRowProxyProperties(this);\n }\n public *keys() {\n for (const field of this[kParent].type.children) {\n yield field.name as keyof T;\n }\n }\n public *values() {\n for (const field of this[kParent].type.children) {\n yield (this as RowLike)[field.name];\n }\n }\n public getKey(idx: number): keyof T {\n return this[kParent].type.children[idx].name as keyof T;\n }\n public getIndex(key: keyof T): number {\n return this[kParent].type.children.findIndex((f) => f.name === key);\n }\n public getValue(index: number): T[keyof T]['TValue'] | null {\n return this[kParent].getChildAt(index)!.get(this[kRowIndex]);\n }\n public setValue(index: number, value: T[keyof T]['TValue'] | null): void {\n return this[kParent].getChildAt(index)!.set(this[kRowIndex], value);\n }\n}\n\nObject.setPrototypeOf(Row.prototype, Map.prototype);\n\n/** @ignore */\nconst defineRowProxyProperties = (() => {\n const desc = { enumerable: true, configurable: false, get: null as any, set: null as any };\n return (row: T) => {\n let idx = -1, ktoi = row[kKeyToIdx] || (row[kKeyToIdx] = new Map());\n const getter = (key: any) => function(this: T) { return this.get(key); };\n const setter = (key: any) => function(this: T, val: any) { return this.set(key, val); };\n for (const key of row.keys()) {\n ktoi.set(key, ++idx);\n desc.get = getter(key);\n desc.set = setter(key);\n row.hasOwnProperty(key) || (desc.enumerable = true, Object.defineProperty(row, key, desc));\n row.hasOwnProperty(idx) || (desc.enumerable = false, Object.defineProperty(row, idx, desc));\n }\n desc.get = desc.set = null;\n return row;\n };\n})();\n\n/** @ignore */\nconst createRowProxy = (() => {\n if (typeof Proxy === 'undefined') {\n return defineRowProxyProperties;\n }\n const has = Row.prototype.has;\n const get = Row.prototype.get;\n const set = Row.prototype.set;\n const getKey = Row.prototype.getKey;\n const RowProxyHandler: ProxyHandler = {\n isExtensible() { return false; },\n deleteProperty() { return false; },\n preventExtensions() { return true; },\n ownKeys(row: Row) { return [...row.keys()].map((x) => `${x}`); },\n has(row: Row, key: PropertyKey) {\n switch (key) {\n case 'getKey': case 'getIndex': case 'getValue': case 'setValue': case 'toArray': case 'toJSON': case 'inspect':\n case 'constructor': case 'isPrototypeOf': case 'propertyIsEnumerable': case 'toString': case 'toLocaleString': case 'valueOf':\n case 'size': case 'has': case 'get': case 'set': case 'clear': case 'delete': case 'keys': case 'values': case 'entries': case 'forEach':\n case '__proto__': case '__defineGetter__': case '__defineSetter__': case 'hasOwnProperty': case '__lookupGetter__': case '__lookupSetter__':\n case Symbol.iterator: case Symbol.toStringTag: case kParent: case kRowIndex: case kIdxToVal: case kKeyToIdx: case kCustomInspect:\n return true;\n }\n if (typeof key === 'number' && !row.has(key)) {\n key = row.getKey(key);\n }\n return row.has(key);\n },\n get(row: Row, key: PropertyKey, receiver: any) {\n switch (key) {\n case 'getKey': case 'getIndex': case 'getValue': case 'setValue': case 'toArray': case 'toJSON': case 'inspect':\n case 'constructor': case 'isPrototypeOf': case 'propertyIsEnumerable': case 'toString': case 'toLocaleString': case 'valueOf':\n case 'size': case 'has': case 'get': case 'set': case 'clear': case 'delete': case 'keys': case 'values': case 'entries': case 'forEach':\n case '__proto__': case '__defineGetter__': case '__defineSetter__': case 'hasOwnProperty': case '__lookupGetter__': case '__lookupSetter__':\n case Symbol.iterator: case Symbol.toStringTag: case kParent: case kRowIndex: case kIdxToVal: case kKeyToIdx: case kCustomInspect:\n return Reflect.get(row, key, receiver);\n }\n if (typeof key === 'number' && !has.call(receiver, key)) {\n key = getKey.call(receiver, key);\n }\n return get.call(receiver, key);\n },\n set(row: Row, key: PropertyKey, val: any, receiver: any) {\n switch (key) {\n case kParent: case kRowIndex: case kIdxToVal: case kKeyToIdx:\n return Reflect.set(row, key, val, receiver);\n case 'getKey': case 'getIndex': case 'getValue': case 'setValue': case 'toArray': case 'toJSON': case 'inspect':\n case 'constructor': case 'isPrototypeOf': case 'propertyIsEnumerable': case 'toString': case 'toLocaleString': case 'valueOf':\n case 'size': case 'has': case 'get': case 'set': case 'clear': case 'delete': case 'keys': case 'values': case 'entries': case 'forEach':\n case '__proto__': case '__defineGetter__': case '__defineSetter__': case 'hasOwnProperty': case '__lookupGetter__': case '__lookupSetter__':\n case Symbol.iterator: case Symbol.toStringTag:\n return false;\n }\n if (typeof key === 'number' && !has.call(receiver, key)) {\n key = getKey.call(receiver, key);\n }\n return has.call(receiver, key) ? !!set.call(receiver, key, val) : false;\n },\n };\n return (row: T) => new Proxy(row, RowProxyHandler) as T;\n})();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { MapRow, StructRow } from '../vector/row';\nimport { compareArrayLike } from '../util/buffer';\nimport { BigInt, BigIntAvailable } from './compat';\n\n/** @ignore */\ntype RangeLike = { length: number; stride?: number };\n/** @ignore */\ntype ClampThen = (source: T, index: number) => any;\n/** @ignore */\ntype ClampRangeThen = (source: T, offset: number, length: number) => any;\n\nexport function clampIndex(source: T, index: number): number;\nexport function clampIndex = ClampThen>(source: T, index: number, then: N): ReturnType;\n/** @ignore */\nexport function clampIndex = ClampThen>(source: T, index: number, then?: N) {\n const length = source.length;\n const adjust = index > -1 ? index : (length + (index % length));\n return then ? then(source, adjust) : adjust;\n}\n\n/** @ignore */\nlet tmp: number;\nexport function clampRange(source: T, begin: number | undefined, end: number | undefined): [number, number];\nexport function clampRange = ClampRangeThen>(source: T, begin: number | undefined, end: number | undefined, then: N): ReturnType;\n/** @ignore */\nexport function clampRange = ClampRangeThen>(source: T, begin: number | undefined, end: number | undefined, then?: N) {\n\n // Adjust args similar to Array.prototype.slice. Normalize begin/end to\n // clamp between 0 and length, and wrap around on negative indices, e.g.\n // slice(-1, 5) or slice(5, -1)\n let { length: len = 0 } = source;\n let lhs = typeof begin !== 'number' ? 0 : begin;\n let rhs = typeof end !== 'number' ? len : end;\n // wrap around on negative start/end positions\n (lhs < 0) && (lhs = ((lhs % len) + len) % len);\n (rhs < 0) && (rhs = ((rhs % len) + len) % len);\n // ensure lhs <= rhs\n (rhs < lhs) && (tmp = lhs, lhs = rhs, rhs = tmp);\n // ensure rhs <= length\n (rhs > len) && (rhs = len);\n\n return then ? then(source, lhs, rhs) : [lhs, rhs];\n}\n\nconst big0 = BigIntAvailable ? BigInt(0) : 0;\nconst isNaNFast = (value: any) => value !== value;\n\n/** @ignore */\nexport function createElementComparator(search: any) {\n let typeofSearch = typeof search;\n // Compare primitives\n if (typeofSearch !== 'object' || search === null) {\n // Compare NaN\n if (isNaNFast(search)) {\n return isNaNFast;\n }\n return typeofSearch !== 'bigint'\n ? (value: any) => value === search\n : (value: any) => (big0 + value) === search;\n }\n // Compare Dates\n if (search instanceof Date) {\n const valueOfSearch = search.valueOf();\n return (value: any) => value instanceof Date ? (value.valueOf() === valueOfSearch) : false;\n }\n // Compare TypedArrays\n if (ArrayBuffer.isView(search)) {\n return (value: any) => value ? compareArrayLike(search, value) : false;\n }\n // Compare Maps and Rows\n if (search instanceof Map) { return creatMapComparator(search); }\n // Compare Array-likes\n if (Array.isArray(search)) { return createArrayLikeComparator(search); }\n // Compare Vectors\n if (search instanceof Vector) { return createVectorComparator(search); }\n // Compare non-empty Objects\n return createObjectComparator(search);\n}\n\n/** @ignore */\nfunction createArrayLikeComparator(lhs: ArrayLike) {\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[i]);\n }\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction creatMapComparator(lhs: Map) {\n let i = -1;\n const comparators = [] as ((x: any) => boolean)[];\n lhs.forEach((v) => comparators[++i] = createElementComparator(v));\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createVectorComparator(lhs: Vector) {\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs.get(i));\n }\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createObjectComparator(lhs: any) {\n const keys = Object.keys(lhs);\n // Only compare non-empty Objects\n if (keys.length === 0) { return () => false; }\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = keys.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[keys[i]]);\n }\n return createSubElementsComparator(comparators, keys);\n}\n\nfunction createSubElementsComparator(comparators: ((x: any) => boolean)[], keys?: Iterable) {\n return (rhs: any) => {\n if (!rhs || typeof rhs !== 'object') {\n return false;\n }\n switch (rhs.constructor) {\n case Array: return compareArray(comparators, rhs);\n case Map:\n case MapRow:\n case StructRow:\n return compareObject(comparators, rhs, rhs.keys());\n case Object:\n case undefined: // support `Object.create(null)` objects\n return compareObject(comparators, rhs, keys || Object.keys(rhs));\n }\n return rhs instanceof Vector ? compareVector(comparators, rhs) : false;\n };\n}\n\nfunction compareArray(comparators: ((x: any) => boolean)[], arr: any[]) {\n const n = comparators.length;\n if (arr.length !== n) { return false; }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](arr[i]))) { return false; }\n }\n return true;\n}\n\nfunction compareVector(comparators: ((x: any) => boolean)[], vec: Vector) {\n const n = comparators.length;\n if (vec.length !== n) { return false; }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](vec.get(i)))) { return false; }\n }\n return true;\n}\n\nfunction compareObject(comparators: ((x: any) => boolean)[], obj: Map, keys: Iterable) {\n\n const lKeyItr = keys[Symbol.iterator]();\n const rKeyItr = obj instanceof Map ? obj.keys() : Object.keys(obj)[Symbol.iterator]();\n const rValItr = obj instanceof Map ? obj.values() : Object.values(obj)[Symbol.iterator]();\n\n let i = 0;\n let n = comparators.length;\n let rVal = rValItr.next();\n let lKey = lKeyItr.next();\n let rKey = rKeyItr.next();\n\n for (; i < n && !lKey.done && !rKey.done && !rVal.done;\n ++i, lKey = lKeyItr.next(), rKey = rKeyItr.next(), rVal = rValItr.next()) {\n if (lKey.value !== rKey.value || !comparators[i](rVal.value)) {\n break;\n }\n }\n if (i === n && lKey.done && rKey.done && rVal.done) {\n return true;\n }\n lKeyItr.return && lKeyItr.return();\n rKeyItr.return && rKeyItr.return();\n rValItr.return && rValItr.return();\n return false;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Field } from '../schema';\nimport { clampRange } from '../util/vector';\nimport { DataType, Dictionary } from '../type';\nimport { selectChunkArgs } from '../util/args';\nimport { DictionaryVector } from './dictionary';\nimport { AbstractVector, Vector } from '../vector';\nimport { Clonable, Sliceable, Applicative } from '../vector';\n\n/** @ignore */\ntype ChunkedDict = T extends Dictionary ? Vector : null | never;\n/** @ignore */\ntype ChunkedKeys = T extends Dictionary ? Vector | Chunked : null | never;\n\n/** @ignore */\nexport type SearchContinuation = (column: T, chunkIndex: number, valueIndex: number) => any;\n\n/** @ignore */\nexport class Chunked\n extends AbstractVector\n implements Clonable>,\n Sliceable>,\n Applicative> {\n\n /** @nocollapse */\n public static flatten(...vectors: (Vector | Vector[])[]) {\n return selectChunkArgs>(Vector, vectors);\n }\n\n /** @nocollapse */\n public static concat(...vectors: (Vector | Vector[])[]) {\n const chunks = Chunked.flatten(...vectors);\n return new Chunked(chunks[0].type, chunks);\n }\n\n protected _type: T;\n protected _length: number;\n protected _chunks: Vector[];\n protected _numChildren: number;\n protected _children?: Chunked[];\n protected _nullCount: number = -1;\n protected _chunkOffsets: Uint32Array;\n\n constructor(type: T, chunks: Vector[] = [], offsets = calculateOffsets(chunks)) {\n super();\n this._type = type;\n this._chunks = chunks;\n this._chunkOffsets = offsets;\n this._length = offsets[offsets.length - 1];\n this._numChildren = (this._type.children || []).length;\n }\n\n public get type() { return this._type; }\n public get length() { return this._length; }\n public get chunks() { return this._chunks; }\n public get typeId(): T['TType'] { return this._type.typeId; }\n public get VectorName() { return `Chunked<${this._type}>`; }\n public get data(): Data {\n return this._chunks[0] ? this._chunks[0].data : null;\n }\n\n public get ArrayType() { return this._type.ArrayType; }\n public get numChildren() { return this._numChildren; }\n public get stride() { return this._chunks[0] ? this._chunks[0].stride : 1; }\n public get byteLength(): number {\n return this._chunks.reduce((byteLength, chunk) => byteLength + chunk.byteLength, 0);\n }\n public get nullCount() {\n let nullCount = this._nullCount;\n if (nullCount < 0) {\n this._nullCount = nullCount = this._chunks.reduce((x, { nullCount }) => x + nullCount, 0);\n }\n return nullCount;\n }\n\n protected _indices?: ChunkedKeys;\n public get indices(): ChunkedKeys | null {\n if (DataType.isDictionary(this._type)) {\n if (!this._indices) {\n const chunks = ( this._chunks) as DictionaryVector[];\n this._indices = (chunks.length === 1\n ? chunks[0].indices\n : Chunked.concat(...chunks.map((x) => x.indices))) as ChunkedKeys;\n }\n return this._indices;\n }\n return null;\n }\n public get dictionary(): ChunkedDict | null {\n if (DataType.isDictionary(this._type)) {\n return this._chunks[this._chunks.length - 1].data.dictionary as ChunkedDict;\n }\n return null;\n }\n\n public *[Symbol.iterator](): IterableIterator {\n for (const chunk of this._chunks) {\n yield* chunk;\n }\n }\n\n public clone(chunks = this._chunks): Chunked {\n return new Chunked(this._type, chunks);\n }\n\n public concat(...others: Vector[]): Chunked {\n return this.clone(Chunked.flatten(this, ...others));\n }\n\n public slice(begin?: number, end?: number): Chunked {\n return clampRange(this, begin, end, this._sliceInternal);\n }\n\n public getChildAt(index: number): Chunked | null {\n\n if (index < 0 || index >= this._numChildren) { return null; }\n\n let columns = this._children || (this._children = []);\n let child: Chunked, field: Field, chunks: Vector[];\n\n if (child = columns[index]) { return child; }\n if (field = ((this._type.children || [])[index] as Field)) {\n chunks = this._chunks\n .map((vector) => vector.getChildAt(index))\n .filter((vec): vec is Vector => vec != null);\n if (chunks.length > 0) {\n return (columns[index] = new Chunked(field.type, chunks));\n }\n }\n\n return null;\n }\n\n public search(index: number): [number, number] | null;\n public search>>(index: number, then?: N): ReturnType;\n public search>>(index: number, then?: N) {\n let idx = index;\n // binary search to find the child vector and value indices\n let offsets = this._chunkOffsets, rhs = offsets.length - 1;\n // return early if out of bounds, or if there's just one child\n if (idx < 0 ) { return null; }\n if (idx >= offsets[rhs]) { return null; }\n if (rhs <= 1 ) { return then ? then(this, 0, idx) : [0, idx]; }\n let lhs = 0, pos = 0, mid = 0;\n do {\n if (lhs + 1 === rhs) {\n return then ? then(this, lhs, idx - pos) : [lhs, idx - pos];\n }\n mid = lhs + ((rhs - lhs) / 2) | 0;\n idx >= offsets[mid] ? (lhs = mid) : (rhs = mid);\n } while (idx < offsets[rhs] && idx >= (pos = offsets[lhs]));\n return null;\n }\n\n public isValid(index: number): boolean {\n return !!this.search(index, this.isValidInternal);\n }\n\n public get(index: number): T['TValue'] | null {\n return this.search(index, this.getInternal);\n }\n\n public set(index: number, value: T['TValue'] | null): void {\n this.search(index, ({ chunks }, i, j) => chunks[i].set(j, value));\n }\n\n public indexOf(element: T['TValue'], offset?: number): number {\n if (offset && typeof offset === 'number') {\n return this.search(offset, (self, i, j) => this.indexOfInternal(self, i, j, element))!;\n }\n return this.indexOfInternal(this, 0, Math.max(0, offset || 0), element);\n }\n\n public toArray(): T['TArray'] {\n const { chunks } = this;\n const n = chunks.length;\n let ArrayType: any = this._type.ArrayType;\n if (n <= 0) { return new ArrayType(0); }\n if (n <= 1) { return chunks[0].toArray(); }\n let len = 0, src = new Array(n);\n for (let i = -1; ++i < n;) {\n len += (src[i] = chunks[i].toArray()).length;\n }\n if (ArrayType !== src[0].constructor) {\n ArrayType = src[0].constructor;\n }\n let dst = new ArrayType(len);\n let set: any = ArrayType === Array ? arraySet : typedSet;\n for (let i = -1, idx = 0; ++i < n;) {\n idx = set(src[i], dst, idx);\n }\n return dst;\n }\n\n protected getInternal({ _chunks }: Chunked, i: number, j: number) { return _chunks[i].get(j); }\n protected isValidInternal({ _chunks }: Chunked, i: number, j: number) { return _chunks[i].isValid(j); }\n protected indexOfInternal({ _chunks }: Chunked, chunkIndex: number, fromIndex: number, element: T['TValue']) {\n let i = chunkIndex - 1, n = _chunks.length;\n let start = fromIndex, offset = 0, found = -1;\n while (++i < n) {\n if (~(found = _chunks[i].indexOf(element, start))) {\n return offset + found;\n }\n start = 0;\n offset += _chunks[i].length;\n }\n return -1;\n }\n\n protected _sliceInternal(self: Chunked, begin: number, end: number) {\n const slices: Vector[] = [];\n const { chunks, _chunkOffsets: chunkOffsets } = self;\n for (let i = -1, n = chunks.length; ++i < n;) {\n const chunk = chunks[i];\n const chunkLength = chunk.length;\n const chunkOffset = chunkOffsets[i];\n // If the child is to the right of the slice boundary, we can stop\n if (chunkOffset >= end) { break; }\n // If the child is to the left of of the slice boundary, exclude\n if (begin >= chunkOffset + chunkLength) { continue; }\n // If the child is between both left and right boundaries, include w/o slicing\n if (chunkOffset >= begin && (chunkOffset + chunkLength) <= end) {\n slices.push(chunk);\n continue;\n }\n // If the child overlaps one of the slice boundaries, include that slice\n const from = Math.max(0, begin - chunkOffset);\n const to = Math.min(end - chunkOffset, chunkLength);\n slices.push(chunk.slice(from, to) as Vector);\n }\n return self.clone(slices);\n }\n}\n\n/** @ignore */\nfunction calculateOffsets(vectors: Vector[]) {\n let offsets = new Uint32Array((vectors || []).length + 1);\n let offset = offsets[0] = 0, length = offsets.length;\n for (let index = 0; ++index < length;) {\n offsets[index] = (offset += vectors[index - 1].length);\n }\n return offsets;\n}\n\n/** @ignore */\nconst typedSet = (src: TypedArray, dst: TypedArray, offset: number) => {\n dst.set(src, offset);\n return (offset + src.length);\n};\n\n/** @ignore */\nconst arraySet = (src: any[], dst: any[], offset: number) => {\n let idx = offset;\n for (let i = -1, n = src.length; ++i < n;) {\n dst[idx++] = src[i];\n }\n return idx;\n};\n\n/** @ignore */\ninterface TypedArray extends ArrayBufferView {\n readonly length: number;\n readonly [n: number]: number;\n set(array: ArrayLike, offset?: number): void;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Field } from './schema';\nimport { DataType } from './type';\nimport { Vector } from './vector';\nimport { Clonable, Sliceable, Applicative } from './vector';\nimport { VectorCtorArgs, VectorType as V } from './interfaces';\nimport { Chunked, SearchContinuation } from './vector/chunked';\n\nexport interface Column {\n typeId: T['TType'];\n concat(...others: Vector[]): Column;\n slice(begin?: number, end?: number): Column;\n clone(chunks?: Vector[], offsets?: Uint32Array): Column;\n}\n\nexport class Column\n extends Chunked\n implements Clonable>,\n Sliceable>,\n Applicative> {\n\n public static new(field: string | Field, ...chunks: (Vector | Vector[])[]): Column;\n public static new(field: string | Field, data: Data, ...args: VectorCtorArgs>): Column;\n /** @nocollapse */\n public static new(field: string | Field, data: Data | Vector | (Data | Vector)[], ...rest: any[]) {\n\n const chunks = Chunked.flatten(\n Array.isArray(data) ? [...data, ...rest] :\n data instanceof Vector ? [data, ...rest] :\n [Vector.new(data, ...rest)]\n );\n\n if (typeof field === 'string') {\n const type = chunks[0].data.type;\n field = new Field(field, type, true);\n } else if (!field.nullable && chunks.some(({ nullCount }) => nullCount > 0)) {\n field = field.clone({ nullable: true });\n }\n return new Column(field, chunks);\n }\n\n constructor(field: Field, vectors: Vector[] = [], offsets?: Uint32Array) {\n vectors = Chunked.flatten(...vectors);\n super(field.type, vectors, offsets);\n this._field = field;\n if (vectors.length === 1 && !(this instanceof SingleChunkColumn)) {\n return new SingleChunkColumn(field, vectors[0], this._chunkOffsets);\n }\n }\n\n protected _field: Field;\n protected _children?: Column[];\n\n public get field() { return this._field; }\n public get name() { return this._field.name; }\n public get nullable() { return this._field.nullable; }\n public get metadata() { return this._field.metadata; }\n\n public clone(chunks = this._chunks) {\n return new Column(this._field, chunks);\n }\n\n public getChildAt(index: number): Column | null {\n\n if (index < 0 || index >= this.numChildren) { return null; }\n\n let columns = this._children || (this._children = []);\n let column: Column, field: Field, chunks: Vector[];\n\n if (column = columns[index]) { return column; }\n if (field = ((this.type.children || [])[index] as Field)) {\n chunks = this._chunks\n .map((vector) => vector.getChildAt(index))\n .filter((vec): vec is Vector => vec != null);\n if (chunks.length > 0) {\n return (columns[index] = new Column(field, chunks));\n }\n }\n\n return null;\n }\n}\n\n/** @ignore */\nclass SingleChunkColumn extends Column {\n protected _chunk: Vector;\n constructor(field: Field, vector: Vector, offsets?: Uint32Array) {\n super(field, [vector], offsets);\n this._chunk = vector;\n }\n public search(index: number): [number, number] | null;\n public search>>(index: number, then?: N): ReturnType;\n public search>>(index: number, then?: N) {\n return then ? then(this, 0, index) : [0, index];\n }\n public isValid(index: number): boolean {\n return this._chunk.isValid(index);\n }\n public get(index: number): T['TValue'] | null {\n return this._chunk.get(index);\n }\n public set(index: number, value: T['TValue'] | null): void {\n this._chunk.set(index, value);\n }\n public indexOf(element: T['TValue'], offset?: number): number {\n return this._chunk.indexOf(element, offset);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Field } from '../schema';\nimport { Column } from '../column';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Chunked } from '../vector/chunked';\n\ntype RecordBatchCtor = typeof import('../recordbatch').RecordBatch;\n\nconst isArray = Array.isArray;\n\n/** @ignore */\nexport const selectArgs = (Ctor: any, vals: any[]) => _selectArgs(Ctor, vals, [], 0) as T[];\n/** @ignore */\nexport const selectColumnArgs = (args: any[]) => {\n const [fields, values] = _selectFieldArgs(args, [[], []]);\n return values.map((x, i) =>\n x instanceof Column ? Column.new(x.field.clone(fields[i]), x) :\n x instanceof Vector ? Column.new(fields[i], x) as Column :\n Column.new(fields[i], [] as Vector[]));\n};\n\n/** @ignore */\nexport const selectFieldArgs = (args: any[]) => _selectFieldArgs(args, [[], []]);\n/** @ignore */\nexport const selectChunkArgs = (Ctor: any, vals: any[]) => _selectChunkArgs(Ctor, vals, [], 0) as T[];\n/** @ignore */\nexport const selectVectorChildrenArgs = (Ctor: RecordBatchCtor, vals: any[]) => _selectVectorChildrenArgs(Ctor, vals, [], 0) as T[];\n/** @ignore */\nexport const selectColumnChildrenArgs = (Ctor: RecordBatchCtor, vals: any[]) => _selectColumnChildrenArgs(Ctor, vals, [], 0) as T[];\n\n/** @ignore */\nfunction _selectArgs(Ctor: any, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectArgs(Ctor, value, res, j).length;\n } else if (value instanceof Ctor) { res[j++] = value; }\n }\n return res;\n}\n\n/** @ignore */\nfunction _selectChunkArgs(Ctor: any, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectChunkArgs(Ctor, value, res, j).length;\n } else if (value instanceof Chunked) {\n j = _selectChunkArgs(Ctor, value.chunks, res, j).length;\n } else if (value instanceof Ctor) { res[j++] = value; }\n }\n return res;\n}\n\n/** @ignore */\nfunction _selectVectorChildrenArgs(Ctor: RecordBatchCtor, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectVectorChildrenArgs(Ctor, value, res, j).length;\n } else if (value instanceof Ctor) {\n j = _selectArgs(Vector, value.schema.fields.map((_, i) => value.getChildAt(i)!), res, j).length;\n } else if (value instanceof Vector) { res[j++] = value as T; }\n }\n return res;\n}\n\n/** @ignore */\nfunction _selectColumnChildrenArgs(Ctor: RecordBatchCtor, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectColumnChildrenArgs(Ctor, value, res, j).length;\n } else if (value instanceof Ctor) {\n j = _selectArgs(Column, value.schema.fields.map((f, i) => Column.new(f, value.getChildAt(i)!)), res, j).length;\n } else if (value instanceof Column) { res[j++] = value as T; }\n }\n return res;\n}\n\n/** @ignore */\nconst toKeysAndValues = (xs: [any[], any[]], [k, v]: [any, any], i: number) => (xs[0][i] = k, xs[1][i] = v, xs);\n\n/** @ignore */\nfunction _selectFieldArgs(vals: any[], ret: [Field[], Vector[]]): [Field[], (T[keyof T] | Vector)[]] {\n let keys: any[], n: number;\n switch (n = vals.length) {\n case 0: return ret;\n case 1:\n keys = ret[0];\n if (!(vals[0])) { return ret; }\n if (isArray(vals[0])) { return _selectFieldArgs(vals[0], ret); }\n if (!(vals[0] instanceof Data || vals[0] instanceof Vector || vals[0] instanceof DataType)) {\n [keys, vals] = Object.entries(vals[0]).reduce(toKeysAndValues, ret);\n }\n break;\n default:\n !isArray(keys = vals[n - 1])\n ? (vals = isArray(vals[0]) ? vals[0] : vals, keys = [])\n : (vals = isArray(vals[0]) ? vals[0] : vals.slice(0, n - 1));\n }\n\n let fieldIndex = -1;\n let valueIndex = -1;\n let idx = -1, len = vals.length;\n let field: number | string | Field;\n let val: Vector | Data;\n let [fields, values] = ret as [Field[], any[]];\n\n while (++idx < len) {\n val = vals[idx];\n if (val instanceof Column && (values[++valueIndex] = val)) {\n fields[++fieldIndex] = val.field.clone(keys[idx], val.type, true);\n } else {\n ({ [idx]: field = idx } = keys);\n if (val instanceof DataType && (values[++valueIndex] = val)) {\n fields[++fieldIndex] = Field.new(field, val as DataType, true) as Field;\n } else if (val && val.type && (values[++valueIndex] = val)) {\n val instanceof Data && (values[valueIndex] = val = Vector.new(val) as Vector);\n fields[++fieldIndex] = Field.new(field, val.type, true) as Field;\n }\n }\n }\n return ret;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Vector } from './vector';\nimport { DataType } from './type';\nimport { selectArgs } from './util/args';\nimport { selectFieldArgs } from './util/args';\nimport { instance as comparer } from './visitor/typecomparator';\n\ntype VectorMap = { [key: string]: Vector };\ntype Fields = (keyof T)[] | Field[];\ntype ChildData = T[keyof T][] | Data[] | Vector[];\n\nexport class Schema {\n\n public static from(children: T): Schema;\n public static from(children: T): Schema<{ [P in keyof T]: T[P]['type'] }>;\n public static from(children: ChildData, fields?: Fields): Schema;\n /** @nocollapse */\n public static from(...args: any[]) {\n return Schema.new(args[0], args[1]);\n }\n\n public static new(children: T): Schema;\n public static new(children: T): Schema<{ [P in keyof T]: T[P]['type'] }>;\n public static new(children: ChildData, fields?: Fields): Schema;\n /** @nocollapse */\n public static new(...args: any[]) {\n return new Schema(selectFieldArgs(args)[0]);\n }\n\n public readonly fields: Field[];\n public readonly metadata: Map;\n public readonly dictionaries: Map;\n\n constructor(fields: Field[] = [],\n metadata?: Map | null,\n dictionaries?: Map | null) {\n this.fields = (fields || []) as Field[];\n this.metadata = metadata || new Map();\n if (!dictionaries) {\n dictionaries = generateDictionaryMap(fields);\n }\n this.dictionaries = dictionaries;\n }\n public get [Symbol.toStringTag]() { return 'Schema'; }\n public toString() {\n return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;\n }\n\n public compareTo(other?: Schema | null): other is Schema {\n return comparer.compareSchemas(this, other);\n }\n\n public select(...columnNames: K[]) {\n const names = columnNames.reduce((xs, x) => (xs[x] = true) && xs, Object.create(null));\n return new Schema<{ [P in K]: T[P] }>(this.fields.filter((f) => names[f.name]), this.metadata);\n }\n public selectAt(...columnIndices: number[]) {\n return new Schema<{ [key: string]: K }>(columnIndices.map((i) => this.fields[i]).filter(Boolean), this.metadata);\n }\n\n public assign(schema: Schema): Schema;\n public assign(...fields: (Field | Field[])[]): Schema;\n public assign(...args: (Schema | Field | Field[])[]) {\n\n const other = args[0] instanceof Schema ? args[0] as Schema\n : new Schema(selectArgs>(Field, args));\n\n const curFields = [...this.fields] as Field[];\n const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);\n const newFields = other.fields.filter((f2) => {\n const i = curFields.findIndex((f) => f.name === f2.name);\n return ~i ? (curFields[i] = f2.clone({\n metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)\n })) && false : true;\n }) as Field[];\n\n const newDictionaries = generateDictionaryMap(newFields, new Map());\n\n return new Schema(\n [...curFields, ...newFields], metadata,\n new Map([...this.dictionaries, ...newDictionaries])\n );\n }\n}\n\nexport class Field {\n\n public static new(props: { name: string | number, type: T, nullable?: boolean, metadata?: Map | null }): Field;\n public static new(name: string | number | Field, type: T, nullable?: boolean, metadata?: Map | null): Field;\n /** @nocollapse */\n public static new(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n if (args[0] && typeof args[0] === 'object') {\n ({ name } = args[0]);\n (type === undefined) && (type = args[0].type);\n (nullable === undefined) && (nullable = args[0].nullable);\n (metadata === undefined) && (metadata = args[0].metadata);\n }\n return new Field(`${name}`, type, nullable, metadata);\n }\n\n public readonly type: T;\n public readonly name: string;\n public readonly nullable: boolean;\n public readonly metadata: Map;\n\n constructor(name: string, type: T, nullable = false, metadata?: Map | null) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata || new Map();\n }\n\n public get typeId() { return this.type.typeId; }\n public get [Symbol.toStringTag]() { return 'Field'; }\n public toString() { return `${this.name}: ${this.type}`; }\n public compareTo(other?: Field | null): other is Field {\n return comparer.compareField(this, other);\n }\n public clone(props: { name?: string | number, type?: R, nullable?: boolean, metadata?: Map | null }): Field;\n public clone(name?: string | number | Field, type?: R, nullable?: boolean, metadata?: Map | null): Field;\n public clone(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n (!args[0] || typeof args[0] !== 'object')\n ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)\n : ({name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata} = args[0]);\n return Field.new(name, type, nullable, metadata);\n }\n}\n\n/** @ignore */\nfunction mergeMaps(m1?: Map | null, m2?: Map | null): Map {\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n\n/** @ignore */\nfunction generateDictionaryMap(fields: Field[], dictionaries = new Map()): Map {\n\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n dictionaries.set(type.id, type.dictionary);\n } else if (dictionaries.get(type.id) !== type.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n generateDictionaryMap(type.children, dictionaries);\n }\n }\n\n return dictionaries;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Schema.prototype as any).fields = null;\n(Schema.prototype as any).metadata = null;\n(Schema.prototype as any).dictionaries = null;\n\n(Field.prototype as any).type = null;\n(Field.prototype as any).name = null;\n(Field.prototype as any).nullable = null;\n(Field.prototype as any).metadata = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Run } from './run';\nimport { Field } from '../schema';\nimport { DataType, List } from '../type';\nimport { OffsetsBufferBuilder } from './buffer';\nimport { Builder, BuilderOptions, VariableWidthBuilder } from '../builder';\n\n/** @ignore */\nexport class ListBuilder extends VariableWidthBuilder, TNull> {\n protected _run = new Run();\n protected _offsets: OffsetsBufferBuilder;\n constructor(opts: BuilderOptions, TNull>) {\n super(opts);\n this._offsets = new OffsetsBufferBuilder();\n }\n public addChild(child: Builder, name = '0') {\n if (this.numChildren > 0) {\n throw new Error('ListBuilder can only have one child.');\n }\n this.children[this.numChildren] = child;\n this.type = new List(new Field(name, child.type, true));\n return this.numChildren - 1;\n }\n public clear() {\n this._run.clear();\n return super.clear();\n }\n protected _flushPending(pending: Map) {\n const run = this._run;\n const offsets = this._offsets;\n const setValue = this._setValue;\n let index = 0, value: Uint8Array | undefined;\n for ([index, value] of pending) {\n if (value === undefined) {\n offsets.set(index, 0);\n } else {\n offsets.set(index, value.length);\n setValue(this, index, run.bind(value));\n }\n }\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Run } from './run';\nimport { Field } from '../schema';\nimport { Builder } from '../builder';\nimport { DataType, FixedSizeList } from '../type';\n\n/** @ignore */\nexport class FixedSizeListBuilder extends Builder, TNull> {\n protected _run = new Run();\n public setValue(index: number, value: T['TValue']) {\n super.setValue(index, this._run.bind(value));\n }\n public addChild(child: Builder, name = '0') {\n if (this.numChildren > 0) {\n throw new Error('FixedSizeListBuilder can only have one child.');\n }\n const childIndex = this.children.push(child);\n this.type = new FixedSizeList(this.type.listSize, new Field(name, child.type, true));\n return childIndex;\n }\n public clear() {\n this._run.clear();\n return super.clear();\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from '../schema';\nimport { DataType, Map_, Struct } from '../type';\nimport { Builder, VariableWidthBuilder } from '../builder';\n\n/** @ignore */ type MapValue = Map_['TValue'];\n/** @ignore */ type MapValues = Map | undefined>;\n/** @ignore */ type MapValueExt = MapValue | { [key: string]: V } | { [key: number]: V } ;\n\n/** @ignore */\nexport class MapBuilder extends VariableWidthBuilder, TNull> {\n\n protected _pending: MapValues | undefined;\n public set(index: number, value: MapValueExt | TNull) {\n return super.set(index, value as MapValue | TNull);\n }\n\n public setValue(index: number, value: MapValueExt) {\n value = value instanceof Map ? value : new Map(Object.entries(value));\n const pending = this._pending || (this._pending = new Map() as MapValues);\n const current = pending.get(index);\n current && (this._pendingLength -= current.size);\n this._pendingLength += value.size;\n pending.set(index, value);\n }\n\n public addChild(child: Builder>, name = `${this.numChildren}`) {\n if (this.numChildren > 0) {\n throw new Error('ListBuilder can only have one child.');\n }\n this.children[this.numChildren] = child;\n this.type = new Map_(new Field(name, child.type, true), this.type.keysSorted);\n return this.numChildren - 1;\n }\n\n protected _flushPending(pending: MapValues) {\n const offsets = this._offsets;\n const setValue = this._setValue;\n pending.forEach((value, index) => {\n if (value === undefined) {\n offsets.set(index, 0);\n } else {\n offsets.set(index, value.size);\n setValue(this, index, value);\n }\n });\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from '../schema';\nimport { Builder } from '../builder';\nimport { DataType, Struct } from '../type';\n\n/** @ignore */\nexport class StructBuilder extends Builder, TNull> {\n public addChild(child: Builder, name = `${this.numChildren}`) {\n const childIndex = this.children.push(child);\n this.type = new Struct([...this.type.children, new Field(name, child.type, true)]);\n return childIndex;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from '../schema';\nimport { DataBufferBuilder } from './buffer';\nimport { Builder, BuilderOptions } from '../builder';\nimport { Union, SparseUnion, DenseUnion } from '../type';\n\nexport interface UnionBuilderOptions extends BuilderOptions {\n valueToChildTypeId?: (builder: UnionBuilder, value: any, offset: number) => number;\n}\n\n/** @ignore */\nexport abstract class UnionBuilder extends Builder {\n\n protected _typeIds: DataBufferBuilder;\n\n constructor(options: UnionBuilderOptions) {\n super(options);\n this._typeIds = new DataBufferBuilder(new Int8Array(0), 1);\n if (typeof options['valueToChildTypeId'] === 'function') {\n this._valueToChildTypeId = options['valueToChildTypeId'];\n }\n }\n\n public get typeIdToChildIndex() { return this.type.typeIdToChildIndex; }\n\n public append(value: T['TValue'] | TNull, childTypeId?: number) {\n return this.set(this.length, value, childTypeId);\n }\n\n public set(index: number, value: T['TValue'] | TNull, childTypeId?: number) {\n if (childTypeId === undefined) {\n childTypeId = this._valueToChildTypeId(this, value, index);\n }\n if (this.setValid(index, this.isValid(value))) {\n this.setValue(index, value, childTypeId);\n }\n return this;\n }\n\n // @ts-ignore\n public setValue(index: number, value: T['TValue'], childTypeId?: number) {\n this._typeIds.set(index, childTypeId!);\n super.setValue(index, value);\n }\n\n // @ts-ignore\n public addChild(child: Builder, name = `${this.children.length}`) {\n const childTypeId = this.children.push(child);\n const { type: { children, mode, typeIds } } = this;\n const fields = [...children, new Field(name, child.type)];\n this.type = new Union(mode, [...typeIds, childTypeId], fields);\n return childTypeId;\n }\n\n /** @ignore */\n // @ts-ignore\n protected _valueToChildTypeId(builder: UnionBuilder, value: any, offset: number): number {\n throw new Error(`Cannot map UnionBuilder value to child typeId. \\\nPass the \\`childTypeId\\` as the second argument to unionBuilder.append(), \\\nor supply a \\`valueToChildTypeId\\` function as part of the UnionBuilder constructor options.`);\n }\n}\n\n/** @ignore */\nexport class SparseUnionBuilder extends UnionBuilder {}\n/** @ignore */\nexport class DenseUnionBuilder extends UnionBuilder {\n\n protected _offsets: DataBufferBuilder;\n\n constructor(options: UnionBuilderOptions) {\n super(options);\n this._offsets = new DataBufferBuilder(new Int32Array(0));\n }\n\n /** @ignore */\n public setValue(index: number, value: T['TValue'], childTypeId?: number) {\n const childIndex = this.type.typeIdToChildIndex[childTypeId!];\n this._offsets.set(index, this.getChildAt(childIndex)!.length);\n return super.setValue(index, value, childTypeId);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Field } from '../schema';\nimport { Vector } from '../vector';\nimport { Visitor } from '../visitor';\nimport { encodeUtf8 } from '../util/utf8';\nimport { VectorType } from '../interfaces';\nimport { float64ToUint16 } from '../util/math';\nimport { toArrayBufferView } from '../util/buffer';\nimport { Type, UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface SetVisitor extends Visitor {\n visit(node: T, index: number, value: T['TValue']): void;\n visitMany(nodes: T[], indices: number[], values: T['TValue'][]): void[];\n getVisitFn(node: T): (vector: VectorType, index: number, value: VectorType['TValue']) => void;\n getVisitFn(node: VectorType | Data | T): (vector: VectorType, index: number, value: VectorType['TValue']) => void;\n visitNull (vector: VectorType, index: number, value: T['TValue']): void;\n visitBool (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt8 (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt16 (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt32 (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt64 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint8 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint16 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint32 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint64 (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat16 (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat32 (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat64 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUtf8 (vector: VectorType, index: number, value: T['TValue']): void;\n visitBinary (vector: VectorType, index: number, value: T['TValue']): void;\n visitFixedSizeBinary (vector: VectorType, index: number, value: T['TValue']): void;\n visitDate (vector: VectorType, index: number, value: T['TValue']): void;\n visitDateDay (vector: VectorType, index: number, value: T['TValue']): void;\n visitDateMillisecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestamp (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampSecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampMillisecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampMicrosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampNanosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTime (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeSecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeMillisecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeMicrosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeNanosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitDecimal (vector: VectorType, index: number, value: T['TValue']): void;\n visitList (vector: VectorType, index: number, value: T['TValue']): void;\n visitStruct (vector: VectorType, index: number, value: T['TValue']): void;\n visitUnion (vector: VectorType, index: number, value: T['TValue']): void;\n visitDenseUnion (vector: VectorType, index: number, value: T['TValue']): void;\n visitSparseUnion (vector: VectorType, index: number, value: T['TValue']): void;\n visitDictionary (vector: VectorType, index: number, value: T['TValue']): void;\n visitInterval (vector: VectorType, index: number, value: T['TValue']): void;\n visitIntervalDayTime (vector: VectorType, index: number, value: T['TValue']): void;\n visitIntervalYearMonth (vector: VectorType, index: number, value: T['TValue']): void;\n visitFixedSizeList (vector: VectorType, index: number, value: T['TValue']): void;\n visitMap (vector: VectorType, index: number, value: T['TValue']): void;\n}\n\n/** @ignore */\nexport class SetVisitor extends Visitor {}\n\n/** @ignore */\nconst setEpochMsToDays = (data: Int32Array, index: number, epochMs: number) => { data[index] = (epochMs / 86400000) | 0; };\n/** @ignore */\nconst setEpochMsToMillisecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = (epochMs % 4294967296) | 0;\n data[index + 1] = (epochMs / 4294967296) | 0;\n};\n/** @ignore */\nconst setEpochMsToMicrosecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = ((epochMs * 1000) % 4294967296) | 0;\n data[index + 1] = ((epochMs * 1000) / 4294967296) | 0;\n};\n/** @ignore */\nconst setEpochMsToNanosecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = ((epochMs * 1000000) % 4294967296) | 0;\n data[index + 1] = ((epochMs * 1000000) / 4294967296) | 0;\n};\n\n/** @ignore */\nconst setVariableWidthBytes = (values: Uint8Array, valueOffsets: Int32Array, index: number, value: Uint8Array) => {\n const { [index]: x, [index + 1]: y } = valueOffsets;\n if (x != null && y != null) {\n values.set(value.subarray(0, y - x), x);\n }\n};\n\n/** @ignore */\nconst setBool = ({ offset, values }: VectorType, index: number, val: boolean) => {\n const idx = offset + index;\n val ? (values[idx >> 3] |= (1 << (idx % 8))) // true\n : (values[idx >> 3] &= ~(1 << (idx % 8))); // false\n\n};\n\n/** @ignore */ type Numeric1X = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32 | Float32 | Float64;\n/** @ignore */ type Numeric2X = Int64 | Uint64;\n\n/** @ignore */\nconst setDateDay = ({ values }: VectorType, index: number, value: T['TValue']): void => { setEpochMsToDays(values, index, value.valueOf()); };\n/** @ignore */\nconst setDateMillisecond = ({ values }: VectorType, index: number, value: T['TValue']): void => { setEpochMsToMillisecondsLong(values, index * 2, value.valueOf()); };\n/** @ignore */\nconst setNumeric = ({ stride, values }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = value; };\n/** @ignore */\nconst setFloat16 = ({ stride, values }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = float64ToUint16(value); };\n/** @ignore */\nconst setNumericX2 = (vector: VectorType, index: number, value: T['TValue']): void => {\n switch (typeof value) {\n case 'bigint': vector.values64[index] = value; break;\n case 'number': vector.values[index * vector.stride] = value; break;\n default:\n const val = value as T['TArray'];\n const { stride, ArrayType } = vector;\n const long = toArrayBufferView(ArrayType, val);\n vector.values.set(long.subarray(0, stride), stride * index);\n }\n};\n/** @ignore */\nconst setFixedSizeBinary = ({ stride, values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, stride), stride * index); };\n\n/** @ignore */\nconst setBinary = ({ values, valueOffsets }: VectorType, index: number, value: T['TValue']) => setVariableWidthBytes(values, valueOffsets, index, value);\n/** @ignore */\nconst setUtf8 = ({ values, valueOffsets }: VectorType, index: number, value: T['TValue']) => {\n setVariableWidthBytes(values, valueOffsets, index, encodeUtf8(value));\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setInt = (vector: VectorType, index: number, value: T['TValue']): void => {\n vector.type.bitWidth < 64\n ? setNumeric(vector as VectorType, index, value as Numeric1X['TValue'])\n : setNumericX2(vector as VectorType, index, value as Numeric2X['TValue']);\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setFloat = (vector: VectorType, index: number, value: T['TValue']): void => {\n vector.type.precision !== Precision.HALF\n ? setNumeric(vector as VectorType, index, value)\n : setFloat16(vector as VectorType, index, value);\n};\n\n/* istanbul ignore next */\nconst setDate = (vector: VectorType, index: number, value: T['TValue']): void => {\n vector.type.unit === DateUnit.DAY\n ? setDateDay(vector as VectorType, index, value)\n : setDateMillisecond(vector as VectorType, index, value);\n};\n\n/** @ignore */\nconst setTimestampSecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToMillisecondsLong(values, index * 2, value / 1000);\n/** @ignore */\nconst setTimestampMillisecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToMillisecondsLong(values, index * 2, value);\n/** @ignore */\nconst setTimestampMicrosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToMicrosecondsLong(values, index * 2, value);\n/** @ignore */\nconst setTimestampNanosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToNanosecondsLong(values, index * 2, value);\n/* istanbul ignore next */\n/** @ignore */\nconst setTimestamp = (vector: VectorType, index: number, value: T['TValue']): void => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return setTimestampSecond(vector as VectorType, index, value);\n case TimeUnit.MILLISECOND: return setTimestampMillisecond(vector as VectorType, index, value);\n case TimeUnit.MICROSECOND: return setTimestampMicrosecond(vector as VectorType, index, value);\n case TimeUnit.NANOSECOND: return setTimestampNanosecond(vector as VectorType, index, value);\n }\n};\n\n/** @ignore */\nconst setTimeSecond = ({ values, stride }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = value; };\n/** @ignore */\nconst setTimeMillisecond = ({ values, stride }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = value; };\n/** @ignore */\nconst setTimeMicrosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/** @ignore */\nconst setTimeNanosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/* istanbul ignore next */\n/** @ignore */\nconst setTime = (vector: VectorType, index: number, value: T['TValue']): void => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return setTimeSecond(vector as VectorType, index, value as TimeSecond['TValue']);\n case TimeUnit.MILLISECOND: return setTimeMillisecond(vector as VectorType, index, value as TimeMillisecond['TValue']);\n case TimeUnit.MICROSECOND: return setTimeMicrosecond(vector as VectorType, index, value as TimeMicrosecond['TValue']);\n case TimeUnit.NANOSECOND: return setTimeNanosecond(vector as VectorType, index, value as TimeNanosecond['TValue']);\n }\n};\n\n/** @ignore */\nconst setDecimal = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 4), 4 * index); };\n\n/** @ignore */\nconst setList = (vector: VectorType, index: number, value: T['TValue']): void => {\n const values = vector.getChildAt(0)!, valueOffsets = vector.valueOffsets;\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n values.set(itr++, value.get(++idx));\n }\n};\n\n/** @ignore */\nconst setMap = (vector: VectorType, index: number, value: T['TValue']) => {\n const values = vector.getChildAt(0)!, valueOffsets = vector.valueOffsets;\n const entries = value instanceof Map ? [...value] : Object.entries(value);\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n values.set(itr++, entries[++idx]);\n }\n};\n\n/** @ignore */ const _setStructArrayValue = (o: number, v: any[]) => (c: Vector | null, _: Field, i: number) => c && c.set(o, v[i]);\n/** @ignore */ const _setStructVectorValue = (o: number, v: Vector) => (c: Vector | null, _: Field, i: number) => c && c.set(o, v.get(i));\n/** @ignore */ const _setStructMapValue = (o: number, v: Map) => (c: Vector | null, f: Field, _: number) => c && c.set(o, v.get(f.name));\n/** @ignore */ const _setStructObjectValue = (o: number, v: { [key: string]: any }) => (c: Vector | null, f: Field, _: number) => c && c.set(o, v[f.name]);\n/** @ignore */\nconst setStruct = (vector: VectorType, index: number, value: T['TValue']) => {\n\n const setValue = value instanceof Map ? _setStructMapValue(index, value) :\n value instanceof Vector ? _setStructVectorValue(index, value) :\n Array.isArray(value) ? _setStructArrayValue(index, value) :\n _setStructObjectValue(index, value) ;\n\n vector.type.children.forEach((f: Field, i: number) => setValue(vector.getChildAt(i), f, i));\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setUnion = <\n V extends VectorType | VectorType | VectorType\n>(vector: V, index: number, value: V['TValue']) => {\n vector.type.mode === UnionMode.Dense ?\n setDenseUnion(vector as VectorType, index, value) :\n setSparseUnion(vector as VectorType, index, value);\n};\n\n/** @ignore */\nconst setDenseUnion = (vector: VectorType, index: number, value: T['TValue']): void => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n child && child.set(vector.valueOffsets[index], value);\n};\n\n/** @ignore */\nconst setSparseUnion = (vector: VectorType, index: number, value: T['TValue']): void => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n child && child.set(index, value);\n};\n\n/** @ignore */\nconst setDictionary = (vector: VectorType, index: number, value: T['TValue']): void => {\n const key = vector.getKey(index);\n if (key !== null) {\n vector.setValue(key, value);\n }\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setIntervalValue = (vector: VectorType, index: number, value: T['TValue']): void => {\n (vector.type.unit === IntervalUnit.DAY_TIME)\n ? setIntervalDayTime(vector as VectorType, index, value)\n : setIntervalYearMonth(vector as VectorType, index, value);\n};\n\n/** @ignore */\nconst setIntervalDayTime = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/** @ignore */\nconst setIntervalYearMonth = ({ values }: VectorType, index: number, value: T['TValue']): void => { values[index] = (value[0] * 12) + (value[1] % 12); };\n\n/** @ignore */\nconst setFixedSizeList = (vector: VectorType, index: number, value: T['TValue']): void => {\n const child = vector.getChildAt(0)!, { stride } = vector;\n for (let idx = -1, offset = index * stride; ++idx < stride;) {\n child.set(offset + idx, value.get(idx));\n }\n};\n\nSetVisitor.prototype.visitBool = setBool;\nSetVisitor.prototype.visitInt = setInt;\nSetVisitor.prototype.visitInt8 = setNumeric;\nSetVisitor.prototype.visitInt16 = setNumeric;\nSetVisitor.prototype.visitInt32 = setNumeric;\nSetVisitor.prototype.visitInt64 = setNumericX2;\nSetVisitor.prototype.visitUint8 = setNumeric;\nSetVisitor.prototype.visitUint16 = setNumeric;\nSetVisitor.prototype.visitUint32 = setNumeric;\nSetVisitor.prototype.visitUint64 = setNumericX2;\nSetVisitor.prototype.visitFloat = setFloat;\nSetVisitor.prototype.visitFloat16 = setFloat16;\nSetVisitor.prototype.visitFloat32 = setNumeric;\nSetVisitor.prototype.visitFloat64 = setNumeric;\nSetVisitor.prototype.visitUtf8 = setUtf8;\nSetVisitor.prototype.visitBinary = setBinary;\nSetVisitor.prototype.visitFixedSizeBinary = setFixedSizeBinary;\nSetVisitor.prototype.visitDate = setDate;\nSetVisitor.prototype.visitDateDay = setDateDay;\nSetVisitor.prototype.visitDateMillisecond = setDateMillisecond;\nSetVisitor.prototype.visitTimestamp = setTimestamp;\nSetVisitor.prototype.visitTimestampSecond = setTimestampSecond;\nSetVisitor.prototype.visitTimestampMillisecond = setTimestampMillisecond;\nSetVisitor.prototype.visitTimestampMicrosecond = setTimestampMicrosecond;\nSetVisitor.prototype.visitTimestampNanosecond = setTimestampNanosecond;\nSetVisitor.prototype.visitTime = setTime;\nSetVisitor.prototype.visitTimeSecond = setTimeSecond;\nSetVisitor.prototype.visitTimeMillisecond = setTimeMillisecond;\nSetVisitor.prototype.visitTimeMicrosecond = setTimeMicrosecond;\nSetVisitor.prototype.visitTimeNanosecond = setTimeNanosecond;\nSetVisitor.prototype.visitDecimal = setDecimal;\nSetVisitor.prototype.visitList = setList;\nSetVisitor.prototype.visitStruct = setStruct;\nSetVisitor.prototype.visitUnion = setUnion;\nSetVisitor.prototype.visitDenseUnion = setDenseUnion;\nSetVisitor.prototype.visitSparseUnion = setSparseUnion;\nSetVisitor.prototype.visitDictionary = setDictionary;\nSetVisitor.prototype.visitInterval = setIntervalValue;\nSetVisitor.prototype.visitIntervalDayTime = setIntervalDayTime;\nSetVisitor.prototype.visitIntervalYearMonth = setIntervalYearMonth;\nSetVisitor.prototype.visitFixedSizeList = setFixedSizeList;\nSetVisitor.prototype.visitMap = setMap;\n\n/** @ignore */\nexport const instance = new SetVisitor();\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { flatbuffers } from 'flatbuffers';\nimport * as NS7624605610262437867 from './Schema';\n/**\n * ----------------------------------------------------------------------\n * Arrow File metadata\n *\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Footer {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Footer\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Footer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Footer= obj\n * @returns Footer\n */\n static getRootAsFooter(bb: flatbuffers.ByteBuffer, obj?: Footer): Footer {\n return (obj || new Footer).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.MetadataVersion\n */\n version(): NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1;\n }\n\n /**\n * @param org.apache.arrow.flatbuf.Schema= obj\n * @returns org.apache.arrow.flatbuf.Schema|null\n */\n schema(obj?: NS7624605610262437867.org.apache.arrow.flatbuf.Schema): NS7624605610262437867.org.apache.arrow.flatbuf.Schema | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new NS7624605610262437867.org.apache.arrow.flatbuf.Schema).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.Block= obj\n * @returns org.apache.arrow.flatbuf.Block\n */\n dictionaries(index: number, obj?: org.apache.arrow.flatbuf.Block): org.apache.arrow.flatbuf.Block | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new org.apache.arrow.flatbuf.Block).__init(this.bb!.__vector(this.bb_pos + offset) + index * 24, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n dictionariesLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.Block= obj\n * @returns org.apache.arrow.flatbuf.Block\n */\n recordBatches(index: number, obj?: org.apache.arrow.flatbuf.Block): org.apache.arrow.flatbuf.Block | null {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new org.apache.arrow.flatbuf.Block).__init(this.bb!.__vector(this.bb_pos + offset) + index * 24, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n recordBatchesLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFooter(builder: flatbuffers.Builder) {\n builder.startObject(4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.MetadataVersion version\n */\n static addVersion(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion) {\n builder.addFieldInt16(0, version, NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset schemaOffset\n */\n static addSchema(builder: flatbuffers.Builder, schemaOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, schemaOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset dictionariesOffset\n */\n static addDictionaries(builder: flatbuffers.Builder, dictionariesOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, dictionariesOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startDictionariesVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(24, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset recordBatchesOffset\n */\n static addRecordBatches(builder: flatbuffers.Builder, recordBatchesOffset: flatbuffers.Offset) {\n builder.addFieldOffset(3, recordBatchesOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startRecordBatchesVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(24, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFooter(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset offset\n */\n static finishFooterBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset) {\n builder.finish(offset);\n }\n\n static createFooter(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion, schemaOffset: flatbuffers.Offset, dictionariesOffset: flatbuffers.Offset, recordBatchesOffset: flatbuffers.Offset): flatbuffers.Offset {\n Footer.startFooter(builder);\n Footer.addVersion(builder, version);\n Footer.addSchema(builder, schemaOffset);\n Footer.addDictionaries(builder, dictionariesOffset);\n Footer.addRecordBatches(builder, recordBatchesOffset);\n return Footer.endFooter(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Block {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Block\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Block {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * Index to the start of the RecordBlock (note this is past the Message header)\n *\n * @returns flatbuffers.Long\n */\n offset(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n }\n\n /**\n * Length of the metadata\n *\n * @returns number\n */\n metaDataLength(): number {\n return this.bb!.readInt32(this.bb_pos + 8);\n }\n\n /**\n * Length of the data (this is aligned so there can be a gap between this and\n * the metatdata).\n *\n * @returns flatbuffers.Long\n */\n bodyLength(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 16);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long offset\n * @param number metaDataLength\n * @param flatbuffers.Long bodyLength\n * @returns flatbuffers.Offset\n */\n static createBlock(builder: flatbuffers.Builder, offset: flatbuffers.Long, metaDataLength: number, bodyLength: flatbuffers.Long): flatbuffers.Offset {\n builder.prep(8, 24);\n builder.writeInt64(bodyLength);\n builder.pad(4);\n builder.writeInt32(metaDataLength);\n builder.writeInt64(offset);\n return builder.offset();\n }\n\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { DataType } from '../type';\nimport { Visitor } from '../visitor';\nimport { VectorType, BuilderCtor } from '../interfaces';\nimport { BinaryBuilder } from '../builder/binary';\nimport { BoolBuilder } from '../builder/bool';\nimport { DateBuilder, DateDayBuilder, DateMillisecondBuilder } from '../builder/date';\nimport { DecimalBuilder } from '../builder/decimal';\nimport { DictionaryBuilder } from '../builder/dictionary';\nimport { FixedSizeBinaryBuilder } from '../builder/fixedsizebinary';\nimport { FixedSizeListBuilder } from '../builder/fixedsizelist';\nimport { FloatBuilder, Float16Builder, Float32Builder, Float64Builder } from '../builder/float';\nimport { IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder } from '../builder/interval';\nimport { IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder } from '../builder/int';\nimport { ListBuilder } from '../builder/list';\nimport { MapBuilder } from '../builder/map';\nimport { NullBuilder } from '../builder/null';\nimport { StructBuilder } from '../builder/struct';\nimport { TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder } from '../builder/timestamp';\nimport { TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder } from '../builder/time';\nimport { UnionBuilder, DenseUnionBuilder, SparseUnionBuilder } from '../builder/union';\nimport { Utf8Builder } from '../builder/utf8';\n\n/** @ignore */\nexport interface GetBuilderCtor extends Visitor {\n visit(type: T): BuilderCtor;\n visitMany(types: T[]): BuilderCtor[];\n getVisitFn(type: T): () => BuilderCtor;\n getVisitFn(node: VectorType | Data | T): () => BuilderCtor;\n}\n\n/** @ignore */\nexport class GetBuilderCtor extends Visitor {\n public visitNull () { return NullBuilder; }\n public visitBool () { return BoolBuilder; }\n public visitInt () { return IntBuilder; }\n public visitInt8 () { return Int8Builder; }\n public visitInt16 () { return Int16Builder; }\n public visitInt32 () { return Int32Builder; }\n public visitInt64 () { return Int64Builder; }\n public visitUint8 () { return Uint8Builder; }\n public visitUint16 () { return Uint16Builder; }\n public visitUint32 () { return Uint32Builder; }\n public visitUint64 () { return Uint64Builder; }\n public visitFloat () { return FloatBuilder; }\n public visitFloat16 () { return Float16Builder; }\n public visitFloat32 () { return Float32Builder; }\n public visitFloat64 () { return Float64Builder; }\n public visitUtf8 () { return Utf8Builder; }\n public visitBinary () { return BinaryBuilder; }\n public visitFixedSizeBinary () { return FixedSizeBinaryBuilder; }\n public visitDate () { return DateBuilder; }\n public visitDateDay () { return DateDayBuilder; }\n public visitDateMillisecond () { return DateMillisecondBuilder; }\n public visitTimestamp () { return TimestampBuilder; }\n public visitTimestampSecond () { return TimestampSecondBuilder; }\n public visitTimestampMillisecond () { return TimestampMillisecondBuilder; }\n public visitTimestampMicrosecond () { return TimestampMicrosecondBuilder; }\n public visitTimestampNanosecond () { return TimestampNanosecondBuilder; }\n public visitTime () { return TimeBuilder; }\n public visitTimeSecond () { return TimeSecondBuilder; }\n public visitTimeMillisecond () { return TimeMillisecondBuilder; }\n public visitTimeMicrosecond () { return TimeMicrosecondBuilder; }\n public visitTimeNanosecond () { return TimeNanosecondBuilder; }\n public visitDecimal () { return DecimalBuilder; }\n public visitList () { return ListBuilder; }\n public visitStruct () { return StructBuilder; }\n public visitUnion () { return UnionBuilder; }\n public visitDenseUnion () { return DenseUnionBuilder; }\n public visitSparseUnion () { return SparseUnionBuilder; }\n public visitDictionary () { return DictionaryBuilder; }\n public visitInterval () { return IntervalBuilder; }\n public visitIntervalDayTime () { return IntervalDayTimeBuilder; }\n public visitIntervalYearMonth () { return IntervalYearMonthBuilder; }\n public visitFixedSizeList () { return FixedSizeListBuilder; }\n public visitMap () { return MapBuilder; }\n}\n\n/** @ignore */\nexport const instance = new GetBuilderCtor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport { Builder, BuilderOptions } from '../builder';\nexport { BoolBuilder } from './bool';\nexport { NullBuilder } from './null';\nexport { DateBuilder, DateDayBuilder, DateMillisecondBuilder } from './date';\nexport { DecimalBuilder } from './decimal';\nexport { DictionaryBuilder } from './dictionary';\nexport { FixedSizeBinaryBuilder } from './fixedsizebinary';\nexport { FloatBuilder, Float16Builder, Float32Builder, Float64Builder } from './float';\nexport { IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder } from './int';\nexport { TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder } from './time';\nexport { TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder } from './timestamp';\nexport { IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder } from './interval';\nexport { Utf8Builder } from './utf8';\nexport { BinaryBuilder } from './binary';\nexport { ListBuilder } from './list';\nexport { FixedSizeListBuilder } from './fixedsizelist';\nexport { MapBuilder } from './map';\nexport { StructBuilder } from './struct';\nexport { UnionBuilder, SparseUnionBuilder, DenseUnionBuilder } from './union';\n\nimport { Type } from '../enum';\nimport { Field } from '../schema';\nimport { DataType } from '../type';\nimport { Utf8Builder } from './utf8';\nimport { BuilderType as B } from '../interfaces';\nimport { Builder, BuilderOptions } from '../builder';\nimport { instance as setVisitor } from '../visitor/set';\nimport { instance as getBuilderConstructor } from '../visitor/builderctor';\n\n/** @nocollapse */\nBuilder.new = newBuilder;\n\nfunction newBuilder(options: BuilderOptions): B {\n\n const type = options.type;\n const builder = new (getBuilderConstructor.getVisitFn(type)())(options) as Builder;\n\n if (type.children && type.children.length > 0) {\n\n const children = options['children'] || [] as BuilderOptions[];\n const defaultOptions = { 'nullValues': options['nullValues'] };\n const getChildOptions = Array.isArray(children)\n ? ((_: Field, i: number) => children[i] || defaultOptions)\n : (({ name }: Field) => children[name] || defaultOptions);\n\n type.children.forEach((field, index) => {\n const { type } = field;\n const opts = getChildOptions(field, index);\n builder.children.push(newBuilder({ ...opts, type }));\n });\n }\n\n return builder as B;\n}\n\n(Object.keys(Type) as any[])\n .map((T: any) => Type[T] as any)\n .filter((T: any): T is Type => typeof T === 'number' && T !== Type.NONE)\n .forEach((typeId) => {\n const BuilderCtor = getBuilderConstructor.visit(typeId);\n BuilderCtor.prototype._setValue = setVisitor.getVisitFn(typeId);\n });\n\n(Utf8Builder.prototype as any)._setValue = setVisitor.visitBinary;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* tslint:disable:class-name */\n\nimport * as File_ from '../../fb/File';\nimport { flatbuffers } from 'flatbuffers';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport _Block = File_.org.apache.arrow.flatbuf.Block;\nimport _Footer = File_.org.apache.arrow.flatbuf.Footer;\n\nimport { Schema } from '../../schema';\nimport { MetadataVersion } from '../../enum';\nimport { toUint8Array } from '../../util/buffer';\nimport { ArrayBufferViewInput } from '../../util/buffer';\n\n/** @ignore */\nclass Footer_ {\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const footer = _Footer.getRootAsFooter(buf);\n const schema = Schema.decode(footer.schema()!);\n return new OffHeapFooter(schema, footer) as Footer_;\n }\n\n /** @nocollapse */\n public static encode(footer: Footer_) {\n\n const b: Builder = new Builder();\n const schemaOffset = Schema.encode(b, footer.schema);\n\n _Footer.startRecordBatchesVector(b, footer.numRecordBatches);\n [...footer.recordBatches()].slice().reverse().forEach((rb) => FileBlock.encode(b, rb));\n const recordBatchesOffset = b.endVector();\n\n _Footer.startDictionariesVector(b, footer.numDictionaries);\n [...footer.dictionaryBatches()].slice().reverse().forEach((db) => FileBlock.encode(b, db));\n\n const dictionaryBatchesOffset = b.endVector();\n\n _Footer.startFooter(b);\n _Footer.addSchema(b, schemaOffset);\n _Footer.addVersion(b, MetadataVersion.V4);\n _Footer.addRecordBatches(b, recordBatchesOffset);\n _Footer.addDictionaries(b, dictionaryBatchesOffset);\n _Footer.finishFooterBuffer(b, _Footer.endFooter(b));\n\n return b.asUint8Array();\n }\n\n // @ts-ignore\n protected _recordBatches: FileBlock[];\n // @ts-ignore\n protected _dictionaryBatches: FileBlock[];\n public get numRecordBatches() { return this._recordBatches.length; }\n public get numDictionaries() { return this._dictionaryBatches.length; }\n\n constructor(public schema: Schema,\n public version: MetadataVersion = MetadataVersion.V4,\n recordBatches?: FileBlock[], dictionaryBatches?: FileBlock[]) {\n recordBatches && (this._recordBatches = recordBatches);\n dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);\n }\n\n public *recordBatches(): Iterable {\n for (let block, i = -1, n = this.numRecordBatches; ++i < n;) {\n if (block = this.getRecordBatch(i)) { yield block; }\n }\n }\n\n public *dictionaryBatches(): Iterable {\n for (let block, i = -1, n = this.numDictionaries; ++i < n;) {\n if (block = this.getDictionaryBatch(i)) { yield block; }\n }\n }\n\n public getRecordBatch(index: number) {\n return index >= 0\n && index < this.numRecordBatches\n && this._recordBatches[index] || null;\n }\n\n public getDictionaryBatch(index: number) {\n return index >= 0\n && index < this.numDictionaries\n && this._dictionaryBatches[index] || null;\n }\n}\n\nexport { Footer_ as Footer };\n\n/** @ignore */\nclass OffHeapFooter extends Footer_ {\n\n public get numRecordBatches() { return this._footer.recordBatchesLength(); }\n public get numDictionaries() { return this._footer.dictionariesLength(); }\n\n constructor(schema: Schema, protected _footer: _Footer) {\n super(schema, _footer.version());\n }\n\n public getRecordBatch(index: number) {\n if (index >= 0 && index < this.numRecordBatches) {\n const fileBlock = this._footer.recordBatches(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n\n public getDictionaryBatch(index: number) {\n if (index >= 0 && index < this.numDictionaries) {\n const fileBlock = this._footer.dictionaries(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n}\n\n/** @ignore */\nexport class FileBlock {\n\n /** @nocollapse */\n public static decode(block: _Block) {\n return new FileBlock(block.metaDataLength(), block.bodyLength(), block.offset());\n }\n\n /** @nocollapse */\n public static encode(b: Builder, fileBlock: FileBlock) {\n const { metaDataLength } = fileBlock;\n const offset = new Long(fileBlock.offset, 0);\n const bodyLength = new Long(fileBlock.bodyLength, 0);\n return _Block.createBlock(b, offset, metaDataLength, bodyLength);\n }\n\n public offset: number;\n public bodyLength: number;\n public metaDataLength: number;\n\n constructor(metaDataLength: number, bodyLength: Long | number, offset: Long | number) {\n this.metaDataLength = metaDataLength;\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './adapters';\nimport { decodeUtf8 } from '../util/utf8';\nimport { ITERATOR_DONE, Readable, Writable, AsyncQueue } from './interfaces';\nimport { toUint8Array, joinUint8Arrays, ArrayBufferViewInput } from '../util/buffer';\n\nimport {\n isPromise, isFetchResponse,\n isIterable, isAsyncIterable,\n isReadableDOMStream, isReadableNodeStream\n} from '../util/compat';\n\n/** @ignore */\nexport type WritableSink = Writable | WritableStream | NodeJS.WritableStream | null;\n/** @ignore */\nexport type ReadableSource = Readable | PromiseLike | AsyncIterable | ReadableStream | NodeJS.ReadableStream | null;\n\n/** @ignore */\nexport class AsyncByteQueue extends AsyncQueue {\n public write(value: ArrayBufferViewInput | Uint8Array) {\n if ((value = toUint8Array(value)).byteLength > 0) {\n return super.write(value as T);\n }\n }\n public toString(sync: true): string;\n public toString(sync?: false): Promise;\n public toString(sync = false) {\n return sync\n ? decodeUtf8(this.toUint8Array(true))\n : this.toUint8Array(false).then(decodeUtf8);\n }\n public toUint8Array(sync: true): Uint8Array;\n public toUint8Array(sync?: false): Promise;\n public toUint8Array(sync = false) {\n return sync ? joinUint8Arrays(this._values as any[])[0] : (async () => {\n let buffers = [], byteLength = 0;\n for await (const chunk of this) {\n buffers.push(chunk);\n byteLength += chunk.byteLength;\n }\n return joinUint8Arrays(buffers, byteLength)[0];\n })();\n }\n}\n\n/** @ignore */\nexport class ByteStream implements IterableIterator {\n // @ts-ignore\n private source: ByteStreamSource;\n constructor(source?: Iterable | ArrayBufferViewInput) {\n if (source) {\n this.source = new ByteStreamSource(streamAdapters.fromIterable(source));\n }\n }\n [Symbol.iterator]() { return this; }\n public next(value?: any) { return this.source.next(value); }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public peek(size?: number | null) { return this.source.peek(size); }\n public read(size?: number | null) { return this.source.read(size); }\n}\n\n/** @ignore */\nexport class AsyncByteStream implements Readable, AsyncIterableIterator {\n // @ts-ignore\n private source: AsyncByteStreamSource;\n constructor(source?: PromiseLike | Response | ReadableStream | NodeJS.ReadableStream | AsyncIterable | Iterable) {\n if (source instanceof AsyncByteStream) {\n this.source = (source as AsyncByteStream).source;\n } else if (source instanceof AsyncByteQueue) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n } else if (isReadableNodeStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromNodeStream(source));\n } else if (isReadableDOMStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source));\n } else if (isFetchResponse(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source.body!));\n } else if (isIterable(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromIterable(source));\n } else if (isPromise(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n } else if (isAsyncIterable(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n }\n }\n [Symbol.asyncIterator]() { return this; }\n public next(value?: any) { return this.source.next(value); }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public get closed(): Promise { return this.source.closed; }\n public cancel(reason?: any) { return this.source.cancel(reason); }\n public peek(size?: number | null) { return this.source.peek(size); }\n public read(size?: number | null) { return this.source.read(size); }\n}\n\n/** @ignore */\ninterface ByteStreamSourceIterator extends IterableIterator {\n next(value?: { cmd: 'peek' | 'read', size?: number | null }): IteratorResult;\n}\n\n/** @ignore */\ninterface AsyncByteStreamSourceIterator extends AsyncIterableIterator {\n next(value?: { cmd: 'peek' | 'read', size?: number | null }): Promise>;\n}\n\n/** @ignore */\nclass ByteStreamSource {\n constructor(protected source: ByteStreamSourceIterator) {}\n public cancel(reason?: any) { this.return(reason); }\n public peek(size?: number | null): T | null { return this.next(size, 'peek').value; }\n public read(size?: number | null): T | null { return this.next(size, 'read').value; }\n public next(size?: number | null, cmd: 'peek' | 'read' = 'read') { return this.source.next({ cmd, size }); }\n public throw(value?: any) { return Object.create((this.source.throw && this.source.throw(value)) || ITERATOR_DONE); }\n public return(value?: any) { return Object.create((this.source.return && this.source.return(value)) || ITERATOR_DONE); }\n}\n\n/** @ignore */\nclass AsyncByteStreamSource implements Readable {\n\n private _closedPromise: Promise;\n private _closedPromiseResolve?: (value?: any) => void;\n constructor (protected source: ByteStreamSourceIterator | AsyncByteStreamSourceIterator) {\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n public async cancel(reason?: any) { await this.return(reason); }\n public get closed(): Promise { return this._closedPromise; }\n public async read(size?: number | null): Promise { return (await this.next(size, 'read')).value; }\n public async peek(size?: number | null): Promise { return (await this.next(size, 'peek')).value; }\n public async next(size?: number | null, cmd: 'peek' | 'read' = 'read') { return (await this.source.next({ cmd, size })); }\n public async throw(value?: any) {\n const result = (this.source.throw && await this.source.throw(value)) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n }\n public async return(value?: any) {\n const result = (this.source.return && await this.source.return(value)) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FileHandle } from './interfaces';\nimport { ByteStream, AsyncByteStream } from './stream';\nimport { ArrayBufferViewInput, toUint8Array } from '../util/buffer';\n\n/** @ignore */\nexport class RandomAccessFile extends ByteStream {\n public size: number;\n public position: number = 0;\n protected buffer: Uint8Array | null;\n constructor(buffer: ArrayBufferViewInput, byteLength?: number) {\n super();\n this.buffer = toUint8Array(buffer);\n this.size = typeof byteLength === 'undefined' ? this.buffer.byteLength : byteLength;\n }\n public readInt32(position: number) {\n const { buffer, byteOffset } = this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n public seek(position: number) {\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n public read(nBytes?: number | null) {\n const { buffer, size, position } = this;\n if (buffer && position < size) {\n if (typeof nBytes !== 'number') { nBytes = Infinity; }\n this.position = Math.min(size,\n position + Math.min(size - position, nBytes));\n return buffer.subarray(position, this.position);\n }\n return null;\n }\n public readAt(position: number, nBytes: number) {\n const buf = this.buffer;\n const end = Math.min(this.size, position + nBytes);\n return buf ? buf.subarray(position, end) : new Uint8Array(nBytes);\n }\n public close() { this.buffer && (this.buffer = null); }\n public throw(value?: any) { this.close(); return { done: true, value }; }\n public return(value?: any) { this.close(); return { done: true, value }; }\n}\n\n/** @ignore */\nexport class AsyncRandomAccessFile extends AsyncByteStream {\n // @ts-ignore\n public size: number;\n public position: number = 0;\n public _pending?: Promise;\n protected _handle: FileHandle | null;\n constructor(file: FileHandle, byteLength?: number) {\n super();\n this._handle = file;\n if (typeof byteLength === 'number') {\n this.size = byteLength;\n } else {\n this._pending = (async () => {\n this.size = (await file.stat()).size;\n delete this._pending;\n })();\n }\n }\n public async readInt32(position: number) {\n const { buffer, byteOffset } = await this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n public async seek(position: number) {\n this._pending && await this._pending;\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n public async read(nBytes?: number | null) {\n this._pending && await this._pending;\n const { _handle: file, size, position } = this;\n if (file && position < size) {\n if (typeof nBytes !== 'number') { nBytes = Infinity; }\n let pos = position, offset = 0, bytesRead = 0;\n let end = Math.min(size, pos + Math.min(size - pos, nBytes));\n let buffer = new Uint8Array(Math.max(0, (this.position = end) - pos));\n while ((pos += bytesRead) < end && (offset += bytesRead) < buffer.byteLength) {\n ({ bytesRead } = await file.read(buffer, offset, buffer.byteLength - offset, pos));\n }\n return buffer;\n }\n return null;\n }\n public async readAt(position: number, nBytes: number) {\n this._pending && await this._pending;\n const { _handle: file, size } = this;\n if (file && (position + nBytes) < size) {\n const end = Math.min(size, position + nBytes);\n const buffer = new Uint8Array(end - position);\n return (await file.read(buffer, 0, nBytes, position)).buffer;\n }\n return new Uint8Array(nBytes);\n }\n public async close() { const f = this._handle; this._handle = null; f && await f.close(); }\n public async throw(value?: any) { await this.close(); return { done: true, value }; }\n public async return(value?: any) { await this.close(); return { done: true, value }; }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nconst carryBit16 = 1 << 16;\n\n/** @ignore */\nfunction intAsHex(value: number): string {\n if (value < 0) {\n value = 0xFFFFFFFF + value + 1;\n }\n return `0x${value.toString(16)}`;\n}\n\n/** @ignore */\nconst kInt32DecimalDigits = 8;\n/** @ignore */\nconst kPowersOfTen = [1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000];\n\n/** @ignore */\nexport class BaseInt64 {\n constructor (protected buffer: Uint32Array) {}\n\n public high(): number { return this.buffer[1]; }\n public low (): number { return this.buffer[0]; }\n\n protected _times(other: BaseInt64) {\n // Break the left and right numbers into 16 bit chunks\n // so that we can multiply them without overflow.\n const L = new Uint32Array([\n this.buffer[1] >>> 16,\n this.buffer[1] & 0xFFFF,\n this.buffer[0] >>> 16,\n this.buffer[0] & 0xFFFF\n ]);\n\n const R = new Uint32Array([\n other.buffer[1] >>> 16,\n other.buffer[1] & 0xFFFF,\n other.buffer[0] >>> 16,\n other.buffer[0] & 0xFFFF\n ]);\n\n let product = L[3] * R[3];\n this.buffer[0] = product & 0xFFFF;\n\n let sum = product >>> 16;\n\n product = L[2] * R[3];\n sum += product;\n\n product = (L[3] * R[2]) >>> 0;\n sum += product;\n\n this.buffer[0] += sum << 16;\n\n this.buffer[1] = (sum >>> 0 < product ? carryBit16 : 0);\n\n this.buffer[1] += sum >>> 16;\n this.buffer[1] += L[1] * R[3] + L[2] * R[2] + L[3] * R[1];\n this.buffer[1] += (L[0] * R[3] + L[1] * R[2] + L[2] * R[1] + L[3] * R[0]) << 16;\n\n return this;\n }\n\n protected _plus(other: BaseInt64) {\n const sum = (this.buffer[0] + other.buffer[0]) >>> 0;\n this.buffer[1] += other.buffer[1];\n if (sum < (this.buffer[0] >>> 0)) {\n ++this.buffer[1];\n }\n this.buffer[0] = sum;\n }\n\n public lessThan(other: BaseInt64): boolean {\n return this.buffer[1] < other.buffer[1] ||\n (this.buffer[1] === other.buffer[1] && this.buffer[0] < other.buffer[0]);\n }\n\n public equals(other: BaseInt64): boolean {\n return this.buffer[1] === other.buffer[1] && this.buffer[0] == other.buffer[0];\n }\n\n public greaterThan(other: BaseInt64): boolean {\n return other.lessThan(this);\n }\n\n public hex(): string {\n return `${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n}\n\n/** @ignore */\nexport class Uint64 extends BaseInt64 {\n public times(other: Uint64): Uint64 {\n this._times(other);\n return this;\n }\n\n public plus(other: Uint64): Uint64 {\n this._plus(other);\n return this;\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(2)): Uint64 {\n return Uint64.fromString(\n typeof(val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(2)): Uint64 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Uint64.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(2)): Uint64 {\n const length = str.length;\n\n let out = new Uint64(out_buffer);\n for (let posn = 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Uint64(new Uint32Array([parseInt(str.substr(posn, group), 10), 0]));\n const multiple = new Uint64(new Uint32Array([kPowersOfTen[group], 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n\n return out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string|number)[]): Uint32Array {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Uint64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n\n /** @nocollapse */\n public static multiply(left: Uint64, right: Uint64): Uint64 {\n let rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Uint64, right: Uint64): Uint64 {\n let rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n\n/** @ignore */\nexport class Int64 extends BaseInt64 {\n public negate(): Int64 {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n\n if (this.buffer[0] == 0) { ++this.buffer[1]; }\n return this;\n }\n\n public times(other: Int64): Int64 {\n this._times(other);\n return this;\n }\n\n public plus(other: Int64): Int64 {\n this._plus(other);\n return this;\n }\n\n public lessThan(other: Int64): boolean {\n // force high bytes to be signed\n const this_high = this.buffer[1] << 0;\n const other_high = other.buffer[1] << 0;\n return this_high < other_high ||\n (this_high === other_high && this.buffer[0] < other.buffer[0]);\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(2)): Int64 {\n return Int64.fromString(\n typeof(val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(2)): Int64 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int64.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(2)): Int64 {\n // TODO: Assert that out_buffer is 0 and length = 2\n const negate = str.startsWith('-');\n const length = str.length;\n\n let out = new Int64(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int64(new Uint32Array([parseInt(str.substr(posn, group), 10), 0]));\n const multiple = new Int64(new Uint32Array([kPowersOfTen[group], 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n return negate ? out.negate() : out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string|number)[]): Uint32Array {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Int64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n\n /** @nocollapse */\n public static multiply(left: Int64, right: Int64): Int64 {\n let rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Int64, right: Int64): Int64 {\n let rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n\n/** @ignore */\nexport class Int128 {\n constructor (private buffer: Uint32Array) {\n // buffer[3] MSB (high)\n // buffer[2]\n // buffer[1]\n // buffer[0] LSB (low)\n }\n\n public high(): Int64 {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n }\n\n public low(): Int64 {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset, 2));\n }\n\n public negate(): Int128 {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n this.buffer[2] = ~this.buffer[2];\n this.buffer[3] = ~this.buffer[3];\n\n if (this.buffer[0] == 0) { ++this.buffer[1]; }\n if (this.buffer[1] == 0) { ++this.buffer[2]; }\n if (this.buffer[2] == 0) { ++this.buffer[3]; }\n return this;\n }\n\n public times(other: Int128): Int128 {\n // Break the left and right numbers into 32 bit chunks\n // so that we can multiply them without overflow.\n const L0 = new Uint64(new Uint32Array([this.buffer[3], 0]));\n const L1 = new Uint64(new Uint32Array([this.buffer[2], 0]));\n const L2 = new Uint64(new Uint32Array([this.buffer[1], 0]));\n const L3 = new Uint64(new Uint32Array([this.buffer[0], 0]));\n\n const R0 = new Uint64(new Uint32Array([other.buffer[3], 0]));\n const R1 = new Uint64(new Uint32Array([other.buffer[2], 0]));\n const R2 = new Uint64(new Uint32Array([other.buffer[1], 0]));\n const R3 = new Uint64(new Uint32Array([other.buffer[0], 0]));\n\n let product = Uint64.multiply(L3, R3);\n this.buffer[0] = product.low();\n\n let sum = new Uint64(new Uint32Array([product.high(), 0]));\n\n product = Uint64.multiply(L2, R3);\n sum.plus(product);\n\n product = Uint64.multiply(L3, R2);\n sum.plus(product);\n\n this.buffer[1] = sum.low();\n\n this.buffer[3] = (sum.lessThan(product) ? 1 : 0);\n\n this.buffer[2] = sum.high();\n let high = new Uint64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n\n high.plus(Uint64.multiply(L1, R3))\n .plus(Uint64.multiply(L2, R2))\n .plus(Uint64.multiply(L3, R1));\n this.buffer[3] += Uint64.multiply(L0, R3)\n .plus(Uint64.multiply(L1, R2))\n .plus(Uint64.multiply(L2, R1))\n .plus(Uint64.multiply(L3, R0)).low();\n\n return this;\n }\n\n public plus(other: Int128): Int128 {\n let sums = new Uint32Array(4);\n sums[3] = (this.buffer[3] + other.buffer[3]) >>> 0;\n sums[2] = (this.buffer[2] + other.buffer[2]) >>> 0;\n sums[1] = (this.buffer[1] + other.buffer[1]) >>> 0;\n sums[0] = (this.buffer[0] + other.buffer[0]) >>> 0;\n\n if (sums[0] < (this.buffer[0] >>> 0)) {\n ++sums[1];\n }\n if (sums[1] < (this.buffer[1] >>> 0)) {\n ++sums[2];\n }\n if (sums[2] < (this.buffer[2] >>> 0)) {\n ++sums[3];\n }\n\n this.buffer[3] = sums[3];\n this.buffer[2] = sums[2];\n this.buffer[1] = sums[1];\n this.buffer[0] = sums[0];\n\n return this;\n }\n\n public hex(): string {\n return `${intAsHex(this.buffer[3])} ${intAsHex(this.buffer[2])} ${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n\n /** @nocollapse */\n public static multiply(left: Int128, right: Int128): Int128 {\n let rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Int128, right: Int128): Int128 {\n let rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(4)): Int128 {\n return Int128.fromString(\n typeof(val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(4)): Int128 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int128.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(4)): Int128 {\n // TODO: Assert that out_buffer is 0 and length = 4\n const negate = str.startsWith('-');\n const length = str.length;\n\n let out = new Int128(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int128(new Uint32Array([parseInt(str.substr(posn, group), 10), 0, 0, 0]));\n const multiple = new Int128(new Uint32Array([kPowersOfTen[group], 0, 0, 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n\n return negate ? out.negate() : out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string|number)[]): Uint32Array {\n // TODO: Distinguish between string and number at compile-time\n const data = new Uint32Array(values.length * 4);\n for (let i = -1, n = values.length; ++i < n;) {\n Int128.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 4 * 4 * i, 4));\n }\n return data;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport * as type from '../type';\nimport { Field } from '../schema';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Visitor } from '../visitor';\nimport { packBools } from '../util/bit';\nimport { encodeUtf8 } from '../util/utf8';\nimport { Int64, Int128 } from '../util/int';\nimport { UnionMode, DateUnit } from '../enum';\nimport { toArrayBufferView } from '../util/buffer';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message';\n\n/** @ignore */\nexport interface VectorLoader extends Visitor {\n visit(node: Field | T): Data;\n visitMany(nodes: (Field | T)[]): Data[];\n}\n\n/** @ignore */\nexport class VectorLoader extends Visitor {\n private bytes: Uint8Array;\n private nodes: FieldNode[];\n private nodesIndex: number = -1;\n private buffers: BufferRegion[];\n private buffersIndex: number = -1;\n private dictionaries: Map>;\n constructor(bytes: Uint8Array, nodes: FieldNode[], buffers: BufferRegion[], dictionaries: Map>) {\n super();\n this.bytes = bytes;\n this.nodes = nodes;\n this.buffers = buffers;\n this.dictionaries = dictionaries;\n }\n\n public visit(node: Field | T): Data {\n return super.visit(node instanceof Field ? node.type : node);\n }\n\n public visitNull (type: T, { length, } = this.nextFieldNode()) { return Data.Null(type, 0, length); }\n public visitBool (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Bool(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitInt (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Int(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitFloat (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Float(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitUtf8 (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Utf8(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.readData(type)); }\n public visitBinary (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Binary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.readData(type)); }\n public visitFixedSizeBinary (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.FixedSizeBinary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitDate (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Date(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitTimestamp (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Timestamp(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitTime (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Time(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitDecimal (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Decimal(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitList (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.List(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.visit(type.children[0])); }\n public visitStruct (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Struct(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.visitMany(type.children)); }\n public visitUnion (type: T ) { return type.mode === UnionMode.Sparse ? this.visitSparseUnion(type as type.SparseUnion) : this.visitDenseUnion(type as type.DenseUnion); }\n public visitDenseUnion (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Union(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readTypeIds(type), this.readOffsets(type), this.visitMany(type.children)); }\n public visitSparseUnion (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Union(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readTypeIds(type), this.visitMany(type.children)); }\n public visitDictionary (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Dictionary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type.indices), this.readDictionary(type)); }\n public visitInterval (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Interval(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitFixedSizeList (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.FixedSizeList(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.visit(type.children[0])); }\n public visitMap (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Map(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.visit(type.children[0])); }\n\n protected nextFieldNode() { return this.nodes[++this.nodesIndex]; }\n protected nextBufferRange() { return this.buffers[++this.buffersIndex]; }\n protected readNullBitmap(type: T, nullCount: number, buffer = this.nextBufferRange()) {\n return nullCount > 0 && this.readData(type, buffer) || new Uint8Array(0);\n }\n protected readOffsets(type: T, buffer?: BufferRegion) { return this.readData(type, buffer); }\n protected readTypeIds(type: T, buffer?: BufferRegion) { return this.readData(type, buffer); }\n protected readData(_type: T, { length, offset } = this.nextBufferRange()) {\n return this.bytes.subarray(offset, offset + length);\n }\n protected readDictionary(type: T): Vector {\n return this.dictionaries.get(type.id)!;\n }\n}\n\n/** @ignore */\nexport class JSONVectorLoader extends VectorLoader {\n private sources: any[][];\n constructor(sources: any[][], nodes: FieldNode[], buffers: BufferRegion[], dictionaries: Map>) {\n super(new Uint8Array(0), nodes, buffers, dictionaries);\n this.sources = sources;\n }\n protected readNullBitmap(_type: T, nullCount: number, { offset } = this.nextBufferRange()) {\n return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);\n }\n protected readOffsets(_type: T, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(Int32Array, this.sources[offset]));\n }\n protected readTypeIds(type: T, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));\n }\n protected readData(type: T, { offset } = this.nextBufferRange()) {\n const { sources } = this;\n if (DataType.isTimestamp(type)) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if (DataType.isDecimal(type)) {\n return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset] as string[]));\n } else if (DataType.isBinary(type) || DataType.isFixedSizeBinary(type)) {\n return binaryDataFromJSON(sources[offset] as string[]);\n } else if (DataType.isBool(type)) {\n return packBools(sources[offset] as number[]);\n } else if (DataType.isUtf8(type)) {\n return encodeUtf8((sources[offset] as string[]).join(''));\n }\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));\n }\n}\n\n/** @ignore */\nfunction binaryDataFromJSON(values: string[]) {\n // \"DATA\": [\"49BC7D5B6C47D2\",\"3F5FB6D9322026\"]\n // There are definitely more efficient ways to do this... but it gets the\n // job done.\n const joined = values.join('');\n const data = new Uint8Array(joined.length / 2);\n for (let i = 0; i < joined.length; i += 2) {\n data[i >> 1] = parseInt(joined.substr(i, 2), 16);\n }\n return data;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { flatbuffers } from 'flatbuffers';\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport * as Schema_ from '../fb/Schema';\n\nimport * as type from '../type';\nimport { Visitor } from '../visitor';\n\nimport Null = Schema_.org.apache.arrow.flatbuf.Null;\nimport Int = Schema_.org.apache.arrow.flatbuf.Int;\nimport FloatingPoint = Schema_.org.apache.arrow.flatbuf.FloatingPoint;\nimport Binary = Schema_.org.apache.arrow.flatbuf.Binary;\nimport Bool = Schema_.org.apache.arrow.flatbuf.Bool;\nimport Utf8 = Schema_.org.apache.arrow.flatbuf.Utf8;\nimport Decimal = Schema_.org.apache.arrow.flatbuf.Decimal;\nimport Date = Schema_.org.apache.arrow.flatbuf.Date;\nimport Time = Schema_.org.apache.arrow.flatbuf.Time;\nimport Timestamp = Schema_.org.apache.arrow.flatbuf.Timestamp;\nimport Interval = Schema_.org.apache.arrow.flatbuf.Interval;\nimport List = Schema_.org.apache.arrow.flatbuf.List;\nimport Struct = Schema_.org.apache.arrow.flatbuf.Struct_;\nimport Union = Schema_.org.apache.arrow.flatbuf.Union;\nimport DictionaryEncoding = Schema_.org.apache.arrow.flatbuf.DictionaryEncoding;\nimport FixedSizeBinary = Schema_.org.apache.arrow.flatbuf.FixedSizeBinary;\nimport FixedSizeList = Schema_.org.apache.arrow.flatbuf.FixedSizeList;\nimport Map_ = Schema_.org.apache.arrow.flatbuf.Map;\n\n/** @ignore */\nexport interface TypeAssembler extends Visitor {\n visit(node: T, builder: Builder): number | undefined;\n}\n\n/** @ignore */\nexport class TypeAssembler extends Visitor {\n public visit(node: T, builder: Builder): number | undefined {\n return (node == null || builder == null) ? undefined : super.visit(node, builder);\n }\n public visitNull(_node: T, b: Builder) {\n Null.startNull(b);\n return Null.endNull(b);\n }\n public visitInt(node: T, b: Builder) {\n Int.startInt(b);\n Int.addBitWidth(b, node.bitWidth);\n Int.addIsSigned(b, node.isSigned);\n return Int.endInt(b);\n }\n public visitFloat(node: T, b: Builder) {\n FloatingPoint.startFloatingPoint(b);\n FloatingPoint.addPrecision(b, node.precision);\n return FloatingPoint.endFloatingPoint(b);\n }\n public visitBinary(_node: T, b: Builder) {\n Binary.startBinary(b);\n return Binary.endBinary(b);\n }\n public visitBool(_node: T, b: Builder) {\n Bool.startBool(b);\n return Bool.endBool(b);\n }\n public visitUtf8(_node: T, b: Builder) {\n Utf8.startUtf8(b);\n return Utf8.endUtf8(b);\n }\n public visitDecimal(node: T, b: Builder) {\n Decimal.startDecimal(b);\n Decimal.addScale(b, node.scale);\n Decimal.addPrecision(b, node.precision);\n return Decimal.endDecimal(b);\n }\n public visitDate(node: T, b: Builder) {\n Date.startDate(b);\n Date.addUnit(b, node.unit);\n return Date.endDate(b);\n }\n public visitTime(node: T, b: Builder) {\n Time.startTime(b);\n Time.addUnit(b, node.unit);\n Time.addBitWidth(b, node.bitWidth);\n return Time.endTime(b);\n }\n public visitTimestamp(node: T, b: Builder) {\n const timezone = (node.timezone && b.createString(node.timezone)) || undefined;\n Timestamp.startTimestamp(b);\n Timestamp.addUnit(b, node.unit);\n if (timezone !== undefined) {\n Timestamp.addTimezone(b, timezone);\n }\n return Timestamp.endTimestamp(b);\n }\n public visitInterval(node: T, b: Builder) {\n Interval.startInterval(b);\n Interval.addUnit(b, node.unit);\n return Interval.endInterval(b);\n }\n public visitList(_node: T, b: Builder) {\n List.startList(b);\n return List.endList(b);\n }\n public visitStruct(_node: T, b: Builder) {\n Struct.startStruct_(b);\n return Struct.endStruct_(b);\n }\n public visitUnion(node: T, b: Builder) {\n Union.startTypeIdsVector(b, node.typeIds.length);\n const typeIds = Union.createTypeIdsVector(b, node.typeIds);\n Union.startUnion(b);\n Union.addMode(b, node.mode);\n Union.addTypeIds(b, typeIds);\n return Union.endUnion(b);\n }\n public visitDictionary(node: T, b: Builder) {\n const indexType = this.visit(node.indices, b);\n DictionaryEncoding.startDictionaryEncoding(b);\n DictionaryEncoding.addId(b, new Long(node.id, 0));\n DictionaryEncoding.addIsOrdered(b, node.isOrdered);\n if (indexType !== undefined) {\n DictionaryEncoding.addIndexType(b, indexType);\n }\n return DictionaryEncoding.endDictionaryEncoding(b);\n }\n public visitFixedSizeBinary(node: T, b: Builder) {\n FixedSizeBinary.startFixedSizeBinary(b);\n FixedSizeBinary.addByteWidth(b, node.byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(b);\n }\n public visitFixedSizeList(node: T, b: Builder) {\n FixedSizeList.startFixedSizeList(b);\n FixedSizeList.addListSize(b, node.listSize);\n return FixedSizeList.endFixedSizeList(b);\n }\n public visitMap(node: T, b: Builder) {\n Map_.startMap(b);\n Map_.addKeysSorted(b, node.keysSorted);\n return Map_.endMap(b);\n }\n}\n\n/** @ignore */\nexport const instance = new TypeAssembler();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Schema, Field } from '../../schema';\nimport {\n DataType, Dictionary, TimeBitWidth,\n Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, IntBitWidth, Int32, TKeys,\n} from '../../type';\n\nimport { DictionaryBatch, RecordBatch, FieldNode, BufferRegion } from './message';\nimport { TimeUnit, Precision, IntervalUnit, UnionMode, DateUnit } from '../../enum';\n\n/** @ignore */\nexport function schemaFromJSON(_schema: any, dictionaries: Map = new Map()) {\n return new Schema(\n schemaFieldsFromJSON(_schema, dictionaries),\n customMetadataFromJSON(_schema['customMetadata']),\n dictionaries\n );\n}\n\n/** @ignore */\nexport function recordBatchFromJSON(b: any) {\n return new RecordBatch(\n b['count'],\n fieldNodesFromJSON(b['columns']),\n buffersFromJSON(b['columns'])\n );\n}\n\n/** @ignore */\nexport function dictionaryBatchFromJSON(b: any) {\n return new DictionaryBatch(\n recordBatchFromJSON(b['data']),\n b['id'], b['isDelta']\n );\n}\n\n/** @ignore */\nfunction schemaFieldsFromJSON(_schema: any, dictionaries?: Map) {\n return (_schema['fields'] || []).filter(Boolean).map((f: any) => Field.fromJSON(f, dictionaries));\n}\n\n/** @ignore */\nfunction fieldChildrenFromJSON(_field: any, dictionaries?: Map): Field[] {\n return (_field['children'] || []).filter(Boolean).map((f: any) => Field.fromJSON(f, dictionaries));\n}\n\n/** @ignore */\nfunction fieldNodesFromJSON(xs: any[]): FieldNode[] {\n return (xs || []).reduce((fieldNodes, column: any) => [\n ...fieldNodes,\n new FieldNode(\n column['count'],\n nullCountFromJSON(column['VALIDITY'])\n ),\n ...fieldNodesFromJSON(column['children'])\n ], [] as FieldNode[]);\n}\n\n/** @ignore */\nfunction buffersFromJSON(xs: any[], buffers: BufferRegion[] = []): BufferRegion[] {\n for (let i = -1, n = (xs || []).length; ++i < n;) {\n const column = xs[i];\n column['VALIDITY'] && buffers.push(new BufferRegion(buffers.length, column['VALIDITY'].length));\n column['TYPE'] && buffers.push(new BufferRegion(buffers.length, column['TYPE'].length));\n column['OFFSET'] && buffers.push(new BufferRegion(buffers.length, column['OFFSET'].length));\n column['DATA'] && buffers.push(new BufferRegion(buffers.length, column['DATA'].length));\n buffers = buffersFromJSON(column['children'], buffers);\n }\n return buffers;\n}\n\n/** @ignore */\nfunction nullCountFromJSON(validity: number[]) {\n return (validity || []).reduce((sum, val) => sum + +(val === 0), 0);\n}\n\n/** @ignore */\nexport function fieldFromJSON(_field: any, dictionaries?: Map) {\n\n let id: number;\n let keys: TKeys | null;\n let field: Field | void;\n let dictMeta: any;\n let type: DataType;\n let dictType: Dictionary;\n\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = _field['dictionary'])) {\n type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries));\n field = new Field(_field['name'], type, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // tslint:disable\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta['id'])) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) as TKeys : new Int32();\n dictionaries.set(id, type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) as TKeys : new Int32();\n dictType = new Dictionary(dictionaries.get(id)!, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n return field || null;\n}\n\n/** @ignore */\nfunction customMetadataFromJSON(_metadata?: object) {\n return new Map(Object.entries(_metadata || {}));\n}\n\n/** @ignore */\nfunction indexTypeFromJSON(_type: any) {\n return new Int(_type['isSigned'], _type['bitWidth']);\n}\n\n/** @ignore */\nfunction typeFromJSON(f: any, children?: Field[]): DataType {\n\n const typeId = f['type']['name'];\n\n switch (typeId) {\n case 'NONE': return new Null();\n case 'null': return new Null();\n case 'binary': return new Binary();\n case 'utf8': return new Utf8();\n case 'bool': return new Bool();\n case 'list': return new List((children || [])[0]);\n case 'struct': return new Struct(children || []);\n case 'struct_': return new Struct(children || []);\n }\n\n switch (typeId) {\n case 'int': {\n const t = f['type'];\n return new Int(t['isSigned'], t['bitWidth'] as IntBitWidth);\n }\n case 'floatingpoint': {\n const t = f['type'];\n return new Float(Precision[t['precision']] as any);\n }\n case 'decimal': {\n const t = f['type'];\n return new Decimal(t['scale'], t['precision']);\n }\n case 'date': {\n const t = f['type'];\n return new Date_(DateUnit[t['unit']] as any);\n }\n case 'time': {\n const t = f['type'];\n return new Time(TimeUnit[t['unit']] as any, t['bitWidth'] as TimeBitWidth);\n }\n case 'timestamp': {\n const t = f['type'];\n return new Timestamp(TimeUnit[t['unit']] as any, t['timezone']);\n }\n case 'interval': {\n const t = f['type'];\n return new Interval(IntervalUnit[t['unit']] as any);\n }\n case 'union': {\n const t = f['type'];\n return new Union(UnionMode[t['mode']] as any, (t['typeIds'] || []), children || []);\n }\n case 'fixedsizebinary': {\n const t = f['type'];\n return new FixedSizeBinary(t['byteWidth']);\n }\n case 'fixedsizelist': {\n const t = f['type'];\n return new FixedSizeList(t['listSize'], (children || [])[0]);\n }\n case 'map': {\n const t = f['type'];\n return new Map_((children || [])[0], t['keysSorted']);\n }\n }\n throw new Error(`Unrecognized type: \"${typeId}\"`);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { flatbuffers } from 'flatbuffers';\nimport * as Schema_ from '../../fb/Schema';\nimport * as Message_ from '../../fb/Message';\n\nimport { Schema, Field } from '../../schema';\nimport { toUint8Array } from '../../util/buffer';\nimport { ArrayBufferViewInput } from '../../util/buffer';\nimport { MessageHeader, MetadataVersion } from '../../enum';\nimport { instance as typeAssembler } from '../../visitor/typeassembler';\nimport { fieldFromJSON, schemaFromJSON, recordBatchFromJSON, dictionaryBatchFromJSON } from './json';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport _Int = Schema_.org.apache.arrow.flatbuf.Int;\nimport Type = Schema_.org.apache.arrow.flatbuf.Type;\nimport _Field = Schema_.org.apache.arrow.flatbuf.Field;\nimport _Schema = Schema_.org.apache.arrow.flatbuf.Schema;\nimport _Buffer = Schema_.org.apache.arrow.flatbuf.Buffer;\nimport _Message = Message_.org.apache.arrow.flatbuf.Message;\nimport _KeyValue = Schema_.org.apache.arrow.flatbuf.KeyValue;\nimport _FieldNode = Message_.org.apache.arrow.flatbuf.FieldNode;\nimport _Endianness = Schema_.org.apache.arrow.flatbuf.Endianness;\nimport _RecordBatch = Message_.org.apache.arrow.flatbuf.RecordBatch;\nimport _DictionaryBatch = Message_.org.apache.arrow.flatbuf.DictionaryBatch;\nimport _DictionaryEncoding = Schema_.org.apache.arrow.flatbuf.DictionaryEncoding;\n\nimport {\n DataType, Dictionary, TimeBitWidth,\n Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, IntBitWidth, Int32, TKeys,\n} from '../../type';\n\n/**\n * @ignore\n * @private\n **/\nexport class Message {\n\n /** @nocollapse */\n public static fromJSON(msg: any, headerType: T): Message {\n const message = new Message(0, MetadataVersion.V4, headerType);\n message._createHeader = messageHeaderFromJSON(msg, headerType);\n return message;\n }\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const _message = _Message.getRootAsMessage(buf);\n const bodyLength: Long = _message.bodyLength()!;\n const version: MetadataVersion = _message.version();\n const headerType: MessageHeader = _message.headerType();\n const message = new Message(bodyLength, version, headerType);\n message._createHeader = decodeMessageHeader(_message, headerType);\n return message;\n }\n\n /** @nocollapse */\n public static encode(message: Message) {\n let b = new Builder(), headerOffset = -1;\n if (message.isSchema()) {\n headerOffset = Schema.encode(b, message.header() as Schema);\n } else if (message.isRecordBatch()) {\n headerOffset = RecordBatch.encode(b, message.header() as RecordBatch);\n } else if (message.isDictionaryBatch()) {\n headerOffset = DictionaryBatch.encode(b, message.header() as DictionaryBatch);\n }\n _Message.startMessage(b);\n _Message.addVersion(b, MetadataVersion.V4);\n _Message.addHeader(b, headerOffset);\n _Message.addHeaderType(b, message.headerType);\n _Message.addBodyLength(b, new Long(message.bodyLength, 0));\n _Message.finishMessageBuffer(b, _Message.endMessage(b));\n return b.asUint8Array();\n }\n\n /** @nocollapse */\n public static from(header: Schema | RecordBatch | DictionaryBatch, bodyLength = 0) {\n if (header instanceof Schema) {\n return new Message(0, MetadataVersion.V4, MessageHeader.Schema, header);\n }\n if (header instanceof RecordBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.RecordBatch, header);\n }\n if (header instanceof DictionaryBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.DictionaryBatch, header);\n }\n throw new Error(`Unrecognized Message header: ${header}`);\n }\n\n // @ts-ignore\n public body: Uint8Array;\n protected _headerType: T;\n protected _bodyLength: number;\n protected _version: MetadataVersion;\n public get type() { return this.headerType; }\n public get version() { return this._version; }\n public get headerType() { return this._headerType; }\n public get bodyLength() { return this._bodyLength; }\n // @ts-ignore\n protected _createHeader: MessageHeaderDecoder;\n public header() { return this._createHeader(); }\n public isSchema(): this is Message { return this.headerType === MessageHeader.Schema; }\n public isRecordBatch(): this is Message { return this.headerType === MessageHeader.RecordBatch; }\n public isDictionaryBatch(): this is Message { return this.headerType === MessageHeader.DictionaryBatch; }\n\n constructor(bodyLength: Long | number, version: MetadataVersion, headerType: T, header?: any) {\n this._version = version;\n this._headerType = headerType;\n this.body = new Uint8Array(0);\n header && (this._createHeader = () => header);\n this._bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class RecordBatch {\n protected _length: number;\n protected _nodes: FieldNode[];\n protected _buffers: BufferRegion[];\n public get nodes() { return this._nodes; }\n public get length() { return this._length; }\n public get buffers() { return this._buffers; }\n constructor(length: Long | number, nodes: FieldNode[], buffers: BufferRegion[]) {\n this._nodes = nodes;\n this._buffers = buffers;\n this._length = typeof length === 'number' ? length : length.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class DictionaryBatch {\n\n protected _id: number;\n protected _isDelta: boolean;\n protected _data: RecordBatch;\n public get id() { return this._id; }\n public get data() { return this._data; }\n public get isDelta() { return this._isDelta; }\n public get length(): number { return this.data.length; }\n public get nodes(): FieldNode[] { return this.data.nodes; }\n public get buffers(): BufferRegion[] { return this.data.buffers; }\n\n constructor(data: RecordBatch, id: Long | number, isDelta: boolean = false) {\n this._data = data;\n this._isDelta = isDelta;\n this._id = typeof id === 'number' ? id : id.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class BufferRegion {\n public offset: number;\n public length: number;\n constructor(offset: Long | number, length: Long | number) {\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.length = typeof length === 'number' ? length : length.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class FieldNode {\n public length: number;\n public nullCount: number;\n constructor(length: Long | number, nullCount: Long | number) {\n this.length = typeof length === 'number' ? length : length.low;\n this.nullCount = typeof nullCount === 'number' ? nullCount : nullCount.low;\n }\n}\n\n/** @ignore */\nfunction messageHeaderFromJSON(message: any, type: MessageHeader) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.fromJSON(message);\n case MessageHeader.RecordBatch: return RecordBatch.fromJSON(message);\n case MessageHeader.DictionaryBatch: return DictionaryBatch.fromJSON(message);\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n }) as MessageHeaderDecoder;\n}\n\n/** @ignore */\nfunction decodeMessageHeader(message: _Message, type: MessageHeader) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.decode(message.header(new _Schema())!);\n case MessageHeader.RecordBatch: return RecordBatch.decode(message.header(new _RecordBatch())!, message.version());\n case MessageHeader.DictionaryBatch: return DictionaryBatch.decode(message.header(new _DictionaryBatch())!, message.version());\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n }) as MessageHeaderDecoder;\n}\n\nField['encode'] = encodeField;\nField['decode'] = decodeField;\nField['fromJSON'] = fieldFromJSON;\n\nSchema['encode'] = encodeSchema;\nSchema['decode'] = decodeSchema;\nSchema['fromJSON'] = schemaFromJSON;\n\nRecordBatch['encode'] = encodeRecordBatch;\nRecordBatch['decode'] = decodeRecordBatch;\nRecordBatch['fromJSON'] = recordBatchFromJSON;\n\nDictionaryBatch['encode'] = encodeDictionaryBatch;\nDictionaryBatch['decode'] = decodeDictionaryBatch;\nDictionaryBatch['fromJSON'] = dictionaryBatchFromJSON;\n\nFieldNode['encode'] = encodeFieldNode;\nFieldNode['decode'] = decodeFieldNode;\n\nBufferRegion['encode'] = encodeBufferRegion;\nBufferRegion['decode'] = decodeBufferRegion;\n\ndeclare module '../../schema' {\n namespace Field {\n export { encodeField as encode };\n export { decodeField as decode };\n export { fieldFromJSON as fromJSON };\n }\n namespace Schema {\n export { encodeSchema as encode };\n export { decodeSchema as decode };\n export { schemaFromJSON as fromJSON };\n }\n}\n\ndeclare module './message' {\n namespace RecordBatch {\n export { encodeRecordBatch as encode };\n export { decodeRecordBatch as decode };\n export { recordBatchFromJSON as fromJSON };\n }\n namespace DictionaryBatch {\n export { encodeDictionaryBatch as encode };\n export { decodeDictionaryBatch as decode };\n export { dictionaryBatchFromJSON as fromJSON };\n }\n namespace FieldNode {\n export { encodeFieldNode as encode };\n export { decodeFieldNode as decode };\n }\n namespace BufferRegion {\n export { encodeBufferRegion as encode };\n export { decodeBufferRegion as decode };\n }\n}\n\n/** @ignore */\nfunction decodeSchema(_schema: _Schema, dictionaries: Map = new Map()) {\n const fields = decodeSchemaFields(_schema, dictionaries);\n return new Schema(fields, decodeCustomMetadata(_schema), dictionaries);\n}\n\n/** @ignore */\nfunction decodeRecordBatch(batch: _RecordBatch, version = MetadataVersion.V4) {\n return new RecordBatch(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version));\n}\n\n/** @ignore */\nfunction decodeDictionaryBatch(batch: _DictionaryBatch, version = MetadataVersion.V4) {\n return new DictionaryBatch(RecordBatch.decode(batch.data()!, version), batch.id(), batch.isDelta());\n}\n\n/** @ignore */\nfunction decodeBufferRegion(b: _Buffer) {\n return new BufferRegion(b.offset(), b.length());\n}\n\n/** @ignore */\nfunction decodeFieldNode(f: _FieldNode) {\n return new FieldNode(f.length(), f.nullCount());\n}\n\n/** @ignore */\nfunction decodeFieldNodes(batch: _RecordBatch) {\n const nodes = [] as FieldNode[];\n for (let f, i = -1, j = -1, n = batch.nodesLength(); ++i < n;) {\n if (f = batch.nodes(i)) {\n nodes[++j] = FieldNode.decode(f);\n }\n }\n return nodes;\n}\n\n/** @ignore */\nfunction decodeBuffers(batch: _RecordBatch, version: MetadataVersion) {\n const bufferRegions = [] as BufferRegion[];\n for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n;) {\n if (b = batch.buffers(i)) {\n // If this Arrow buffer was written before version 4,\n // advance the buffer's bb_pos 8 bytes to skip past\n // the now-removed page_id field\n if (version < MetadataVersion.V4) {\n b.bb_pos += (8 * (i + 1));\n }\n bufferRegions[++j] = BufferRegion.decode(b);\n }\n }\n return bufferRegions;\n}\n\n/** @ignore */\nfunction decodeSchemaFields(schema: _Schema, dictionaries?: Map) {\n const fields = [] as Field[];\n for (let f, i = -1, j = -1, n = schema.fieldsLength(); ++i < n;) {\n if (f = schema.fields(i)) {\n fields[++j] = Field.decode(f, dictionaries);\n }\n }\n return fields;\n}\n\n/** @ignore */\nfunction decodeFieldChildren(field: _Field, dictionaries?: Map): Field[] {\n const children = [] as Field[];\n for (let f, i = -1, j = -1, n = field.childrenLength(); ++i < n;) {\n if (f = field.children(i)) {\n children[++j] = Field.decode(f, dictionaries);\n }\n }\n return children;\n}\n\n/** @ignore */\nfunction decodeField(f: _Field, dictionaries?: Map) {\n\n let id: number;\n let field: Field | void;\n let type: DataType;\n let keys: _Int | TKeys | null;\n let dictType: Dictionary;\n let dictMeta: _DictionaryEncoding | null;\n\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = f.dictionary())) {\n type = decodeFieldType(f, decodeFieldChildren(f, dictionaries));\n field = new Field(f.name()!, type, f.nullable(), decodeCustomMetadata(f));\n }\n // tslint:disable\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta.id().low)) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) as TKeys : new Int32();\n dictionaries.set(id, type = decodeFieldType(f, decodeFieldChildren(f, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta.isOrdered());\n field = new Field(f.name()!, dictType, f.nullable(), decodeCustomMetadata(f));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) as TKeys : new Int32();\n dictType = new Dictionary(dictionaries.get(id)!, keys, id, dictMeta.isOrdered());\n field = new Field(f.name()!, dictType, f.nullable(), decodeCustomMetadata(f));\n }\n return field || null;\n}\n\n/** @ignore */\nfunction decodeCustomMetadata(parent?: _Schema | _Field | null) {\n const data = new Map();\n if (parent) {\n for (let entry, key, i = -1, n = parent.customMetadataLength() | 0; ++i < n;) {\n if ((entry = parent.customMetadata(i)) && (key = entry.key()) != null) {\n data.set(key, entry.value()!);\n }\n }\n }\n return data;\n}\n\n/** @ignore */\nfunction decodeIndexType(_type: _Int) {\n return new Int(_type.isSigned(), _type.bitWidth() as IntBitWidth);\n}\n\n/** @ignore */\nfunction decodeFieldType(f: _Field, children?: Field[]): DataType {\n\n const typeId = f.typeType();\n\n switch (typeId) {\n case Type.NONE: return new Null();\n case Type.Null: return new Null();\n case Type.Binary: return new Binary();\n case Type.Utf8: return new Utf8();\n case Type.Bool: return new Bool();\n case Type.List: return new List((children || [])[0]);\n case Type.Struct_: return new Struct(children || []);\n }\n\n switch (typeId) {\n case Type.Int: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Int())!;\n return new Int(t.isSigned(), t.bitWidth());\n }\n case Type.FloatingPoint: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.FloatingPoint())!;\n return new Float(t.precision());\n }\n case Type.Decimal: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Decimal())!;\n return new Decimal(t.scale(), t.precision());\n }\n case Type.Date: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Date())!;\n return new Date_(t.unit());\n }\n case Type.Time: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Time())!;\n return new Time(t.unit(), t.bitWidth() as TimeBitWidth);\n }\n case Type.Timestamp: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Timestamp())!;\n return new Timestamp(t.unit(), t.timezone());\n }\n case Type.Interval: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Interval())!;\n return new Interval(t.unit());\n }\n case Type.Union: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Union())!;\n return new Union(t.mode(), t.typeIdsArray() || [], children || []);\n }\n case Type.FixedSizeBinary: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.FixedSizeBinary())!;\n return new FixedSizeBinary(t.byteWidth());\n }\n case Type.FixedSizeList: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.FixedSizeList())!;\n return new FixedSizeList(t.listSize(), (children || [])[0]);\n }\n case Type.Map: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Map())!;\n return new Map_((children || [])[0], t.keysSorted());\n }\n }\n throw new Error(`Unrecognized type: \"${Type[typeId]}\" (${typeId})`);\n}\n\n/** @ignore */\nfunction encodeSchema(b: Builder, schema: Schema) {\n\n const fieldOffsets = schema.fields.map((f) => Field.encode(b, f));\n\n _Schema.startFieldsVector(b, fieldOffsets.length);\n\n const fieldsVectorOffset = _Schema.createFieldsVector(b, fieldOffsets);\n\n const metadataOffset = !(schema.metadata && schema.metadata.size > 0) ? -1 :\n _Schema.createCustomMetadataVector(b, [...schema.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n\n _Schema.startSchema(b);\n _Schema.addFields(b, fieldsVectorOffset);\n _Schema.addEndianness(b, platformIsLittleEndian ? _Endianness.Little : _Endianness.Big);\n\n if (metadataOffset !== -1) { _Schema.addCustomMetadata(b, metadataOffset); }\n\n return _Schema.endSchema(b);\n}\n\n/** @ignore */\nfunction encodeField(b: Builder, field: Field) {\n\n let nameOffset = -1;\n let typeOffset = -1;\n let dictionaryOffset = -1;\n\n let type = field.type;\n let typeId: Type = field.typeId;\n\n if (!DataType.isDictionary(type)) {\n typeOffset = typeAssembler.visit(type, b)!;\n } else {\n typeId = type.dictionary.typeId;\n dictionaryOffset = typeAssembler.visit(type, b)!;\n typeOffset = typeAssembler.visit(type.dictionary, b)!;\n }\n\n const childOffsets = (type.children || []).map((f: Field) => Field.encode(b, f));\n const childrenVectorOffset = _Field.createChildrenVector(b, childOffsets);\n\n const metadataOffset = !(field.metadata && field.metadata.size > 0) ? -1 :\n _Field.createCustomMetadataVector(b, [...field.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n\n if (field.name) {\n nameOffset = b.createString(field.name);\n }\n\n _Field.startField(b);\n _Field.addType(b, typeOffset);\n _Field.addTypeType(b, typeId);\n _Field.addChildren(b, childrenVectorOffset);\n _Field.addNullable(b, !!field.nullable);\n\n if (nameOffset !== -1) { _Field.addName(b, nameOffset); }\n if (dictionaryOffset !== -1) { _Field.addDictionary(b, dictionaryOffset); }\n if (metadataOffset !== -1) { _Field.addCustomMetadata(b, metadataOffset); }\n\n return _Field.endField(b);\n}\n\n/** @ignore */\nfunction encodeRecordBatch(b: Builder, recordBatch: RecordBatch) {\n\n const nodes = recordBatch.nodes || [];\n const buffers = recordBatch.buffers || [];\n\n _RecordBatch.startNodesVector(b, nodes.length);\n nodes.slice().reverse().forEach((n) => FieldNode.encode(b, n));\n\n const nodesVectorOffset = b.endVector();\n\n _RecordBatch.startBuffersVector(b, buffers.length);\n buffers.slice().reverse().forEach((b_) => BufferRegion.encode(b, b_));\n\n const buffersVectorOffset = b.endVector();\n\n _RecordBatch.startRecordBatch(b);\n _RecordBatch.addLength(b, new Long(recordBatch.length, 0));\n _RecordBatch.addNodes(b, nodesVectorOffset);\n _RecordBatch.addBuffers(b, buffersVectorOffset);\n return _RecordBatch.endRecordBatch(b);\n}\n\n/** @ignore */\nfunction encodeDictionaryBatch(b: Builder, dictionaryBatch: DictionaryBatch) {\n const dataOffset = RecordBatch.encode(b, dictionaryBatch.data);\n _DictionaryBatch.startDictionaryBatch(b);\n _DictionaryBatch.addId(b, new Long(dictionaryBatch.id, 0));\n _DictionaryBatch.addIsDelta(b, dictionaryBatch.isDelta);\n _DictionaryBatch.addData(b, dataOffset);\n return _DictionaryBatch.endDictionaryBatch(b);\n}\n\n/** @ignore */\nfunction encodeFieldNode(b: Builder, node: FieldNode) {\n return _FieldNode.createFieldNode(b, new Long(node.length, 0), new Long(node.nullCount, 0));\n}\n\n/** @ignore */\nfunction encodeBufferRegion(b: Builder, node: BufferRegion) {\n return _Buffer.createBuffer(b, new Long(node.offset, 0), new Long(node.length, 0));\n}\n\n/** @ignore */\nconst platformIsLittleEndian = (function() {\n const buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] === 256;\n})();\n\n/** @ignore */\ntype MessageHeaderDecoder = () => T extends MessageHeader.Schema ? Schema\n : T extends MessageHeader.RecordBatch ? RecordBatch\n : T extends MessageHeader.DictionaryBatch ? DictionaryBatch : never;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MessageHeader } from '../enum';\nimport { flatbuffers } from 'flatbuffers';\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport { Message } from './metadata/message';\nimport { isFileHandle } from '../util/compat';\nimport { AsyncRandomAccessFile } from '../io/file';\nimport { toUint8Array, ArrayBufferViewInput } from '../util/buffer';\nimport { ByteStream, ReadableSource, AsyncByteStream } from '../io/stream';\nimport { ArrowJSON, ArrowJSONLike, ITERATOR_DONE, FileHandle } from '../io/interfaces';\n\n/** @ignore */ const invalidMessageType = (type: MessageHeader) => `Expected ${MessageHeader[type]} Message in stream, but was null or length 0.`;\n/** @ignore */ const nullMessage = (type: MessageHeader) => `Header pointer of flatbuffer-encoded ${MessageHeader[type]} Message is null or length 0.`;\n/** @ignore */ const invalidMessageMetadata = (expected: number, actual: number) => `Expected to read ${expected} metadata bytes, but only read ${actual}.`;\n/** @ignore */ const invalidMessageBodyLength = (expected: number, actual: number) => `Expected to read ${expected} bytes for message body, but only read ${actual}.`;\n\n/** @ignore */\nexport class MessageReader implements IterableIterator {\n protected source: ByteStream;\n constructor(source: ByteStream | ArrayBufferViewInput | Iterable) {\n this.source = source instanceof ByteStream ? source : new ByteStream(source);\n }\n public [Symbol.iterator](): IterableIterator { return this as IterableIterator; }\n public next(): IteratorResult {\n let r;\n if ((r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return ( r) as IteratorResult;\n }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readMessageBody(bodyLength: number): Uint8Array {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message && message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected readMetadataLength(): IteratorResult {\n const buf = this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb && bb.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected readMetadata(metadataLength: number): IteratorResult {\n const buf = this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class AsyncMessageReader implements AsyncIterableIterator {\n protected source: AsyncByteStream;\n constructor(source: ReadableSource);\n constructor(source: FileHandle, byteLength?: number);\n constructor(source: any, byteLength?: number) {\n this.source = source instanceof AsyncByteStream ? source\n : isFileHandle(source)\n ? new AsyncRandomAccessFile(source, byteLength!)\n : new AsyncByteStream(source);\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator { return this as AsyncIterableIterator; }\n public async next(): Promise> {\n let r;\n if ((r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = await this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return ( r) as IteratorResult;\n }\n public async throw(value?: any) { return await this.source.throw(value); }\n public async return(value?: any) { return await this.source.return(value); }\n public async readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = await this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public async readMessageBody(bodyLength: number): Promise {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(await this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public async readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = await this.readMessage(type);\n const schema = message && message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected async readMetadataLength(): Promise> {\n const buf = await this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb && bb.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected async readMetadata(metadataLength: number): Promise> {\n const buf = await this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class JSONMessageReader extends MessageReader {\n private _schema = false;\n private _json: ArrowJSON;\n private _body: any[] = [];\n private _batchIndex = 0;\n private _dictionaryIndex = 0;\n constructor(source: ArrowJSON | ArrowJSONLike) {\n super(new Uint8Array(0));\n this._json = source instanceof ArrowJSON ? source : new ArrowJSON(source);\n }\n public next() {\n const { _json } = this;\n if (!this._schema) {\n this._schema = true;\n const message = Message.fromJSON(_json.schema, MessageHeader.Schema);\n return { done: false, value: message };\n }\n if (this._dictionaryIndex < _json.dictionaries.length) {\n const batch = _json.dictionaries[this._dictionaryIndex++];\n this._body = batch['data']['columns'];\n const message = Message.fromJSON(batch, MessageHeader.DictionaryBatch);\n return { done: false, value: message };\n }\n if (this._batchIndex < _json.batches.length) {\n const batch = _json.batches[this._batchIndex++];\n this._body = batch['columns'];\n const message = Message.fromJSON(batch, MessageHeader.RecordBatch);\n return { done: false, value: message };\n }\n this._body = [];\n return ITERATOR_DONE;\n }\n public readMessageBody(_bodyLength?: number) {\n return flattenDataSources(this._body) as any;\n function flattenDataSources(xs: any[]): any[][] {\n return (xs || []).reduce((buffers, column: any) => [\n ...buffers,\n ...(column['VALIDITY'] && [column['VALIDITY']] || []),\n ...(column['TYPE'] && [column['TYPE']] || []),\n ...(column['OFFSET'] && [column['OFFSET']] || []),\n ...(column['DATA'] && [column['DATA']] || []),\n ...flattenDataSources(column['children'])\n ], [] as any[][]);\n }\n }\n public readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readSchema() {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message && message.header();\n if (!message || !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n}\n\n/** @ignore */\nexport const PADDING = 4;\n/** @ignore */\nexport const MAGIC_STR = 'ARROW1';\n/** @ignore */\nexport const MAGIC = new Uint8Array(MAGIC_STR.length);\n\nfor (let i = 0; i < MAGIC_STR.length; i += 1 | 0) {\n MAGIC[i] = MAGIC_STR.charCodeAt(i);\n}\n\n/** @ignore */\nexport function checkForMagicArrowString(buffer: Uint8Array, index = 0) {\n for (let i = -1, n = MAGIC.length; ++i < n;) {\n if (MAGIC[i] !== buffer[index + i]) {\n return false;\n }\n }\n return true;\n}\n\n/** @ignore */\nexport const magicLength = MAGIC.length;\n/** @ignore */\nexport const magicAndPadding = magicLength + PADDING;\n/** @ignore */\nexport const magicX2AndPadding = magicLength * 2 + PADDING;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { Visitor } from '../visitor';\nimport { Type, UnionMode } from '../enum';\nimport { RecordBatch } from '../recordbatch';\nimport { VectorType as V } from '../interfaces';\nimport { rebaseValueOffsets } from '../util/buffer';\nimport { packBools, truncateBitmap } from '../util/bit';\nimport { selectVectorChildrenArgs } from '../util/args';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message';\nimport {\n DataType, Dictionary,\n Float, Int, Date_, Interval, Time, Timestamp, Union,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n} from '../type';\n\n/** @ignore */\nexport interface VectorAssembler extends Visitor {\n visit(node: T): this;\n visitMany(nodes: T[]): this[];\n getVisitFn(node: T): (vector: V) => this;\n getVisitFn(node: V | Data | T): (vector: V) => this;\n\n visitBool (vector: V): this;\n visitInt (vector: V): this;\n visitFloat (vector: V): this;\n visitUtf8 (vector: V): this;\n visitBinary (vector: V): this;\n visitFixedSizeBinary (vector: V): this;\n visitDate (vector: V): this;\n visitTimestamp (vector: V): this;\n visitTime (vector: V): this;\n visitDecimal (vector: V): this;\n visitList (vector: V): this;\n visitStruct (vector: V): this;\n visitUnion (vector: V): this;\n visitInterval (vector: V): this;\n visitFixedSizeList (vector: V): this;\n visitMap (vector: V): this;\n}\n\n/** @ignore */\nexport class VectorAssembler extends Visitor {\n\n /** @nocollapse */\n public static assemble(...args: (T | T[])[]) {\n const assembler = new VectorAssembler();\n const vectorChildren = selectVectorChildrenArgs(RecordBatch, args);\n const [assembleResult = assembler] = assembler.visitMany(vectorChildren);\n return assembleResult;\n }\n\n private constructor() { super(); }\n\n public visit(vector: T): this {\n if (!DataType.isDictionary(vector.type)) {\n const { data, length, nullCount } = vector;\n if (length > 2147483647) {\n /* istanbul ignore next */\n throw new RangeError('Cannot write arrays larger than 2^31 - 1 in length');\n }\n if (!DataType.isNull(vector.type)) {\n addBuffer.call(this, nullCount <= 0\n ? new Uint8Array(0) // placeholder validity buffer\n : truncateBitmap(data.offset, length, data.nullBitmap)\n );\n }\n this.nodes.push(new FieldNode(length, nullCount));\n }\n return super.visit(vector);\n }\n\n public visitNull(_nullV: V) {\n return this;\n }\n public visitDictionary(vector: V) {\n // Assemble the indices here, Dictionary assembled separately.\n return this.visit(vector.indices);\n }\n\n public get nodes() { return this._nodes; }\n public get buffers() { return this._buffers; }\n public get byteLength() { return this._byteLength; }\n public get bufferRegions() { return this._bufferRegions; }\n\n protected _byteLength = 0;\n protected _nodes: FieldNode[] = [];\n protected _buffers: ArrayBufferView[] = [];\n protected _bufferRegions: BufferRegion[] = [];\n}\n\n/** @ignore */\nfunction addBuffer(this: VectorAssembler, values: ArrayBufferView) {\n const byteLength = (values.byteLength + 7) & ~7; // Round up to a multiple of 8\n this.buffers.push(values);\n this.bufferRegions.push(new BufferRegion(this._byteLength, byteLength));\n this._byteLength += byteLength;\n return this;\n}\n\n/** @ignore */\nfunction assembleUnion(this: VectorAssembler, vector: V) {\n const { type, length, typeIds, valueOffsets } = vector;\n // All Union Vectors have a typeIds buffer\n addBuffer.call(this, typeIds);\n // If this is a Sparse Union, treat it like all other Nested types\n if (type.mode === UnionMode.Sparse) {\n return assembleNestedVector.call(this, vector);\n } else if (type.mode === UnionMode.Dense) {\n // If this is a Dense Union, add the valueOffsets buffer and potentially slice the children\n if (vector.offset <= 0) {\n // If the Vector hasn't been sliced, write the existing valueOffsets\n addBuffer.call(this, valueOffsets);\n // We can treat this like all other Nested types\n return assembleNestedVector.call(this, vector);\n } else {\n // A sliced Dense Union is an unpleasant case. Because the offsets are different for\n // each child vector, we need to \"rebase\" the valueOffsets for each child\n // Union typeIds are not necessary 0-indexed\n const maxChildTypeId = typeIds.reduce((x, y) => Math.max(x, y), typeIds[0]);\n const childLengths = new Int32Array(maxChildTypeId + 1);\n // Set all to -1 to indicate that we haven't observed a first occurrence of a particular child yet\n const childOffsets = new Int32Array(maxChildTypeId + 1).fill(-1);\n const shiftedOffsets = new Int32Array(length);\n // If we have a non-zero offset, then the value offsets do not start at\n // zero. We must a) create a new offsets array with shifted offsets and\n // b) slice the values array accordingly\n const unshiftedOffsets = rebaseValueOffsets(-valueOffsets[0], length, valueOffsets);\n for (let typeId, shift, index = -1; ++index < length;) {\n if ((shift = childOffsets[typeId = typeIds[index]]) === -1) {\n shift = childOffsets[typeId] = unshiftedOffsets[typeId];\n }\n shiftedOffsets[index] = unshiftedOffsets[index] - shift;\n ++childLengths[typeId];\n }\n addBuffer.call(this, shiftedOffsets);\n // Slice and visit children accordingly\n for (let child: Vector | null, childIndex = -1, numChildren = type.children.length; ++childIndex < numChildren;) {\n if (child = vector.getChildAt(childIndex)) {\n const typeId = type.typeIds[childIndex];\n const childLength = Math.min(length, childLengths[typeId]);\n this.visit(child.slice(childOffsets[typeId], childLength));\n }\n }\n }\n }\n return this;\n}\n\n/** @ignore */\nfunction assembleBoolVector(this: VectorAssembler, vector: V) {\n // Bool vector is a special case of FlatVector, as its data buffer needs to stay packed\n let values: Uint8Array;\n if (vector.nullCount >= vector.length) {\n // If all values are null, just insert a placeholder empty data buffer (fastest path)\n return addBuffer.call(this, new Uint8Array(0));\n } else if ((values = vector.values) instanceof Uint8Array) {\n // If values is already a Uint8Array, slice the bitmap (fast path)\n return addBuffer.call(this, truncateBitmap(vector.offset, vector.length, values));\n }\n // Otherwise if the underlying data *isn't* a Uint8Array, enumerate the\n // values as bools and re-pack them into a Uint8Array. This code isn't\n // reachable unless you're trying to manipulate the Data internals,\n // we we're only doing this for safety.\n /* istanbul ignore next */\n return addBuffer.call(this, packBools(vector));\n}\n\n/** @ignore */\nfunction assembleFlatVector(this: VectorAssembler, vector: V) {\n return addBuffer.call(this, vector.values.subarray(0, vector.length * vector.stride));\n}\n\n/** @ignore */\nfunction assembleFlatListVector(this: VectorAssembler, vector: V) {\n const { length, values, valueOffsets } = vector;\n const firstOffset = valueOffsets[0];\n const lastOffset = valueOffsets[length];\n const byteLength = Math.min(lastOffset - firstOffset, values.byteLength - firstOffset);\n // Push in the order FlatList types read their buffers\n addBuffer.call(this, rebaseValueOffsets(-valueOffsets[0], length, valueOffsets)); // valueOffsets buffer first\n addBuffer.call(this, values.subarray(firstOffset, firstOffset + byteLength)); // sliced values buffer second\n return this;\n}\n\n/** @ignore */\nfunction assembleListVector(this: VectorAssembler, vector: V) {\n const { length, valueOffsets } = vector;\n // If we have valueOffsets (MapVector, ListVector), push that buffer first\n if (valueOffsets) {\n addBuffer.call(this, rebaseValueOffsets(valueOffsets[0], length, valueOffsets));\n }\n // Then insert the List's values child\n return this.visit(vector.getChildAt(0)!);\n}\n\n/** @ignore */\nfunction assembleNestedVector(this: VectorAssembler, vector: V) {\n return this.visitMany(vector.type.children.map((_, i) => vector.getChildAt(i)!).filter(Boolean))[0];\n}\n\nVectorAssembler.prototype.visitBool = assembleBoolVector;\nVectorAssembler.prototype.visitInt = assembleFlatVector;\nVectorAssembler.prototype.visitFloat = assembleFlatVector;\nVectorAssembler.prototype.visitUtf8 = assembleFlatListVector;\nVectorAssembler.prototype.visitBinary = assembleFlatListVector;\nVectorAssembler.prototype.visitFixedSizeBinary = assembleFlatVector;\nVectorAssembler.prototype.visitDate = assembleFlatVector;\nVectorAssembler.prototype.visitTimestamp = assembleFlatVector;\nVectorAssembler.prototype.visitTime = assembleFlatVector;\nVectorAssembler.prototype.visitDecimal = assembleFlatVector;\nVectorAssembler.prototype.visitList = assembleListVector;\nVectorAssembler.prototype.visitStruct = assembleNestedVector;\nVectorAssembler.prototype.visitUnion = assembleUnion;\nVectorAssembler.prototype.visitInterval = assembleFlatVector;\nVectorAssembler.prototype.visitFixedSizeList = assembleListVector;\nVectorAssembler.prototype.visitMap = assembleListVector;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Table } from '../table';\nimport { MAGIC } from './message';\nimport { Vector } from '../vector';\nimport { Column } from '../column';\nimport { DataType } from '../type';\nimport { Schema, Field } from '../schema';\nimport { Message } from './metadata/message';\nimport * as metadata from './metadata/message';\nimport { FileBlock, Footer } from './metadata/file';\nimport { MessageHeader, MetadataVersion } from '../enum';\nimport { WritableSink, AsyncByteQueue } from '../io/stream';\nimport { VectorAssembler } from '../visitor/vectorassembler';\nimport { JSONTypeAssembler } from '../visitor/jsontypeassembler';\nimport { JSONVectorAssembler } from '../visitor/jsonvectorassembler';\nimport { ArrayBufferViewInput, toUint8Array } from '../util/buffer';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch';\nimport { Writable, ReadableInterop, ReadableDOMStreamOptions } from '../io/interfaces';\nimport { isPromise, isAsyncIterable, isWritableDOMStream, isWritableNodeStream, isIterable, isObject } from '../util/compat';\n\nexport interface RecordBatchStreamWriterOptions {\n /**\n *\n */\n autoDestroy?: boolean;\n /**\n * A flag indicating whether the RecordBatchWriter should construct pre-0.15.0\n * encapsulated IPC Messages, which reserves 4 bytes for the Message metadata\n * length instead of 8.\n * @see https://issues.apache.org/jira/browse/ARROW-6313\n */\n writeLegacyIpcFormat?: boolean;\n}\n\nexport class RecordBatchWriter extends ReadableInterop implements Writable> {\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options?: import('stream').DuplexOptions & { autoDestroy: boolean }): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n public static throughDOM(\n // @ts-ignore\n writableStrategy?: QueuingStrategy> & { autoDestroy: boolean },\n // @ts-ignore\n readableStrategy?: { highWaterMark?: number, size?: any }\n ): { writable: WritableStream | RecordBatch>, readable: ReadableStream } {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n constructor(options?: RecordBatchStreamWriterOptions) {\n super();\n isObject(options) || (options = { autoDestroy: true, writeLegacyIpcFormat: false });\n this._autoDestroy = (typeof options.autoDestroy === 'boolean') ? options.autoDestroy : true;\n this._writeLegacyIpcFormat = (typeof options.writeLegacyIpcFormat === 'boolean') ? options.writeLegacyIpcFormat : false;\n }\n\n protected _position = 0;\n protected _started = false;\n protected _autoDestroy: boolean;\n protected _writeLegacyIpcFormat: boolean;\n // @ts-ignore\n protected _sink = new AsyncByteQueue();\n protected _schema: Schema | null = null;\n protected _dictionaryBlocks: FileBlock[] = [];\n protected _recordBatchBlocks: FileBlock[] = [];\n protected _dictionaryDeltaOffsets = new Map();\n\n public toString(sync: true): string;\n public toString(sync?: false): Promise;\n public toString(sync: any = false) {\n return this._sink.toString(sync) as Promise | string;\n }\n public toUint8Array(sync: true): Uint8Array;\n public toUint8Array(sync?: false): Promise;\n public toUint8Array(sync: any = false) {\n return this._sink.toUint8Array(sync) as Promise | Uint8Array;\n }\n\n public writeAll(input: Table | Iterable>): this;\n public writeAll(input: AsyncIterable>): Promise;\n public writeAll(input: PromiseLike>>): Promise;\n public writeAll(input: PromiseLike | Iterable>>): Promise;\n public writeAll(input: PromiseLike | Table | Iterable> | AsyncIterable>) {\n if (isPromise(input)) {\n return input.then((x) => this.writeAll(x));\n } else if (isAsyncIterable>(input)) {\n return writeAllAsync(this, input);\n }\n return writeAll(this, input);\n }\n\n public get closed() { return this._sink.closed; }\n public [Symbol.asyncIterator]() { return this._sink[Symbol.asyncIterator](); }\n public toDOMStream(options?: ReadableDOMStreamOptions) { return this._sink.toDOMStream(options); }\n public toNodeStream(options?: import('stream').ReadableOptions) { return this._sink.toNodeStream(options); }\n\n public close() {\n return this.reset()._sink.close();\n }\n public abort(reason?: any) {\n return this.reset()._sink.abort(reason);\n }\n public finish() {\n this._autoDestroy ? this.close() : this.reset(this._sink, this._schema);\n return this;\n }\n public reset(sink: WritableSink = this._sink, schema: Schema | null = null) {\n\n if ((sink === this._sink) || (sink instanceof AsyncByteQueue)) {\n this._sink = sink as AsyncByteQueue;\n } else {\n this._sink = new AsyncByteQueue();\n if (sink && isWritableDOMStream(sink)) {\n this.toDOMStream({ type: 'bytes' }).pipeTo(sink);\n } else if (sink && isWritableNodeStream(sink)) {\n this.toNodeStream({ objectMode: false }).pipe(sink);\n }\n }\n\n if (this._started && this._schema) {\n this._writeFooter(this._schema);\n }\n\n this._started = false;\n this._dictionaryBlocks = [];\n this._recordBatchBlocks = [];\n this._dictionaryDeltaOffsets = new Map();\n\n if (!schema || !(schema.compareTo(this._schema))) {\n if (schema === null) {\n this._position = 0;\n this._schema = null;\n } else {\n this._started = true;\n this._schema = schema;\n this._writeSchema(schema);\n }\n }\n\n return this;\n }\n\n public write(payload?: Table | RecordBatch | Iterable> | null) {\n\n let schema: Schema | null = null;\n\n if (!this._sink) {\n throw new Error(`RecordBatchWriter is closed`);\n } else if (payload === null || payload === undefined) {\n return this.finish() && undefined;\n } else if (payload instanceof Table && !(schema = payload.schema)) {\n return this.finish() && undefined;\n } else if (payload instanceof RecordBatch && !(schema = payload.schema)) {\n return this.finish() && undefined;\n }\n\n if (schema && !schema.compareTo(this._schema)) {\n if (this._started && this._autoDestroy) {\n return this.close();\n }\n this.reset(this._sink, schema);\n }\n\n if (payload instanceof RecordBatch) {\n if (!(payload instanceof _InternalEmptyPlaceholderRecordBatch)) {\n this._writeRecordBatch(payload);\n }\n } else if (payload instanceof Table) {\n this.writeAll(payload.chunks);\n } else if (isIterable(payload)) {\n this.writeAll(payload);\n }\n }\n\n protected _writeMessage(message: Message, alignment = 8) {\n\n const a = alignment - 1;\n const buffer = Message.encode(message);\n const flatbufferSize = buffer.byteLength;\n const prefixSize = !this._writeLegacyIpcFormat ? 8 : 4;\n const alignedSize = (flatbufferSize + prefixSize + a) & ~a;\n const nPaddingBytes = alignedSize - flatbufferSize - prefixSize;\n\n if (message.headerType === MessageHeader.RecordBatch) {\n this._recordBatchBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n } else if (message.headerType === MessageHeader.DictionaryBatch) {\n this._dictionaryBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n }\n\n // If not in legacy pre-0.15.0 mode, write the stream continuation indicator\n if (!this._writeLegacyIpcFormat) {\n this._write(Int32Array.of(-1));\n }\n // Write the flatbuffer size prefix including padding\n this._write(Int32Array.of(alignedSize - prefixSize));\n // Write the flatbuffer\n if (flatbufferSize > 0) { this._write(buffer); }\n // Write any padding\n return this._writePadding(nPaddingBytes);\n }\n\n protected _write(chunk: ArrayBufferViewInput) {\n if (this._started) {\n const buffer = toUint8Array(chunk);\n if (buffer && buffer.byteLength > 0) {\n this._sink.write(buffer);\n this._position += buffer.byteLength;\n }\n }\n return this;\n }\n\n protected _writeSchema(schema: Schema) {\n return this._writeMessage(Message.from(schema));\n }\n\n // @ts-ignore\n protected _writeFooter(schema: Schema) {\n // eos bytes\n return this._writeLegacyIpcFormat\n ? this._write(Int32Array.of(0))\n : this._write(Int32Array.of(-1, 0));\n }\n\n protected _writeMagic() {\n return this._write(MAGIC);\n }\n\n protected _writePadding(nBytes: number) {\n return nBytes > 0 ? this._write(new Uint8Array(nBytes)) : this;\n }\n\n protected _writeRecordBatch(batch: RecordBatch) {\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(batch);\n const recordBatch = new metadata.RecordBatch(batch.length, nodes, bufferRegions);\n const message = Message.from(recordBatch, byteLength);\n return this\n ._writeDictionaries(batch)\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n\n protected _writeDictionaryBatch(dictionary: Vector, id: number, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(dictionary);\n const recordBatch = new metadata.RecordBatch(dictionary.length, nodes, bufferRegions);\n const dictionaryBatch = new metadata.DictionaryBatch(recordBatch, id, isDelta);\n const message = Message.from(dictionaryBatch, byteLength);\n return this\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n\n protected _writeBodyBuffers(buffers: ArrayBufferView[]) {\n let buffer: ArrayBufferView;\n let size: number, padding: number;\n for (let i = -1, n = buffers.length; ++i < n;) {\n if ((buffer = buffers[i]) && (size = buffer.byteLength) > 0) {\n this._write(buffer);\n if ((padding = ((size + 7) & ~7) - size) > 0) {\n this._writePadding(padding);\n }\n }\n }\n return this;\n }\n\n protected _writeDictionaries(batch: RecordBatch) {\n for (let [id, dictionary] of batch.dictionaries) {\n let offset = this._dictionaryDeltaOffsets.get(id) || 0;\n if (offset === 0 || (dictionary = dictionary.slice(offset)).length > 0) {\n const chunks = 'chunks' in dictionary ? (dictionary as any).chunks : [dictionary];\n for (const chunk of chunks) {\n this._writeDictionaryBatch(chunk, id, offset > 0);\n offset += chunk.length;\n }\n }\n }\n return this;\n }\n}\n\n/** @ignore */\nexport class RecordBatchStreamWriter extends RecordBatchWriter {\n public static writeAll(input: Table | Iterable>, options?: RecordBatchStreamWriterOptions): RecordBatchStreamWriter;\n public static writeAll(input: AsyncIterable>, options?: RecordBatchStreamWriterOptions): Promise>;\n public static writeAll(input: PromiseLike>>, options?: RecordBatchStreamWriterOptions): Promise>;\n public static writeAll(input: PromiseLike | Iterable>>, options?: RecordBatchStreamWriterOptions): Promise>;\n /** @nocollapse */\n public static writeAll(input: any, options?: RecordBatchStreamWriterOptions) {\n const writer = new RecordBatchStreamWriter(options);\n if (isPromise(input)) {\n return input.then((x) => writer.writeAll(x));\n } else if (isAsyncIterable>(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n}\n\n/** @ignore */\nexport class RecordBatchFileWriter extends RecordBatchWriter {\n public static writeAll(input: Table | Iterable>): RecordBatchFileWriter;\n public static writeAll(input: AsyncIterable>): Promise>;\n public static writeAll(input: PromiseLike>>): Promise>;\n public static writeAll(input: PromiseLike | Iterable>>): Promise>;\n /** @nocollapse */\n public static writeAll(input: any) {\n const writer = new RecordBatchFileWriter();\n if (isPromise(input)) {\n return input.then((x) => writer.writeAll(x));\n } else if (isAsyncIterable>(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n\n constructor() {\n super();\n this._autoDestroy = true;\n }\n\n // @ts-ignore\n protected _writeSchema(schema: Schema) {\n return this._writeMagic()._writePadding(2);\n }\n\n protected _writeFooter(schema: Schema) {\n const buffer = Footer.encode(new Footer(\n schema, MetadataVersion.V4,\n this._recordBatchBlocks, this._dictionaryBlocks\n ));\n return super\n ._writeFooter(schema) // EOS bytes for sequential readers\n ._write(buffer) // Write the flatbuffer\n ._write(Int32Array.of(buffer.byteLength)) // then the footer size suffix\n ._writeMagic(); // then the magic suffix\n }\n}\n\n/** @ignore */\nexport class RecordBatchJSONWriter extends RecordBatchWriter {\n\n public static writeAll(this: typeof RecordBatchWriter, input: Table | Iterable>): RecordBatchJSONWriter;\n // @ts-ignore\n public static writeAll(this: typeof RecordBatchWriter, input: AsyncIterable>): Promise>;\n public static writeAll(this: typeof RecordBatchWriter, input: PromiseLike>>): Promise>;\n public static writeAll(this: typeof RecordBatchWriter, input: PromiseLike | Iterable>>): Promise>;\n /** @nocollapse */\n public static writeAll(this: typeof RecordBatchWriter, input: any) {\n return new RecordBatchJSONWriter().writeAll(input as any);\n }\n\n private _recordBatches: RecordBatch[];\n private _dictionaries: RecordBatch[];\n\n constructor() {\n super();\n this._autoDestroy = true;\n this._recordBatches = [];\n this._dictionaries = [];\n }\n\n protected _writeMessage() { return this; }\n // @ts-ignore\n protected _writeFooter(schema: Schema) { return this; }\n protected _writeSchema(schema: Schema) {\n return this._write(`{\\n \"schema\": ${\n JSON.stringify({ fields: schema.fields.map(fieldToJSON) }, null, 2)\n }`);\n }\n protected _writeDictionaries(batch: RecordBatch) {\n if (batch.dictionaries.size > 0) {\n this._dictionaries.push(batch);\n }\n return this;\n }\n protected _writeDictionaryBatch(dictionary: Vector, id: number, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n this._write(this._dictionaryBlocks.length === 0 ? ` ` : `,\\n `);\n this._write(`${dictionaryBatchToJSON(dictionary, id, isDelta)}`);\n this._dictionaryBlocks.push(new FileBlock(0, 0, 0));\n return this;\n }\n protected _writeRecordBatch(batch: RecordBatch) {\n this._writeDictionaries(batch);\n this._recordBatches.push(batch);\n return this;\n }\n public close() {\n\n if (this._dictionaries.length > 0) {\n this._write(`,\\n \"dictionaries\": [\\n`);\n for (const batch of this._dictionaries) {\n super._writeDictionaries(batch);\n }\n this._write(`\\n ]`);\n }\n\n if (this._recordBatches.length > 0) {\n for (let i = -1, n = this._recordBatches.length; ++i < n;) {\n this._write(i === 0 ? `,\\n \"batches\": [\\n ` : `,\\n `);\n this._write(`${recordBatchToJSON(this._recordBatches[i])}`);\n this._recordBatchBlocks.push(new FileBlock(0, 0, 0));\n }\n this._write(`\\n ]`);\n }\n\n if (this._schema) {\n this._write(`\\n}`);\n }\n\n this._dictionaries = [];\n this._recordBatches = [];\n\n return super.close();\n }\n}\n\n/** @ignore */\nfunction writeAll(writer: RecordBatchWriter, input: Table | Iterable>) {\n let chunks = input as Iterable>;\n if (input instanceof Table) {\n chunks = input.chunks;\n writer.reset(undefined, input.schema);\n }\n for (const batch of chunks) {\n writer.write(batch);\n }\n return writer.finish();\n}\n\n/** @ignore */\nasync function writeAllAsync(writer: RecordBatchWriter, batches: AsyncIterable>) {\n for await (const batch of batches) {\n writer.write(batch);\n }\n return writer.finish();\n}\n\n/** @ignore */\nfunction fieldToJSON({ name, type, nullable }: Field): object {\n const assembler = new JSONTypeAssembler();\n return {\n 'name': name, 'nullable': nullable,\n 'type': assembler.visit(type),\n 'children': (type.children || []).map(fieldToJSON),\n 'dictionary': !DataType.isDictionary(type) ? undefined : {\n 'id': type.id,\n 'isOrdered': type.isOrdered,\n 'indexType': assembler.visit(type.indices)\n }\n };\n}\n\n/** @ignore */\nfunction dictionaryBatchToJSON(dictionary: Vector, id: number, isDelta = false) {\n const field = new Field(`${id}`, dictionary.type, dictionary.nullCount > 0);\n const columns = JSONVectorAssembler.assemble(new Column(field, [dictionary]));\n return JSON.stringify({\n 'id': id,\n 'isDelta': isDelta,\n 'data': {\n 'count': dictionary.length,\n 'columns': columns\n }\n }, null, 2);\n}\n\n/** @ignore */\nfunction recordBatchToJSON(records: RecordBatch) {\n return JSON.stringify({\n 'count': records.length,\n 'columns': JSONVectorAssembler.assemble(records)\n }, null, 2);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Column } from '../column';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Data, Buffers } from '../data';\nimport { Schema, Field } from '../schema';\nimport { Chunked } from '../vector/chunked';\nimport { RecordBatch } from '../recordbatch';\n\nconst noopBuf = new Uint8Array(0);\nconst nullBufs = (bitmapLength: number) => [\n noopBuf, noopBuf, new Uint8Array(bitmapLength), noopBuf\n] as Buffers;\n\n/** @ignore */\nexport function ensureSameLengthData(\n schema: Schema,\n chunks: Data[],\n batchLength = chunks.reduce((l, c) => Math.max(l, c.length), 0)\n) {\n let data: Data;\n let field: Field;\n let i = -1, n = chunks.length;\n const fields = [...schema.fields];\n const batchData = [] as Data[];\n const bitmapLength = ((batchLength + 63) & ~63) >> 3;\n while (++i < n) {\n if ((data = chunks[i]) && data.length === batchLength) {\n batchData[i] = data;\n } else {\n (field = fields[i]).nullable || (fields[i] = fields[i].clone({ nullable: true }) as Field);\n batchData[i] = data ? data._changeLengthAndBackfillNullBitmap(batchLength)\n : Data.new(field.type, 0, batchLength, batchLength, nullBufs(bitmapLength)) as Data;\n }\n }\n return [new Schema(fields), batchLength, batchData] as [Schema, number, Data[]];\n}\n\n/** @ignore */\nexport function distributeColumnsIntoRecordBatches(columns: Column[]): [Schema, RecordBatch[]] {\n return distributeVectorsIntoRecordBatches(new Schema(columns.map(({ field }) => field)), columns);\n}\n\n/** @ignore */\nexport function distributeVectorsIntoRecordBatches(schema: Schema, vecs: (Vector | Chunked)[]): [Schema, RecordBatch[]] {\n return uniformlyDistributeChunksAcrossRecordBatches(schema, vecs.map((v) => v instanceof Chunked ? v.chunks.map((c) => c.data) : [v.data]));\n}\n\n/** @ignore */\nfunction uniformlyDistributeChunksAcrossRecordBatches(schema: Schema, columns: Data[][]): [Schema, RecordBatch[]] {\n\n const fields = [...schema.fields];\n const batchArgs = [] as [number, Data[]][];\n const memo = { numBatches: columns.reduce((n, c) => Math.max(n, c.length), 0) };\n\n let numBatches = 0, batchLength = 0;\n let i: number = -1, numColumns = columns.length;\n let child: Data, childData: Data[] = [];\n\n while (memo.numBatches-- > 0) {\n\n for (batchLength = Number.POSITIVE_INFINITY, i = -1; ++i < numColumns;) {\n childData[i] = child = columns[i].shift()!;\n batchLength = Math.min(batchLength, child ? child.length : batchLength);\n }\n\n if (isFinite(batchLength)) {\n childData = distributeChildData(fields, batchLength, childData, columns, memo);\n if (batchLength > 0) {\n batchArgs[numBatches++] = [batchLength, childData.slice()];\n }\n }\n }\n return [\n schema = new Schema(fields, schema.metadata),\n batchArgs.map((xs) => new RecordBatch(schema, ...xs))\n ];\n}\n\n/** @ignore */\nfunction distributeChildData(fields: Field[], batchLength: number, childData: Data[], columns: Data[][], memo: { numBatches: number }) {\n let data: Data;\n let field: Field;\n let length = 0, i = -1, n = columns.length;\n const bitmapLength = ((batchLength + 63) & ~63) >> 3;\n while (++i < n) {\n if ((data = childData[i]) && ((length = data.length) >= batchLength)) {\n if (length === batchLength) {\n childData[i] = data;\n } else {\n childData[i] = data.slice(0, batchLength);\n data = data.slice(batchLength, length - batchLength);\n memo.numBatches = Math.max(memo.numBatches, columns[i].unshift(data));\n }\n } else {\n (field = fields[i]).nullable || (fields[i] = field.clone({ nullable: true }) as Field);\n childData[i] = data ? data._changeLengthAndBackfillNullBitmap(batchLength)\n : Data.new(field.type, 0, batchLength, batchLength, nullBufs(bitmapLength)) as Data;\n }\n }\n return childData;\n}\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { DataType } from '../type';\nimport { Chunked } from './chunked';\nimport { clampRange } from '../util/vector';\nimport { VectorType as V } from '../interfaces';\nimport { AbstractVector, Vector, Clonable, Sliceable, Applicative } from '../vector';\n\n/** @ignore */\nexport interface BaseVector extends Clonable>, Sliceable>, Applicative> {\n slice(begin?: number, end?: number): V;\n concat(...others: Vector[]): Chunked;\n clone(data: Data, children?: Vector[]): V;\n}\n\n/** @ignore */\nexport abstract class BaseVector extends AbstractVector\n implements Clonable>, Sliceable>, Applicative> {\n\n protected _children?: Vector[];\n\n constructor(data: Data, children?: Vector[]) {\n super();\n this._children = children;\n this.numChildren = data.childData.length;\n this._bindDataAccessors(this.data = data);\n }\n\n public readonly data: Data;\n public readonly numChildren: number;\n\n public get type() { return this.data.type; }\n public get typeId() { return this.data.typeId; }\n public get length() { return this.data.length; }\n public get offset() { return this.data.offset; }\n public get stride() { return this.data.stride; }\n public get nullCount() { return this.data.nullCount; }\n public get byteLength() { return this.data.byteLength; }\n public get VectorName() { return `${Type[this.typeId]}Vector`; }\n\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n public get values() { return this.data.values; }\n public get typeIds() { return this.data.typeIds; }\n public get nullBitmap() { return this.data.nullBitmap; }\n public get valueOffsets() { return this.data.valueOffsets; }\n\n public get [Symbol.toStringTag]() { return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`; }\n\n public clone(data: Data, children = this._children) {\n return Vector.new(data, children) as any;\n }\n\n public concat(...others: Vector[]) {\n return Chunked.concat(this, ...others);\n }\n\n public slice(begin?: number, end?: number) {\n // Adjust args similar to Array.prototype.slice. Normalize begin/end to\n // clamp between 0 and length, and wrap around on negative indices, e.g.\n // slice(-1, 5) or slice(5, -1)\n return clampRange(this, begin, end, this._sliceInternal);\n }\n\n public isValid(index: number): boolean {\n if (this.nullCount > 0) {\n const idx = this.offset + index;\n const val = this.nullBitmap[idx >> 3];\n const mask = (val & (1 << (idx % 8)));\n return mask !== 0;\n }\n return true;\n }\n\n public getChildAt(index: number): Vector | null {\n return index < 0 || index >= this.numChildren ? null : (\n (this._children || (this._children = []))[index] ||\n (this._children[index] = Vector.new(this.data.childData[index] as Data))\n ) as Vector;\n }\n\n public toJSON(): any { return [...this]; }\n\n protected _sliceInternal(self: this, begin: number, end: number) {\n return self.clone(self.data.slice(begin, end - begin), null!);\n }\n\n // @ts-ignore\n protected _bindDataAccessors(data: Data) {\n // Implementation in src/vectors/index.ts due to circular dependency/packaging shenanigans\n }\n}\n\n(BaseVector.prototype as any)[Symbol.isConcatSpreadable] = true;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { BaseVector } from './base';\nimport { Binary, Utf8 } from '../type';\n\n/** @ignore */\nexport class BinaryVector extends BaseVector {\n public asUtf8() {\n return Vector.new(this.data.clone(new Utf8()));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Bool } from '../type';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\n\n/** @ignore */\nexport class BoolVector extends BaseVector {\n public static from(input: Iterable): BoolVector;\n public static from(input: AsyncIterable): Promise;\n public static from(input: VectorBuilderOptions): Chunked;\n public static from(input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(input: Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync) {\n return vectorFromValuesWithType(() => new Bool(), input);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DateUnit } from '../enum';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorType as V } from '../interfaces';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { Date_, DateDay, DateMillisecond } from '../type';\n\n/** @ignore */\ntype FromArgs = [Iterable, T['unit']];\n\n/** @ignore */\nexport class DateVector extends BaseVector {\n public static from(...args: FromArgs): V;\n public static from(...args: FromArgs): V;\n public static from(input: Iterable): V;\n public static from(input: AsyncIterable): Promise>;\n public static from(input: VectorBuilderOptions): Chunked;\n public static from(input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(...args: FromArgs | [Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync]) {\n if (args.length === 2) {\n return vectorFromValuesWithType(() => args[1] === DateUnit.DAY ? new DateDay() : new DateMillisecond() as T, args[0]);\n }\n return vectorFromValuesWithType(() => new DateMillisecond() as T, args[0]);\n }\n}\n\n/** @ignore */\nexport class DateDayVector extends DateVector {}\n\n/** @ignore */\nexport class DateMillisecondVector extends DateVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Decimal } from '../type';\nimport { BaseVector } from './base';\n\n/** @ignore */\nexport class DecimalVector extends BaseVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { BaseVector } from './base';\nimport { VectorType as V } from '../interfaces';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { DataType, Dictionary, TKeys } from '../type';\n\n/** @ignore */\ntype FromArgs = [Vector, TKey, ArrayLike | TKey['TArray']];\n\n/** @ignore */\nexport class DictionaryVector extends BaseVector> {\n public static from(...args: FromArgs): V>;\n public static from(input: VectorBuilderOptions>): Vector>;\n public static from(input: VectorBuilderOptionsAsync>): Promise>>;\n /** @nocollapse */\n public static from(...args: any[]) {\n if (args.length === 3) {\n const [values, indices, keys] = args as FromArgs;\n const type = new Dictionary(values.type, indices, null, null);\n return Vector.new(Data.Dictionary(type, 0, keys.length, 0, null, keys, values));\n }\n return vectorFromValuesWithType(() => args[0].type, args[0]);\n }\n\n constructor(data: Data>) {\n super(data);\n this.indices = Vector.new(data.clone(this.type.indices));\n }\n\n public readonly indices: V;\n\n public get dictionary() { return > this.data.dictionary; }\n public reverseLookup(value: T) { return this.dictionary.indexOf(value); }\n public getKey(idx: number): TKey['TValue'] | null { return this.indices.get(idx); }\n public getValue(key: number): T['TValue'] | null { return this.dictionary.get(key); }\n public setKey(idx: number, key: TKey['TValue'] | null) { return this.indices.set(idx, key); }\n public setValue(key: number, value: T['TValue'] | null) { return this.dictionary.set(key, value); }\n}\n\n(DictionaryVector.prototype as any).indices = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { FixedSizeBinary } from '../type';\n\n/** @ignore */\nexport class FixedSizeBinaryVector extends BaseVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { DataType, FixedSizeList } from '../type';\n\n/** @ignore */\nexport class FixedSizeListVector extends BaseVector> {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { Float, Float16, Float32, Float64, FloatArray } from '../type';\nimport { VectorType as V, TypedArrayConstructor } from '../interfaces';\n\n/** @ignore */\ntype FloatVectorConstructors =\n typeof FloatVector |\n typeof Float16Vector |\n typeof Float32Vector |\n typeof Float64Vector ;\n\n/** @ignore */\ntype FromInput =\n FloatArray |\n Iterable |\n AsyncIterable |\n VectorBuilderOptions |\n VectorBuilderOptionsAsync ;\n\n/** @ignore */\ntype FloatArrayCtor = TypedArrayConstructor;\n\n/** @ignore */\nexport class FloatVector extends BaseVector {\n\n // Guaranteed zero-copy variants\n public static from(this: typeof FloatVector, input: Uint16Array): Float16Vector;\n public static from(this: typeof FloatVector, input: Float32Array): Float32Vector;\n public static from(this: typeof FloatVector, input: Float64Array): Float64Vector;\n\n // Zero-copy if input is a TypedArray of the same type as the\n // Vector that from is called on, otherwise uses the Builders\n public static from(this: typeof Float16Vector, input: FromInput): Float16Vector;\n public static from(this: typeof Float32Vector, input: FromInput): Float32Vector;\n public static from(this: typeof Float64Vector, input: FromInput): Float64Vector;\n\n // Not zero-copy\n public static from(this: typeof FloatVector, input: Iterable): V;\n public static from(this: typeof FloatVector, input: AsyncIterable): Promise>;\n public static from(this: typeof FloatVector, input: VectorBuilderOptions): Chunked;\n public static from(this: typeof FloatVector, input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(this: FloatVectorConstructors, input: FromInput) {\n\n let ArrowType = vectorTypeToDataType(this);\n\n if ((input instanceof ArrayBuffer) || ArrayBuffer.isView(input)) {\n let InputType = arrayTypeToDataType(input.constructor as FloatArrayCtor) || ArrowType;\n // Special case, infer the Arrow DataType from the input if calling the base\n // FloatVector.from with a TypedArray, e.g. `FloatVector.from(new Float32Array())`\n if (ArrowType === null) {\n ArrowType = InputType;\n }\n // If the DataType inferred from the Vector constructor matches the\n // DataType inferred from the input arguments, return zero-copy view\n if (ArrowType && ArrowType === InputType) {\n let type = new ArrowType();\n let length = input.byteLength / type.ArrayType.BYTES_PER_ELEMENT;\n // If the ArrowType is Float16 but the input type isn't a Uint16Array,\n // let the Float16Builder handle casting the input values to Uint16s.\n if (!convertTo16Bit(ArrowType, input.constructor)) {\n return Vector.new(Data.Float(type, 0, length, 0, null, input as FloatArray));\n }\n }\n }\n\n if (ArrowType) {\n // If the DataType inferred from the Vector constructor is different than\n // the DataType inferred from the input TypedArray, or if input isn't a\n // TypedArray, use the Builders to construct the result Vector\n return vectorFromValuesWithType(() => new ArrowType!() as T, input);\n }\n\n if ((input instanceof DataView) || (input instanceof ArrayBuffer)) {\n throw new TypeError(`Cannot infer float type from instance of ${input.constructor.name}`);\n }\n\n throw new TypeError('Unrecognized FloatVector input');\n }\n}\n\n/** @ignore */\nexport class Float16Vector extends FloatVector {\n // Since JS doesn't have half floats, `toArray()` returns a zero-copy slice\n // of the underlying Uint16Array data. This behavior ensures we don't incur\n // extra compute or copies if you're calling `toArray()` in order to create\n // a buffer for something like WebGL. Buf if you're using JS and want typed\n // arrays of 4-to-8-byte precision, these methods will enumerate the values\n // and clamp to the desired byte lengths.\n public toFloat32Array() { return new Float32Array(this as Iterable); }\n public toFloat64Array() { return new Float64Array(this as Iterable); }\n}\n\n/** @ignore */\nexport class Float32Vector extends FloatVector {}\n/** @ignore */\nexport class Float64Vector extends FloatVector {}\n\nconst convertTo16Bit = (typeCtor: any, dataCtor: any) => {\n return (typeCtor === Float16) && (dataCtor !== Uint16Array);\n};\n\n/** @ignore */\nconst arrayTypeToDataType = (ctor: FloatArrayCtor) => {\n switch (ctor) {\n case Uint16Array: return Float16;\n case Float32Array: return Float32;\n case Float64Array: return Float64;\n default: return null;\n }\n};\n\n/** @ignore */\nconst vectorTypeToDataType = (ctor: FloatVectorConstructors) => {\n switch (ctor) {\n case Float16Vector: return Float16;\n case Float32Vector: return Float32;\n case Float64Vector: return Float64;\n default: return null;\n }\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Interval, IntervalDayTime, IntervalYearMonth } from '../type';\n\n/** @ignore */\nexport class IntervalVector extends BaseVector {}\n/** @ignore */\nexport class IntervalDayTimeVector extends IntervalVector {}\n/** @ignore */\nexport class IntervalYearMonthVector extends IntervalVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { BigInt64Array, BigUint64Array } from '../util/compat';\nimport { toBigInt64Array, toBigUint64Array } from '../util/buffer';\nimport { Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64, IntArray } from '../type';\nimport { VectorType as V, TypedArrayConstructor, BigIntArrayConstructor, BigIntArray } from '../interfaces';\n\n/** @ignore */\ntype IntVectorConstructors =\n typeof IntVector |\n typeof Int8Vector |\n typeof Int16Vector |\n typeof Int32Vector |\n typeof Uint8Vector |\n typeof Uint16Vector |\n typeof Uint32Vector |\n typeof Int64Vector |\n typeof Uint64Vector ;\n\n/** @ignore */\ntype FromInput =\n IntArray | BigIntArray |\n Iterable |\n AsyncIterable |\n VectorBuilderOptions |\n VectorBuilderOptionsAsync ;\n\n/** @ignore */\ntype FromArgs = [FromInput, boolean?];\n\n/** @ignore */\ntype IntArrayCtor = TypedArrayConstructor | BigIntArrayConstructor;\n\n/** @ignore */\nexport class IntVector extends BaseVector {\n\n // Guaranteed zero-copy variants\n public static from(this: typeof IntVector, input: Int8Array): Int8Vector;\n public static from(this: typeof IntVector, input: Int16Array): Int16Vector;\n public static from(this: typeof IntVector, input: Int32Array): Int32Vector;\n public static from(this: typeof IntVector, input: BigInt64Array): Int64Vector;\n public static from(this: typeof IntVector, input: Int32Array, is64bit: true): Int64Vector;\n public static from(this: typeof IntVector, input: Uint8Array): Uint8Vector;\n public static from(this: typeof IntVector, input: Uint16Array): Uint16Vector;\n public static from(this: typeof IntVector, input: Uint32Array): Uint32Vector;\n public static from(this: typeof IntVector, input: BigUint64Array): Uint64Vector;\n public static from(this: typeof IntVector, input: Uint32Array, is64bit: true): Uint64Vector;\n\n // Zero-copy if input is a TypedArray of the same type as the\n // Vector that from is called on, otherwise uses the Builders\n public static from(this: typeof Int8Vector, input: FromInput): Int8Vector;\n public static from(this: typeof Int16Vector, input: FromInput): Int16Vector;\n public static from(this: typeof Int32Vector, input: FromInput): Int32Vector;\n public static from(this: typeof Int64Vector, input: FromInput): Int64Vector;\n public static from(this: typeof Uint8Vector, input: FromInput): Uint8Vector;\n public static from(this: typeof Uint16Vector, input: FromInput): Uint16Vector;\n public static from(this: typeof Uint32Vector, input: FromInput): Uint32Vector;\n public static from(this: typeof Uint64Vector, input: FromInput): Uint64Vector;\n\n // Not zero-copy\n public static from(this: typeof IntVector, input: Iterable): V;\n public static from(this: typeof IntVector, input: AsyncIterable): Promise>;\n public static from(this: typeof IntVector, input: VectorBuilderOptions): Chunked;\n public static from(this: typeof IntVector, input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(this: IntVectorConstructors, ...args: FromArgs) {\n\n let [input, is64bit = false] = args;\n let ArrowType = vectorTypeToDataType(this, is64bit);\n\n if ((input instanceof ArrayBuffer) || ArrayBuffer.isView(input)) {\n let InputType = arrayTypeToDataType(input.constructor as IntArrayCtor, is64bit) || ArrowType;\n // Special case, infer the Arrow DataType from the input if calling the base\n // IntVector.from with a TypedArray, e.g. `IntVector.from(new Int32Array())`\n if (ArrowType === null) {\n ArrowType = InputType;\n }\n // If the DataType inferred from the Vector constructor matches the\n // DataType inferred from the input arguments, return zero-copy view\n if (ArrowType && ArrowType === InputType) {\n let type = new ArrowType();\n let length = input.byteLength / type.ArrayType.BYTES_PER_ELEMENT;\n // If the ArrowType is 64bit but the input type is 32bit pairs, update the logical length\n if (convert32To64Bit(ArrowType, input.constructor)) {\n length *= 0.5;\n }\n return Vector.new(Data.Int(type, 0, length, 0, null, input as IntArray));\n }\n }\n\n if (ArrowType) {\n // If the DataType inferred from the Vector constructor is different than\n // the DataType inferred from the input TypedArray, or if input isn't a\n // TypedArray, use the Builders to construct the result Vector\n return vectorFromValuesWithType(() => new ArrowType!() as T, input);\n }\n\n if ((input instanceof DataView) || (input instanceof ArrayBuffer)) {\n throw new TypeError(`Cannot infer integer type from instance of ${input.constructor.name}`);\n }\n\n throw new TypeError('Unrecognized IntVector input');\n }\n}\n\n/** @ignore */\nexport class Int8Vector extends IntVector {}\n/** @ignore */\nexport class Int16Vector extends IntVector {}\n/** @ignore */\nexport class Int32Vector extends IntVector {}\n/** @ignore */\nexport class Int64Vector extends IntVector {\n public toBigInt64Array() {\n return toBigInt64Array(this.values);\n }\n // @ts-ignore\n private _values64: BigInt64Array;\n public get values64(): BigInt64Array {\n return this._values64 || (this._values64 = this.toBigInt64Array());\n }\n}\n\n/** @ignore */\nexport class Uint8Vector extends IntVector {}\n/** @ignore */\nexport class Uint16Vector extends IntVector {}\n/** @ignore */\nexport class Uint32Vector extends IntVector {}\n/** @ignore */\nexport class Uint64Vector extends IntVector {\n public toBigUint64Array() {\n return toBigUint64Array(this.values);\n }\n // @ts-ignore\n private _values64: BigUint64Array;\n public get values64(): BigUint64Array {\n return this._values64 || (this._values64 = this.toBigUint64Array());\n }\n}\n\nconst convert32To64Bit = (typeCtor: any, dataCtor: any) => {\n return (typeCtor === Int64 || typeCtor === Uint64) &&\n (dataCtor === Int32Array || dataCtor === Uint32Array);\n};\n\n/** @ignore */\nconst arrayTypeToDataType = (ctor: IntArrayCtor, is64bit: boolean) => {\n switch (ctor) {\n case Int8Array: return Int8;\n case Int16Array: return Int16;\n case Int32Array: return is64bit ? Int64 : Int32;\n case BigInt64Array: return Int64;\n case Uint8Array: return Uint8;\n case Uint16Array: return Uint16;\n case Uint32Array: return is64bit ? Uint64 : Uint32;\n case BigUint64Array: return Uint64;\n default: return null;\n }\n};\n\n/** @ignore */\nconst vectorTypeToDataType = (ctor: IntVectorConstructors, is64bit: boolean) => {\n switch (ctor) {\n case Int8Vector: return Int8;\n case Int16Vector: return Int16;\n case Int32Vector: return is64bit ? Int64 : Int32;\n case Int64Vector: return Int64;\n case Uint8Vector: return Uint8;\n case Uint16Vector: return Uint16;\n case Uint32Vector: return is64bit ? Uint64 : Uint32;\n case Uint64Vector: return Uint64;\n default: return null;\n }\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { DataType, List } from '../type';\n\n/** @ignore */\nexport class ListVector extends BaseVector> {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MapRow } from './row';\nimport { Field } from '../schema';\nimport { Vector } from '../vector';\nimport { BaseVector } from './base';\nimport { DataType, Map_, Struct, List } from '../type';\n\n/** @ignore */\nexport class MapVector extends BaseVector> {\n public asList() {\n const child = this.type.children[0] as Field>;\n return Vector.new(this.data.clone(new List>(child)));\n }\n public bind(index: number): Map_['TValue'] {\n const child = this.getChildAt>(0);\n const { [index]: begin, [index + 1]: end } = this.valueOffsets;\n return new MapRow(child!.slice(begin, end));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Null } from '../type';\nimport { BaseVector } from './base';\n\n/** @ignore */\nexport class NullVector extends BaseVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { StructRow } from './row';\nimport { BaseVector } from './base';\nimport { DataType, Struct } from '../type';\n\n/** @ignore */ const kRowIndex = Symbol.for('rowIndex');\n/** @ignore */\nexport class StructVector extends BaseVector> {\n // @ts-ignore\n private _row: StructRow;\n public bind(index: number): Struct['TValue'] {\n const proto = this._row || (this._row = new StructRow(this));\n const bound = Object.create(proto);\n bound[kRowIndex] = index;\n return bound;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond } from '../type';\n\n/** @ignore */\nexport class TimestampVector extends BaseVector {}\n/** @ignore */\nexport class TimestampSecondVector extends TimestampVector {}\n/** @ignore */\nexport class TimestampMillisecondVector extends TimestampVector {}\n/** @ignore */\nexport class TimestampMicrosecondVector extends TimestampVector {}\n/** @ignore */\nexport class TimestampNanosecondVector extends TimestampVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond } from '../type';\n\n/** @ignore */\nexport class TimeVector extends BaseVector {}\n/** @ignore */\nexport class TimeSecondVector extends TimeVector {}\n/** @ignore */\nexport class TimeMillisecondVector extends TimeVector {}\n/** @ignore */\nexport class TimeMicrosecondVector extends TimeVector {}\n/** @ignore */\nexport class TimeNanosecondVector extends TimeVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Union, DenseUnion, SparseUnion} from '../type';\n\n/** @ignore */\nexport class UnionVector extends BaseVector {\n public get typeIdToChildIndex() { return this.data.type.typeIdToChildIndex; }\n}\n\n/** @ignore */\nexport class DenseUnionVector extends UnionVector {\n public get valueOffsets() { return this.data.valueOffsets!; }\n}\n\n/** @ignore */\nexport class SparseUnionVector extends UnionVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { Binary, Utf8 } from '../type';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\n\n/** @ignore */\nexport class Utf8Vector extends BaseVector {\n public static from(input: Iterable): Utf8Vector;\n public static from(input: AsyncIterable): Promise;\n public static from(input: VectorBuilderOptions): Chunked;\n public static from(input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(input: Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync) {\n return vectorFromValuesWithType(() => new Utf8(), input);\n }\n public asBinary() {\n return Vector.new(this.data.clone(new Binary()));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport function partial0(visit: (node: T) => any) {\n return function(this: T) { return visit(this); };\n}\n\n/** @ignore */\nexport function partial1(visit: (node: T, a: any) => any) {\n return function(this: T, a: any) { return visit(this, a); };\n}\n\n/** @ignore */\nexport function partial2(visit: (node: T, a: any, b: any) => any) {\n return function(this: T, a: any, b: any) { return visit(this, a, b); };\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { BN } from '../util/bn';\nimport { Visitor } from '../visitor';\nimport { decodeUtf8 } from '../util/utf8';\nimport { VectorType } from '../interfaces';\nimport { uint16ToFloat64 } from '../util/math';\nimport { Type, UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface GetVisitor extends Visitor {\n visit (node: T, index: number): T['TValue'];\n visitMany (nodes: T[], indices: number[]): T['TValue'][];\n getVisitFn (node: T): (vector: VectorType, index: number) => VectorType['TValue'];\n getVisitFn(node: VectorType | Data | T): (vector: VectorType, index: number) => VectorType['TValue'];\n visitNull (vector: VectorType, index: number): T['TValue'];\n visitBool (vector: VectorType, index: number): T['TValue'];\n visitInt (vector: VectorType, index: number): T['TValue'];\n visitInt8 (vector: VectorType, index: number): T['TValue'];\n visitInt16 (vector: VectorType, index: number): T['TValue'];\n visitInt32 (vector: VectorType, index: number): T['TValue'];\n visitInt64 (vector: VectorType, index: number): T['TValue'];\n visitUint8 (vector: VectorType, index: number): T['TValue'];\n visitUint16 (vector: VectorType, index: number): T['TValue'];\n visitUint32 (vector: VectorType, index: number): T['TValue'];\n visitUint64 (vector: VectorType, index: number): T['TValue'];\n visitFloat (vector: VectorType, index: number): T['TValue'];\n visitFloat16 (vector: VectorType, index: number): T['TValue'];\n visitFloat32 (vector: VectorType, index: number): T['TValue'];\n visitFloat64 (vector: VectorType, index: number): T['TValue'];\n visitUtf8 (vector: VectorType, index: number): T['TValue'];\n visitBinary (vector: VectorType, index: number): T['TValue'];\n visitFixedSizeBinary (vector: VectorType, index: number): T['TValue'];\n visitDate (vector: VectorType, index: number): T['TValue'];\n visitDateDay (vector: VectorType, index: number): T['TValue'];\n visitDateMillisecond (vector: VectorType, index: number): T['TValue'];\n visitTimestamp (vector: VectorType, index: number): T['TValue'];\n visitTimestampSecond (vector: VectorType, index: number): T['TValue'];\n visitTimestampMillisecond (vector: VectorType, index: number): T['TValue'];\n visitTimestampMicrosecond (vector: VectorType, index: number): T['TValue'];\n visitTimestampNanosecond (vector: VectorType, index: number): T['TValue'];\n visitTime (vector: VectorType, index: number): T['TValue'];\n visitTimeSecond (vector: VectorType, index: number): T['TValue'];\n visitTimeMillisecond (vector: VectorType, index: number): T['TValue'];\n visitTimeMicrosecond (vector: VectorType, index: number): T['TValue'];\n visitTimeNanosecond (vector: VectorType, index: number): T['TValue'];\n visitDecimal (vector: VectorType, index: number): T['TValue'];\n visitList (vector: VectorType, index: number): T['TValue'];\n visitStruct (vector: VectorType, index: number): T['TValue'];\n visitUnion (vector: VectorType, index: number): T['TValue'];\n visitDenseUnion (vector: VectorType, index: number): T['TValue'];\n visitSparseUnion (vector: VectorType, index: number): T['TValue'];\n visitDictionary (vector: VectorType, index: number): T['TValue'];\n visitInterval (vector: VectorType, index: number): T['TValue'];\n visitIntervalDayTime (vector: VectorType, index: number): T['TValue'];\n visitIntervalYearMonth (vector: VectorType, index: number): T['TValue'];\n visitFixedSizeList (vector: VectorType, index: number): T['TValue'];\n visitMap (vector: VectorType, index: number): T['TValue'];\n}\n\n/** @ignore */\nexport class GetVisitor extends Visitor {}\n\n/** @ignore */const epochDaysToMs = (data: Int32Array, index: number) => 86400000 * data[index];\n/** @ignore */const epochMillisecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1]) + (data[index] >>> 0);\n/** @ignore */const epochMicrosecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1] / 1000) + ((data[index] >>> 0) / 1000);\n/** @ignore */const epochNanosecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1] / 1000000) + ((data[index] >>> 0) / 1000000);\n\n/** @ignore */const epochMillisecondsToDate = (epochMs: number) => new Date(epochMs);\n/** @ignore */const epochDaysToDate = (data: Int32Array, index: number) => epochMillisecondsToDate(epochDaysToMs(data, index));\n/** @ignore */const epochMillisecondsLongToDate = (data: Int32Array, index: number) => epochMillisecondsToDate(epochMillisecondsLongToMs(data, index));\n\n/** @ignore */\nconst getNull = (_vector: VectorType, _index: number): T['TValue'] => null;\n/** @ignore */\nconst getVariableWidthBytes = (values: Uint8Array, valueOffsets: Int32Array, index: number) => {\n const { [index]: x, [index + 1]: y } = valueOffsets;\n return x != null && y != null ? values.subarray(x, y) : null as any;\n};\n\n/** @ignore */\nconst getBool = ({ offset, values }: VectorType, index: number): T['TValue'] => {\n const idx = offset + index;\n const byte = values[idx >> 3];\n return (byte & 1 << (idx % 8)) !== 0;\n};\n\n/** @ignore */\ntype Numeric1X = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32 | Float32 | Float64;\n/** @ignore */\ntype Numeric2X = Int64 | Uint64;\n\n/** @ignore */\nconst getDateDay = ({ values }: VectorType, index: number): T['TValue'] => epochDaysToDate(values, index);\n/** @ignore */\nconst getDateMillisecond = ({ values }: VectorType, index: number): T['TValue'] => epochMillisecondsLongToDate(values, index * 2);\n/** @ignore */\nconst getNumeric = ({ stride, values }: VectorType, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getFloat16 = ({ stride, values }: VectorType, index: number): T['TValue'] => uint16ToFloat64(values[stride * index]);\n/** @ignore */\nconst getBigInts = ({ stride, values, type }: VectorType, index: number): T['TValue'] => BN.new(values.subarray(stride * index, stride * (index + 1)), type.isSigned);\n/** @ignore */\nconst getFixedSizeBinary = ({ stride, values }: VectorType, index: number): T['TValue'] => values.subarray(stride * index, stride * (index + 1));\n\n/** @ignore */\nconst getBinary = ({ values, valueOffsets }: VectorType, index: number): T['TValue'] => getVariableWidthBytes(values, valueOffsets, index);\n/** @ignore */\nconst getUtf8 = ({ values, valueOffsets }: VectorType, index: number): T['TValue'] => {\n const bytes = getVariableWidthBytes(values, valueOffsets, index);\n return bytes !== null ? decodeUtf8(bytes) : null as any;\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getInt = (vector: VectorType, index: number): T['TValue'] => (\n vector.type.bitWidth < 64\n ? getNumeric(vector as VectorType, index)\n : getBigInts(vector as VectorType, index)\n);\n\n/* istanbul ignore next */\n/** @ignore */\nconst getFloat = (vector: VectorType, index: number): T['TValue'] => (\n vector.type.precision !== Precision.HALF\n ? getNumeric(vector as VectorType, index)\n : getFloat16(vector as VectorType, index)\n);\n\n/* istanbul ignore next */\n/** @ignore */\nconst getDate = (vector: VectorType, index: number): T['TValue'] => (\n vector.type.unit === DateUnit.DAY\n ? getDateDay(vector as VectorType, index)\n : getDateMillisecond(vector as VectorType, index)\n);\n\n/** @ignore */\nconst getTimestampSecond = ({ values }: VectorType, index: number): T['TValue'] => 1000 * epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMillisecond = ({ values }: VectorType, index: number): T['TValue'] => epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMicrosecond = ({ values }: VectorType, index: number): T['TValue'] => epochMicrosecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampNanosecond = ({ values }: VectorType, index: number): T['TValue'] => epochNanosecondsLongToMs(values, index * 2);\n/* istanbul ignore next */\n/** @ignore */\nconst getTimestamp = (vector: VectorType, index: number): T['TValue'] => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return getTimestampSecond(vector as VectorType, index);\n case TimeUnit.MILLISECOND: return getTimestampMillisecond(vector as VectorType, index);\n case TimeUnit.MICROSECOND: return getTimestampMicrosecond(vector as VectorType, index);\n case TimeUnit.NANOSECOND: return getTimestampNanosecond(vector as VectorType, index);\n }\n};\n\n/** @ignore */\nconst getTimeSecond = ({ values, stride }: VectorType, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getTimeMillisecond = ({ values, stride }: VectorType, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getTimeMicrosecond = ({ values }: VectorType, index: number): T['TValue'] => BN.signed(values.subarray(2 * index, 2 * (index + 1)));\n/** @ignore */\nconst getTimeNanosecond = ({ values }: VectorType, index: number): T['TValue'] => BN.signed(values.subarray(2 * index, 2 * (index + 1)));\n/* istanbul ignore next */\n/** @ignore */\nconst getTime = (vector: VectorType, index: number): T['TValue'] => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return getTimeSecond(vector as VectorType, index);\n case TimeUnit.MILLISECOND: return getTimeMillisecond(vector as VectorType, index);\n case TimeUnit.MICROSECOND: return getTimeMicrosecond(vector as VectorType, index);\n case TimeUnit.NANOSECOND: return getTimeNanosecond(vector as VectorType, index);\n }\n};\n\n/** @ignore */\nconst getDecimal = ({ values }: VectorType, index: number): T['TValue'] => BN.decimal(values.subarray(4 * index, 4 * (index + 1)));\n\n/** @ignore */\nconst getList = (vector: VectorType, index: number): T['TValue'] => {\n const child = vector.getChildAt(0)!, { valueOffsets, stride } = vector;\n return child.slice(valueOffsets[index * stride], valueOffsets[(index * stride) + 1]) as T['TValue'];\n};\n\n/** @ignore */\nconst getMap = (vector: VectorType, index: number): T['TValue'] => {\n return vector.bind(index) as T['TValue'];\n};\n\n/** @ignore */\nconst getStruct = (vector: VectorType, index: number): T['TValue'] => {\n return vector.bind(index) as T['TValue'];\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getUnion = <\n V extends VectorType | VectorType | VectorType\n>(vector: V, index: number): V['TValue'] => {\n return vector.type.mode === UnionMode.Dense ?\n getDenseUnion(vector as VectorType, index) :\n getSparseUnion(vector as VectorType, index);\n};\n\n/** @ignore */\nconst getDenseUnion = (vector: VectorType, index: number): T['TValue'] => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n return child ? child.get(vector.valueOffsets[index]) : null;\n};\n\n/** @ignore */\nconst getSparseUnion = (vector: VectorType, index: number): T['TValue'] => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n return child ? child.get(index) : null;\n};\n\n/** @ignore */\nconst getDictionary = (vector: VectorType, index: number): T['TValue'] => {\n return vector.getValue(vector.getKey(index)!);\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getInterval = (vector: VectorType, index: number): T['TValue'] =>\n (vector.type.unit === IntervalUnit.DAY_TIME)\n ? getIntervalDayTime(vector as VectorType, index)\n : getIntervalYearMonth(vector as VectorType, index);\n\n/** @ignore */\nconst getIntervalDayTime = ({ values }: VectorType, index: number): T['TValue'] => values.subarray(2 * index, 2 * (index + 1));\n\n/** @ignore */\nconst getIntervalYearMonth = ({ values }: VectorType, index: number): T['TValue'] => {\n const interval = values[index];\n const int32s = new Int32Array(2);\n int32s[0] = interval / 12 | 0; /* years */\n int32s[1] = interval % 12 | 0; /* months */\n return int32s;\n};\n\n/** @ignore */\nconst getFixedSizeList = (vector: VectorType, index: number): T['TValue'] => {\n const child = vector.getChildAt(0)!, { stride } = vector;\n return child.slice(index * stride, (index + 1) * stride) as T['TValue'];\n};\n\nGetVisitor.prototype.visitNull = getNull;\nGetVisitor.prototype.visitBool = getBool;\nGetVisitor.prototype.visitInt = getInt;\nGetVisitor.prototype.visitInt8 = getNumeric;\nGetVisitor.prototype.visitInt16 = getNumeric;\nGetVisitor.prototype.visitInt32 = getNumeric;\nGetVisitor.prototype.visitInt64 = getBigInts;\nGetVisitor.prototype.visitUint8 = getNumeric;\nGetVisitor.prototype.visitUint16 = getNumeric;\nGetVisitor.prototype.visitUint32 = getNumeric;\nGetVisitor.prototype.visitUint64 = getBigInts;\nGetVisitor.prototype.visitFloat = getFloat;\nGetVisitor.prototype.visitFloat16 = getFloat16;\nGetVisitor.prototype.visitFloat32 = getNumeric;\nGetVisitor.prototype.visitFloat64 = getNumeric;\nGetVisitor.prototype.visitUtf8 = getUtf8;\nGetVisitor.prototype.visitBinary = getBinary;\nGetVisitor.prototype.visitFixedSizeBinary = getFixedSizeBinary;\nGetVisitor.prototype.visitDate = getDate;\nGetVisitor.prototype.visitDateDay = getDateDay;\nGetVisitor.prototype.visitDateMillisecond = getDateMillisecond;\nGetVisitor.prototype.visitTimestamp = getTimestamp;\nGetVisitor.prototype.visitTimestampSecond = getTimestampSecond;\nGetVisitor.prototype.visitTimestampMillisecond = getTimestampMillisecond;\nGetVisitor.prototype.visitTimestampMicrosecond = getTimestampMicrosecond;\nGetVisitor.prototype.visitTimestampNanosecond = getTimestampNanosecond;\nGetVisitor.prototype.visitTime = getTime;\nGetVisitor.prototype.visitTimeSecond = getTimeSecond;\nGetVisitor.prototype.visitTimeMillisecond = getTimeMillisecond;\nGetVisitor.prototype.visitTimeMicrosecond = getTimeMicrosecond;\nGetVisitor.prototype.visitTimeNanosecond = getTimeNanosecond;\nGetVisitor.prototype.visitDecimal = getDecimal;\nGetVisitor.prototype.visitList = getList;\nGetVisitor.prototype.visitStruct = getStruct;\nGetVisitor.prototype.visitUnion = getUnion;\nGetVisitor.prototype.visitDenseUnion = getDenseUnion;\nGetVisitor.prototype.visitSparseUnion = getSparseUnion;\nGetVisitor.prototype.visitDictionary = getDictionary;\nGetVisitor.prototype.visitInterval = getInterval;\nGetVisitor.prototype.visitIntervalDayTime = getIntervalDayTime;\nGetVisitor.prototype.visitIntervalYearMonth = getIntervalYearMonth;\nGetVisitor.prototype.visitFixedSizeList = getFixedSizeList;\nGetVisitor.prototype.visitMap = getMap;\n\n/** @ignore */\nexport const instance = new GetVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { getBool, iterateBits } from '../util/bit';\nimport { createElementComparator } from '../util/vector';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface IndexOfVisitor extends Visitor {\n visit (node: T, value: T['TValue'] | null, index?: number): number;\n visitMany (nodes: T[], values: (T['TValue'] | null)[], indices: (number | undefined)[]): number[];\n getVisitFn (node: T): (vector: VectorType, value: VectorType['TValue'] | null, index?: number) => number;\n getVisitFn(node: VectorType | Data | T): (vector: VectorType, value: T['TValue'] | null, index?: number) => number;\n visitNull (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitBool (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt8 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt16 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt32 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt64 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint8 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint16 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint32 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint64 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat16 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat32 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat64 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUtf8 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitBinary (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFixedSizeBinary (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDate (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDateDay (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDateMillisecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestamp (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampSecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampMillisecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampMicrosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampNanosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTime (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeSecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeMillisecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeMicrosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeNanosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDecimal (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitList (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitStruct (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUnion (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDenseUnion (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitSparseUnion (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDictionary (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInterval (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitIntervalDayTime (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitIntervalYearMonth (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFixedSizeList (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitMap (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n}\n\n/** @ignore */\nexport class IndexOfVisitor extends Visitor {}\n\n/** @ignore */\nfunction nullIndexOf(vector: VectorType, searchElement?: null) {\n // if you're looking for nulls and the vector isn't empty, we've got 'em!\n return searchElement === null && vector.length > 0 ? 0 : -1;\n}\n\n/** @ignore */\nfunction indexOfNull(vector: VectorType, fromIndex?: number): number {\n const { nullBitmap } = vector;\n if (!nullBitmap || vector.nullCount <= 0) {\n return -1;\n }\n let i = 0;\n for (const isValid of iterateBits(nullBitmap, vector.data.offset + (fromIndex || 0), vector.length, nullBitmap, getBool)) {\n if (!isValid) { return i; }\n ++i;\n }\n return -1;\n}\n\n/** @ignore */\nfunction indexOfValue(vector: VectorType, searchElement?: T['TValue'] | null, fromIndex?: number): number {\n if (searchElement === undefined) { return -1; }\n if (searchElement === null) { return indexOfNull(vector, fromIndex); }\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = vector.length; ++i < n;) {\n if (compare(vector.get(i))) {\n return i;\n }\n }\n return -1;\n}\n\n/** @ignore */\nfunction indexOfUnion(vector: VectorType, searchElement?: T['TValue'] | null, fromIndex?: number): number {\n // Unions are special -- they do have a nullBitmap, but so can their children.\n // If the searchElement is null, we don't know whether it came from the Union's\n // bitmap or one of its childrens'. So we don't interrogate the Union's bitmap,\n // since that will report the wrong index if a child has a null before the Union.\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = vector.length; ++i < n;) {\n if (compare(vector.get(i))) {\n return i;\n }\n }\n return -1;\n}\n\nIndexOfVisitor.prototype.visitNull = nullIndexOf;\nIndexOfVisitor.prototype.visitBool = indexOfValue;\nIndexOfVisitor.prototype.visitInt = indexOfValue;\nIndexOfVisitor.prototype.visitInt8 = indexOfValue;\nIndexOfVisitor.prototype.visitInt16 = indexOfValue;\nIndexOfVisitor.prototype.visitInt32 = indexOfValue;\nIndexOfVisitor.prototype.visitInt64 = indexOfValue;\nIndexOfVisitor.prototype.visitUint8 = indexOfValue;\nIndexOfVisitor.prototype.visitUint16 = indexOfValue;\nIndexOfVisitor.prototype.visitUint32 = indexOfValue;\nIndexOfVisitor.prototype.visitUint64 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat = indexOfValue;\nIndexOfVisitor.prototype.visitFloat16 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat32 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat64 = indexOfValue;\nIndexOfVisitor.prototype.visitUtf8 = indexOfValue;\nIndexOfVisitor.prototype.visitBinary = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeBinary = indexOfValue;\nIndexOfVisitor.prototype.visitDate = indexOfValue;\nIndexOfVisitor.prototype.visitDateDay = indexOfValue;\nIndexOfVisitor.prototype.visitDateMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestamp = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTime = indexOfValue;\nIndexOfVisitor.prototype.visitTimeSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitDecimal = indexOfValue;\nIndexOfVisitor.prototype.visitList = indexOfValue;\nIndexOfVisitor.prototype.visitStruct = indexOfValue;\nIndexOfVisitor.prototype.visitUnion = indexOfValue;\nIndexOfVisitor.prototype.visitDenseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitSparseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitDictionary = indexOfValue;\nIndexOfVisitor.prototype.visitInterval = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalDayTime = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalYearMonth = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeList = indexOfValue;\nIndexOfVisitor.prototype.visitMap = indexOfValue;\n\n/** @ignore */\nexport const instance = new IndexOfVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { iterateBits } from '../util/bit';\nimport { instance as getVisitor } from './get';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface IteratorVisitor extends Visitor {\n visit(node: T): IterableIterator;\n visitMany (nodes: T[]): IterableIterator[];\n getVisitFn(node: T): (vector: VectorType) => IterableIterator['TValue'] | null>;\n getVisitFn(node: VectorType | Data | T): (vector: VectorType) => IterableIterator['TValue'] | null>;\n visitNull (vector: VectorType): IterableIterator;\n visitBool (vector: VectorType): IterableIterator;\n visitInt (vector: VectorType): IterableIterator;\n visitInt8 (vector: VectorType): IterableIterator;\n visitInt16 (vector: VectorType): IterableIterator;\n visitInt32 (vector: VectorType): IterableIterator;\n visitInt64 (vector: VectorType): IterableIterator;\n visitUint8 (vector: VectorType): IterableIterator;\n visitUint16 (vector: VectorType): IterableIterator;\n visitUint32 (vector: VectorType): IterableIterator;\n visitUint64 (vector: VectorType): IterableIterator;\n visitFloat (vector: VectorType): IterableIterator;\n visitFloat16 (vector: VectorType): IterableIterator;\n visitFloat32 (vector: VectorType): IterableIterator;\n visitFloat64 (vector: VectorType): IterableIterator;\n visitUtf8 (vector: VectorType): IterableIterator;\n visitBinary (vector: VectorType): IterableIterator;\n visitFixedSizeBinary (vector: VectorType): IterableIterator;\n visitDate (vector: VectorType): IterableIterator;\n visitDateDay (vector: VectorType): IterableIterator;\n visitDateMillisecond (vector: VectorType): IterableIterator;\n visitTimestamp (vector: VectorType): IterableIterator;\n visitTimestampSecond (vector: VectorType): IterableIterator;\n visitTimestampMillisecond (vector: VectorType): IterableIterator;\n visitTimestampMicrosecond (vector: VectorType): IterableIterator;\n visitTimestampNanosecond (vector: VectorType): IterableIterator;\n visitTime (vector: VectorType): IterableIterator;\n visitTimeSecond (vector: VectorType): IterableIterator;\n visitTimeMillisecond (vector: VectorType): IterableIterator;\n visitTimeMicrosecond (vector: VectorType): IterableIterator;\n visitTimeNanosecond (vector: VectorType): IterableIterator;\n visitDecimal (vector: VectorType): IterableIterator;\n visitList (vector: VectorType): IterableIterator;\n visitStruct (vector: VectorType): IterableIterator;\n visitUnion (vector: VectorType): IterableIterator;\n visitDenseUnion (vector: VectorType): IterableIterator;\n visitSparseUnion (vector: VectorType): IterableIterator;\n visitDictionary (vector: VectorType): IterableIterator;\n visitInterval (vector: VectorType): IterableIterator;\n visitIntervalDayTime (vector: VectorType): IterableIterator;\n visitIntervalYearMonth (vector: VectorType): IterableIterator;\n visitFixedSizeList (vector: VectorType): IterableIterator;\n visitMap (vector: VectorType): IterableIterator;\n}\n\n/** @ignore */\nexport class IteratorVisitor extends Visitor {}\n\n/** @ignore */\nfunction nullableIterator(vector: VectorType): IterableIterator {\n const getFn = getVisitor.getVisitFn(vector);\n return iterateBits(\n vector.nullBitmap, vector.offset, vector.length, vector,\n (vec: VectorType, idx: number, nullByte: number, nullBit: number) =>\n ((nullByte & 1 << nullBit) !== 0) ? getFn(vec, idx) : null\n );\n}\n\n/** @ignore */\nfunction vectorIterator(vector: VectorType): IterableIterator {\n\n // If nullable, iterate manually\n if (vector.nullCount > 0) {\n return nullableIterator(vector);\n }\n\n const { type, typeId, length } = vector;\n\n // Fast case, defer to native iterators if possible\n if (vector.stride === 1 && (\n (typeId === Type.Timestamp) ||\n (typeId === Type.Int && (type as Int).bitWidth !== 64) ||\n (typeId === Type.Time && (type as Time).bitWidth !== 64) ||\n (typeId === Type.Float && (type as Float).precision > 0 /* Precision.HALF */)\n )) {\n return vector.values.subarray(0, length)[Symbol.iterator]();\n }\n\n // Otherwise, iterate manually\n return (function* (getFn) {\n for (let index = -1; ++index < length;) {\n yield getFn(vector, index);\n }\n })(getVisitor.getVisitFn(vector));\n}\n\nIteratorVisitor.prototype.visitNull = vectorIterator;\nIteratorVisitor.prototype.visitBool = vectorIterator;\nIteratorVisitor.prototype.visitInt = vectorIterator;\nIteratorVisitor.prototype.visitInt8 = vectorIterator;\nIteratorVisitor.prototype.visitInt16 = vectorIterator;\nIteratorVisitor.prototype.visitInt32 = vectorIterator;\nIteratorVisitor.prototype.visitInt64 = vectorIterator;\nIteratorVisitor.prototype.visitUint8 = vectorIterator;\nIteratorVisitor.prototype.visitUint16 = vectorIterator;\nIteratorVisitor.prototype.visitUint32 = vectorIterator;\nIteratorVisitor.prototype.visitUint64 = vectorIterator;\nIteratorVisitor.prototype.visitFloat = vectorIterator;\nIteratorVisitor.prototype.visitFloat16 = vectorIterator;\nIteratorVisitor.prototype.visitFloat32 = vectorIterator;\nIteratorVisitor.prototype.visitFloat64 = vectorIterator;\nIteratorVisitor.prototype.visitUtf8 = vectorIterator;\nIteratorVisitor.prototype.visitBinary = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeBinary = vectorIterator;\nIteratorVisitor.prototype.visitDate = vectorIterator;\nIteratorVisitor.prototype.visitDateDay = vectorIterator;\nIteratorVisitor.prototype.visitDateMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestamp = vectorIterator;\nIteratorVisitor.prototype.visitTimestampSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitTime = vectorIterator;\nIteratorVisitor.prototype.visitTimeSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitDecimal = vectorIterator;\nIteratorVisitor.prototype.visitList = vectorIterator;\nIteratorVisitor.prototype.visitStruct = vectorIterator;\nIteratorVisitor.prototype.visitUnion = vectorIterator;\nIteratorVisitor.prototype.visitDenseUnion = vectorIterator;\nIteratorVisitor.prototype.visitSparseUnion = vectorIterator;\nIteratorVisitor.prototype.visitDictionary = vectorIterator;\nIteratorVisitor.prototype.visitInterval = vectorIterator;\nIteratorVisitor.prototype.visitIntervalDayTime = vectorIterator;\nIteratorVisitor.prototype.visitIntervalYearMonth = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeList = vectorIterator;\nIteratorVisitor.prototype.visitMap = vectorIterator;\n\n/** @ignore */\nexport const instance = new IteratorVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { instance as iteratorVisitor } from './iterator';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface ToArrayVisitor extends Visitor {\n visit(node: T): T['TArray'];\n visitMany(nodes: T[]): T['TArray'][];\n getVisitFn(node: T): (vector: VectorType) => VectorType['TArray'];\n getVisitFn(node: VectorType | Data | T): (vector: VectorType) => VectorType['TArray'];\n visitNull (vector: VectorType): VectorType['TArray'];\n visitBool (vector: VectorType): VectorType['TArray'];\n visitInt (vector: VectorType): VectorType['TArray'];\n visitInt8 (vector: VectorType): VectorType['TArray'];\n visitInt16 (vector: VectorType): VectorType['TArray'];\n visitInt32 (vector: VectorType): VectorType['TArray'];\n visitInt64 (vector: VectorType): VectorType['TArray'];\n visitUint8 (vector: VectorType): VectorType['TArray'];\n visitUint16 (vector: VectorType): VectorType['TArray'];\n visitUint32 (vector: VectorType): VectorType['TArray'];\n visitUint64 (vector: VectorType): VectorType['TArray'];\n visitFloat (vector: VectorType): VectorType['TArray'];\n visitFloat16 (vector: VectorType): VectorType['TArray'];\n visitFloat32 (vector: VectorType): VectorType['TArray'];\n visitFloat64 (vector: VectorType): VectorType['TArray'];\n visitUtf8 (vector: VectorType): VectorType['TArray'];\n visitBinary (vector: VectorType): VectorType['TArray'];\n visitFixedSizeBinary (vector: VectorType): VectorType['TArray'];\n visitDate (vector: VectorType): VectorType['TArray'];\n visitDateDay (vector: VectorType): VectorType['TArray'];\n visitDateMillisecond (vector: VectorType): VectorType['TArray'];\n visitTimestamp (vector: VectorType): VectorType['TArray'];\n visitTimestampSecond (vector: VectorType): VectorType['TArray'];\n visitTimestampMillisecond (vector: VectorType): VectorType['TArray'];\n visitTimestampMicrosecond (vector: VectorType): VectorType['TArray'];\n visitTimestampNanosecond (vector: VectorType): VectorType['TArray'];\n visitTime (vector: VectorType): VectorType['TArray'];\n visitTimeSecond (vector: VectorType): VectorType['TArray'];\n visitTimeMillisecond (vector: VectorType): VectorType['TArray'];\n visitTimeMicrosecond (vector: VectorType): VectorType['TArray'];\n visitTimeNanosecond (vector: VectorType): VectorType['TArray'];\n visitDecimal (vector: VectorType): VectorType['TArray'];\n visitList > (vector: VectorType): VectorType['TArray'];\n visitStruct (vector: VectorType): VectorType['TArray'];\n visitUnion (vector: VectorType): VectorType['TArray'];\n visitDenseUnion (vector: VectorType): VectorType['TArray'];\n visitSparseUnion (vector: VectorType): VectorType['TArray'];\n visitDictionary > (vector: VectorType): VectorType['TArray'];\n visitInterval (vector: VectorType): VectorType['TArray'];\n visitIntervalDayTime (vector: VectorType): VectorType['TArray'];\n visitIntervalYearMonth (vector: VectorType): VectorType['TArray'];\n visitFixedSizeList > (vector: VectorType): VectorType['TArray'];\n visitMap (vector: VectorType): VectorType['TArray'];\n}\n\n/** @ignore */\nexport class ToArrayVisitor extends Visitor {}\n\n/** @ignore */\nfunction arrayOfVector(vector: VectorType): T['TArray'] {\n\n const { type, length, stride } = vector;\n\n // Fast case, return subarray if possible\n switch (type.typeId) {\n case Type.Int:\n case Type.Float: case Type.Decimal:\n case Type.Time: case Type.Timestamp:\n return vector.values.subarray(0, length * stride);\n }\n\n // Otherwise if not primitive, slow copy\n return [...iteratorVisitor.visit(vector)] as T['TArray'];\n}\n\nToArrayVisitor.prototype.visitNull = arrayOfVector;\nToArrayVisitor.prototype.visitBool = arrayOfVector;\nToArrayVisitor.prototype.visitInt = arrayOfVector;\nToArrayVisitor.prototype.visitInt8 = arrayOfVector;\nToArrayVisitor.prototype.visitInt16 = arrayOfVector;\nToArrayVisitor.prototype.visitInt32 = arrayOfVector;\nToArrayVisitor.prototype.visitInt64 = arrayOfVector;\nToArrayVisitor.prototype.visitUint8 = arrayOfVector;\nToArrayVisitor.prototype.visitUint16 = arrayOfVector;\nToArrayVisitor.prototype.visitUint32 = arrayOfVector;\nToArrayVisitor.prototype.visitUint64 = arrayOfVector;\nToArrayVisitor.prototype.visitFloat = arrayOfVector;\nToArrayVisitor.prototype.visitFloat16 = arrayOfVector;\nToArrayVisitor.prototype.visitFloat32 = arrayOfVector;\nToArrayVisitor.prototype.visitFloat64 = arrayOfVector;\nToArrayVisitor.prototype.visitUtf8 = arrayOfVector;\nToArrayVisitor.prototype.visitBinary = arrayOfVector;\nToArrayVisitor.prototype.visitFixedSizeBinary = arrayOfVector;\nToArrayVisitor.prototype.visitDate = arrayOfVector;\nToArrayVisitor.prototype.visitDateDay = arrayOfVector;\nToArrayVisitor.prototype.visitDateMillisecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestamp = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampSecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampMillisecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampMicrosecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampNanosecond = arrayOfVector;\nToArrayVisitor.prototype.visitTime = arrayOfVector;\nToArrayVisitor.prototype.visitTimeSecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimeMillisecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimeMicrosecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimeNanosecond = arrayOfVector;\nToArrayVisitor.prototype.visitDecimal = arrayOfVector;\nToArrayVisitor.prototype.visitList = arrayOfVector;\nToArrayVisitor.prototype.visitStruct = arrayOfVector;\nToArrayVisitor.prototype.visitUnion = arrayOfVector;\nToArrayVisitor.prototype.visitDenseUnion = arrayOfVector;\nToArrayVisitor.prototype.visitSparseUnion = arrayOfVector;\nToArrayVisitor.prototype.visitDictionary = arrayOfVector;\nToArrayVisitor.prototype.visitInterval = arrayOfVector;\nToArrayVisitor.prototype.visitIntervalDayTime = arrayOfVector;\nToArrayVisitor.prototype.visitIntervalYearMonth = arrayOfVector;\nToArrayVisitor.prototype.visitFixedSizeList = arrayOfVector;\nToArrayVisitor.prototype.visitMap = arrayOfVector;\n\n/** @ignore */\nexport const instance = new ToArrayVisitor();\n","/* istanbul ignore file */\n\n// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { Type, TimeUnit } from '../enum';\nimport { Schema, Field } from '../schema';\nimport {\n DataType, Dictionary,\n Float, Int, Date_, Interval, Time, Timestamp,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n} from '../type';\n\n/** @ignore */ const sum = (x: number, y: number) => x + y;\n/** @ignore */ const variableWidthColumnErrorMessage = (type: DataType) => `Cannot compute the byte width of variable-width column ${type}`;\n\n/** @ignore */\nexport interface ByteWidthVisitor extends Visitor {\n visit(node: T): number;\n visitMany(nodes: T[]): number[];\n getVisitFn (node: T): (type: DataType) => number;\n getVisitFn(node: VectorType | Data | T): (type: T) => number;\n}\n\n/** @ignore */\nexport class ByteWidthVisitor extends Visitor {\n public visitNull (____: Null ) { return 0; }\n public visitInt (type: Int ) { return type.bitWidth / 8; }\n public visitFloat (type: Float ) { return type.ArrayType.BYTES_PER_ELEMENT; }\n public visitBinary (type: Binary ) { throw new Error(variableWidthColumnErrorMessage(type)); }\n public visitUtf8 (type: Utf8 ) { throw new Error(variableWidthColumnErrorMessage(type)); }\n public visitBool (____: Bool ) { return 1 / 8; }\n public visitDecimal (____: Decimal ) { return 16; }\n public visitDate (type: Date_ ) { return (type.unit + 1) * 4; }\n public visitTime (type: Time ) { return type.bitWidth / 8; }\n public visitTimestamp (type: Timestamp ) { return type.unit === TimeUnit.SECOND ? 4 : 8; }\n public visitInterval (type: Interval ) { return (type.unit + 1) * 4; }\n public visitList (type: List ) { throw new Error(variableWidthColumnErrorMessage(type)); }\n public visitStruct (type: Struct ) { return this.visitFields(type.children).reduce(sum, 0); }\n public visitUnion (type: Union ) { return this.visitFields(type.children).reduce(sum, 0); }\n public visitFixedSizeBinary (type: FixedSizeBinary ) { return type.byteWidth; }\n public visitFixedSizeList (type: FixedSizeList ) { return type.listSize * this.visitFields(type.children).reduce(sum, 0); }\n public visitMap (type: Map_ ) { return this.visitFields(type.children).reduce(sum, 0); }\n public visitDictionary (type: Dictionary ) { return this.visit(type.indices); }\n public visitFields (fields: Field[] ) { return (fields || []).map((field) => this.visit(field.type)); }\n public visitSchema (schema: Schema ) { return this.visitFields(schema.fields).reduce(sum, 0); }\n}\n\n/** @ignore */\nexport const instance = new ByteWidthVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { DataType } from '../type';\nimport { Visitor } from '../visitor';\nimport { VectorType, VectorCtor } from '../interfaces';\n\nimport { BinaryVector } from '../vector/binary';\nimport { BoolVector } from '../vector/bool';\nimport { DateVector, DateDayVector, DateMillisecondVector } from '../vector/date';\nimport { DecimalVector } from '../vector/decimal';\nimport { DictionaryVector } from '../vector/dictionary';\nimport { FixedSizeBinaryVector } from '../vector/fixedsizebinary';\nimport { FixedSizeListVector } from '../vector/fixedsizelist';\nimport { FloatVector, Float16Vector, Float32Vector, Float64Vector } from '../vector/float';\nimport { IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector } from '../vector/interval';\nimport { IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector } from '../vector/int';\nimport { ListVector } from '../vector/list';\nimport { MapVector } from '../vector/map';\nimport { NullVector } from '../vector/null';\nimport { StructVector } from '../vector/struct';\nimport { TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector } from '../vector/timestamp';\nimport { TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector } from '../vector/time';\nimport { UnionVector, DenseUnionVector, SparseUnionVector } from '../vector/union';\nimport { Utf8Vector } from '../vector/utf8';\n\n/** @ignore */\nexport interface GetVectorConstructor extends Visitor {\n visit(node: T): VectorCtor;\n visitMany (nodes: T[]): VectorCtor[];\n getVisitFn(node: T): () => VectorCtor;\n getVisitFn(node: VectorType | Data | T): () => VectorCtor;\n}\n\n/** @ignore */\nexport class GetVectorConstructor extends Visitor {\n public visitNull () { return NullVector; }\n public visitBool () { return BoolVector; }\n public visitInt () { return IntVector; }\n public visitInt8 () { return Int8Vector; }\n public visitInt16 () { return Int16Vector; }\n public visitInt32 () { return Int32Vector; }\n public visitInt64 () { return Int64Vector; }\n public visitUint8 () { return Uint8Vector; }\n public visitUint16 () { return Uint16Vector; }\n public visitUint32 () { return Uint32Vector; }\n public visitUint64 () { return Uint64Vector; }\n public visitFloat () { return FloatVector; }\n public visitFloat16 () { return Float16Vector; }\n public visitFloat32 () { return Float32Vector; }\n public visitFloat64 () { return Float64Vector; }\n public visitUtf8 () { return Utf8Vector; }\n public visitBinary () { return BinaryVector; }\n public visitFixedSizeBinary () { return FixedSizeBinaryVector; }\n public visitDate () { return DateVector; }\n public visitDateDay () { return DateDayVector; }\n public visitDateMillisecond () { return DateMillisecondVector; }\n public visitTimestamp () { return TimestampVector; }\n public visitTimestampSecond () { return TimestampSecondVector; }\n public visitTimestampMillisecond () { return TimestampMillisecondVector; }\n public visitTimestampMicrosecond () { return TimestampMicrosecondVector; }\n public visitTimestampNanosecond () { return TimestampNanosecondVector; }\n public visitTime () { return TimeVector; }\n public visitTimeSecond () { return TimeSecondVector; }\n public visitTimeMillisecond () { return TimeMillisecondVector; }\n public visitTimeMicrosecond () { return TimeMicrosecondVector; }\n public visitTimeNanosecond () { return TimeNanosecondVector; }\n public visitDecimal () { return DecimalVector; }\n public visitList () { return ListVector; }\n public visitStruct () { return StructVector; }\n public visitUnion () { return UnionVector; }\n public visitDenseUnion () { return DenseUnionVector; }\n public visitSparseUnion () { return SparseUnionVector; }\n public visitDictionary () { return DictionaryVector; }\n public visitInterval () { return IntervalVector; }\n public visitIntervalDayTime () { return IntervalDayTimeVector; }\n public visitIntervalYearMonth () { return IntervalYearMonthVector; }\n public visitFixedSizeList () { return FixedSizeListVector; }\n public visitMap () { return MapVector; }\n}\n\n/** @ignore */\nexport const instance = new GetVectorConstructor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { Vector } from '../vector';\nexport { BaseVector } from './base';\nexport { BinaryVector } from './binary';\nexport { BoolVector } from './bool';\nexport { Chunked } from './chunked';\nexport { DateVector, DateDayVector, DateMillisecondVector } from './date';\nexport { DecimalVector } from './decimal';\nexport { DictionaryVector } from './dictionary';\nexport { FixedSizeBinaryVector } from './fixedsizebinary';\nexport { FixedSizeListVector } from './fixedsizelist';\nexport { FloatVector, Float16Vector, Float32Vector, Float64Vector } from './float';\nexport { IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector } from './interval';\nexport { IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector } from './int';\nexport { ListVector } from './list';\nexport { MapVector } from './map';\nexport { NullVector } from './null';\nexport { StructVector } from './struct';\nexport { TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector } from './timestamp';\nexport { TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector } from './time';\nexport { UnionVector, DenseUnionVector, SparseUnionVector } from './union';\nexport { Utf8Vector } from './utf8';\nexport { MapRow, StructRow } from './row';\n\nimport * as fn from '../util/fn';\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { setBool } from '../util/bit';\nimport { isIterable, isAsyncIterable } from '../util/compat';\nimport { Builder, IterableBuilderOptions } from '../builder';\nimport { VectorType as V, VectorCtorArgs } from '../interfaces';\nimport { instance as getVisitor } from '../visitor/get';\nimport { instance as setVisitor } from '../visitor/set';\nimport { instance as indexOfVisitor } from '../visitor/indexof';\nimport { instance as toArrayVisitor } from '../visitor/toarray';\nimport { instance as iteratorVisitor } from '../visitor/iterator';\nimport { instance as byteWidthVisitor } from '../visitor/bytewidth';\nimport { instance as getVectorConstructor } from '../visitor/vectorctor';\n\ndeclare module '../vector' {\n namespace Vector {\n export { newVector as new };\n export { vectorFrom as from };\n }\n}\n\ndeclare module './base' {\n namespace BaseVector {\n export { vectorFrom as from };\n }\n interface BaseVector {\n get(index: number): T['TValue'] | null;\n set(index: number, value: T['TValue'] | null): void;\n indexOf(value: T['TValue'] | null, fromIndex?: number): number;\n toArray(): T['TArray'];\n getByteWidth(): number;\n [Symbol.iterator](): IterableIterator;\n }\n}\n\n/** @nocollapse */\nVector.new = newVector;\n\n/** @nocollapse */\nVector.from = vectorFrom;\n\n/** @ignore */\nfunction newVector(data: Data, ...args: VectorCtorArgs>): V {\n return new (getVectorConstructor.getVisitFn(data)())(data, ...args) as V;\n}\n\n/** @ignore */\nexport interface VectorBuilderOptions extends IterableBuilderOptions { values: Iterable; }\n/** @ignore */\nexport interface VectorBuilderOptionsAsync extends IterableBuilderOptions { values: AsyncIterable; }\n\n/** @ignore */\nexport function vectorFromValuesWithType(newDataType: () => T, input: Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync) {\n if (isIterable(input)) {\n return Vector.from({ 'nullValues': [null, undefined], type: newDataType(), 'values': input }) as V;\n } else if (isAsyncIterable(input)) {\n return Vector.from({ 'nullValues': [null, undefined], type: newDataType(), 'values': input }) as Promise>;\n }\n const {\n 'values': values = [],\n 'type': type = newDataType(),\n 'nullValues': nullValues = [null, undefined],\n } = { ...input };\n return isIterable(values)\n ? Vector.from({ nullValues, ...input, type } as VectorBuilderOptions)\n : Vector.from({ nullValues, ...input, type } as VectorBuilderOptionsAsync);\n}\n\n/** @ignore */\nfunction vectorFrom(input: VectorBuilderOptions): Vector;\nfunction vectorFrom(input: VectorBuilderOptionsAsync): Promise>;\nfunction vectorFrom(input: VectorBuilderOptions | VectorBuilderOptionsAsync) {\n const { 'values': values = [], ...options } = { 'nullValues': [null, undefined], ...input } as VectorBuilderOptions | VectorBuilderOptionsAsync;\n if (isIterable(values)) {\n const chunks = [...Builder.throughIterable(options)(values)];\n return chunks.length === 1 ? chunks[0] : Chunked.concat(chunks);\n }\n return (async (chunks: V[]) => {\n const transform = Builder.throughAsyncIterable(options);\n for await (const chunk of transform(values)) {\n chunks.push(chunk);\n }\n return chunks.length === 1 ? chunks[0] : Chunked.concat(chunks);\n })([]);\n}\n\n//\n// We provide the following method implementations for code navigability purposes only.\n// They're overridden at runtime below with the specific Visitor implementation for each type,\n// short-circuiting the usual Visitor traversal and reducing intermediate lookups and calls.\n// This comment is here to remind you to not set breakpoints in these function bodies, or to inform\n// you why the breakpoints you have already set are not being triggered. Have a great day!\n//\n\nBaseVector.prototype.get = function baseVectorGet(this: BaseVector, index: number): T['TValue'] | null {\n return getVisitor.visit(this, index);\n};\n\nBaseVector.prototype.set = function baseVectorSet(this: BaseVector, index: number, value: T['TValue'] | null): void {\n return setVisitor.visit(this, index, value);\n};\n\nBaseVector.prototype.indexOf = function baseVectorIndexOf(this: BaseVector, value: T['TValue'] | null, fromIndex?: number): number {\n return indexOfVisitor.visit(this, value, fromIndex);\n};\n\nBaseVector.prototype.toArray = function baseVectorToArray(this: BaseVector): T['TArray'] {\n return toArrayVisitor.visit(this);\n};\n\nBaseVector.prototype.getByteWidth = function baseVectorGetByteWidth(this: BaseVector): number {\n return byteWidthVisitor.visit(this.type);\n};\n\nBaseVector.prototype[Symbol.iterator] = function baseVectorSymbolIterator(this: BaseVector): IterableIterator {\n return iteratorVisitor.visit(this);\n};\n\n(BaseVector.prototype as any)._bindDataAccessors = bindBaseVectorDataAccessors;\n\n// Perf: bind and assign the operator Visitor methods to each of the Vector subclasses for each Type\n(Object.keys(Type) as any[])\n .map((T: any) => Type[T] as any)\n .filter((T: any): T is Type => typeof T === 'number')\n .filter((typeId) => typeId !== Type.NONE)\n .forEach((typeId) => {\n const VectorCtor = getVectorConstructor.visit(typeId);\n VectorCtor.prototype['get'] = fn.partial1(getVisitor.getVisitFn(typeId));\n VectorCtor.prototype['set'] = fn.partial2(setVisitor.getVisitFn(typeId));\n VectorCtor.prototype['indexOf'] = fn.partial2(indexOfVisitor.getVisitFn(typeId));\n VectorCtor.prototype['toArray'] = fn.partial0(toArrayVisitor.getVisitFn(typeId));\n VectorCtor.prototype['getByteWidth'] = partialType0(byteWidthVisitor.getVisitFn(typeId));\n VectorCtor.prototype[Symbol.iterator] = fn.partial0(iteratorVisitor.getVisitFn(typeId));\n });\n\n/** @ignore */\nfunction partialType0(visit: (node: T['type']) => any) {\n return function(this: T) { return visit(this.type); };\n}\n\n/** @ignore */\nfunction wrapNullableGet, F extends (i: number) => any>(fn: F): (...args: Parameters) => ReturnType {\n return function(this: V, i: number) { return this.isValid(i) ? fn.call(this, i) : null; };\n}\n\n/** @ignore */\nfunction wrapNullableSet, F extends (i: number, a: any) => void>(fn: F): (...args: Parameters) => void {\n return function(this: V, i: number, a: any) {\n if (setBool(this.nullBitmap, this.offset + i, !(a === null || a === undefined))) {\n fn.call(this, i, a);\n }\n };\n}\n\n/** @ignore */\nfunction bindBaseVectorDataAccessors(this: BaseVector) {\n const nullBitmap = this.nullBitmap;\n if (nullBitmap && nullBitmap.byteLength > 0) {\n this.get = wrapNullableGet(this.get);\n this.set = wrapNullableSet(this.set);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Column } from './column';\nimport { Schema, Field } from './schema';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from './recordbatch';\nimport { DataFrame } from './compute/dataframe';\nimport { RecordBatchReader } from './ipc/reader';\nimport { DataType, RowLike, Struct } from './type';\nimport { selectColumnArgs, selectArgs } from './util/args';\nimport { Clonable, Sliceable, Applicative } from './vector';\nimport { isPromise, isIterable, isAsyncIterable } from './util/compat';\nimport { RecordBatchFileWriter, RecordBatchStreamWriter } from './ipc/writer';\nimport { distributeColumnsIntoRecordBatches, distributeVectorsIntoRecordBatches } from './util/recordbatch';\nimport { Vector, Chunked, StructVector, VectorBuilderOptions, VectorBuilderOptionsAsync } from './vector/index';\n\ntype VectorMap = { [key: string]: Vector };\ntype Fields = (keyof T)[] | Field[];\ntype ChildData = Data[] | Vector[];\ntype Columns = Column[] | Column[][];\n\nexport interface Table {\n\n get(index: number): Struct['TValue'];\n [Symbol.iterator](): IterableIterator>;\n\n slice(begin?: number, end?: number): Table;\n concat(...others: Vector>[]): Table;\n clone(chunks?: RecordBatch[], offsets?: Uint32Array): Table;\n\n scan(next: import('./compute/dataframe').NextFunc, bind?: import('./compute/dataframe').BindFunc): void;\n scanReverse(next: import('./compute/dataframe').NextFunc, bind?: import('./compute/dataframe').BindFunc): void;\n countBy(name: import('./compute/predicate').Col | string): import('./compute/dataframe').CountByResult;\n filter(predicate: import('./compute/predicate').Predicate): import('./compute/dataframe').FilteredDataFrame;\n}\n\nexport class Table\n extends Chunked>\n implements DataFrame,\n Clonable>,\n Sliceable>,\n Applicative, Table> {\n\n /** @nocollapse */\n public static empty(schema = new Schema([])) { return new Table(schema, []); }\n\n public static from(): Table<{}>;\n public static from(source: RecordBatchReader): Table;\n public static from(source: import('./ipc/reader').FromArg0): Table;\n public static from(source: import('./ipc/reader').FromArg2): Table;\n public static from(source: import('./ipc/reader').FromArg1): Promise>;\n public static from(source: import('./ipc/reader').FromArg3): Promise>;\n public static from(source: import('./ipc/reader').FromArg4): Promise>;\n public static from(source: import('./ipc/reader').FromArg5): Promise>;\n public static from(source: PromiseLike>): Promise>;\n public static from(options: VectorBuilderOptions, TNull>): Table;\n public static from(options: VectorBuilderOptionsAsync, TNull>): Promise>;\n /** @nocollapse */\n public static from(input?: any) {\n\n if (!input) { return Table.empty(); }\n\n if (typeof input === 'object') {\n let table = isIterable(input['values']) ? tableFromIterable(input)\n : isAsyncIterable(input['values']) ? tableFromAsyncIterable(input)\n : null;\n if (table !== null) { return table; }\n }\n\n let reader = RecordBatchReader.from(input) as RecordBatchReader | Promise>;\n\n if (isPromise>(reader)) {\n return (async () => await Table.from(await reader))();\n }\n if (reader.isSync() && (reader = reader.open())) {\n return !reader.schema ? Table.empty() : new Table(reader.schema, [...reader]);\n }\n return (async (opening) => {\n const reader = await opening;\n const schema = reader.schema;\n const batches: RecordBatch[] = [];\n if (schema) {\n for await (let batch of reader) {\n batches.push(batch);\n }\n return new Table(schema, batches);\n }\n return Table.empty();\n })(reader.open());\n }\n\n /** @nocollapse */\n public static async fromAsync(source: import('./ipc/reader').FromArgs): Promise> {\n return await Table.from(source as any);\n }\n\n /** @nocollapse */\n public static fromStruct(vector: Vector>) {\n return Table.new(vector.data.childData as Data[], vector.type.children);\n }\n\n /**\n * @summary Create a new Table from a collection of Columns or Vectors,\n * with an optional list of names or Fields.\n *\n *\n * `Table.new` accepts an Object of\n * Columns or Vectors, where the keys will be used as the field names\n * for the Schema:\n * ```ts\n * const i32s = Int32Vector.from([1, 2, 3]);\n * const f32s = Float32Vector.from([.1, .2, .3]);\n * const table = Table.new({ i32: i32s, f32: f32s });\n * assert(table.schema.fields[0].name === 'i32');\n * ```\n *\n * It also accepts a a list of Vectors with an optional list of names or\n * Fields for the resulting Schema. If the list is omitted or a name is\n * missing, the numeric index of each Vector will be used as the name:\n * ```ts\n * const i32s = Int32Vector.from([1, 2, 3]);\n * const f32s = Float32Vector.from([.1, .2, .3]);\n * const table = Table.new([i32s, f32s], ['i32']);\n * assert(table.schema.fields[0].name === 'i32');\n * assert(table.schema.fields[1].name === '1');\n * ```\n *\n * If the supplied arguments are Columns, `Table.new` will infer the Schema\n * from the Columns:\n * ```ts\n * const i32s = Column.new('i32', Int32Vector.from([1, 2, 3]));\n * const f32s = Column.new('f32', Float32Vector.from([.1, .2, .3]));\n * const table = Table.new(i32s, f32s);\n * assert(table.schema.fields[0].name === 'i32');\n * assert(table.schema.fields[1].name === 'f32');\n * ```\n *\n * If the supplied Vector or Column lengths are unequal, `Table.new` will\n * extend the lengths of the shorter Columns, allocating additional bytes\n * to represent the additional null slots. The memory required to allocate\n * these additional bitmaps can be computed as:\n * ```ts\n * let additionalBytes = 0;\n * for (let vec in shorter_vectors) {\n * additionalBytes += (((longestLength - vec.length) + 63) & ~63) >> 3;\n * }\n * ```\n *\n * For example, an additional null bitmap for one million null values would require\n * 125,000 bytes (`((1e6 + 63) & ~63) >> 3`), or approx. `0.11MiB`\n */\n public static new(...columns: Columns): Table;\n public static new(children: T): Table<{ [P in keyof T]: T[P]['type'] }>;\n public static new(children: ChildData, fields?: Fields): Table;\n /** @nocollapse */\n public static new(...cols: any[]) {\n return new Table(...distributeColumnsIntoRecordBatches(selectColumnArgs(cols)));\n }\n\n constructor(batches: RecordBatch[]);\n constructor(...batches: RecordBatch[]);\n constructor(schema: Schema, batches: RecordBatch[]);\n constructor(schema: Schema, ...batches: RecordBatch[]);\n constructor(...args: any[]) {\n\n let schema: Schema = null!;\n\n if (args[0] instanceof Schema) { schema = args.shift(); }\n\n let chunks = selectArgs>(RecordBatch, args);\n\n if (!schema && !(schema = chunks[0] && chunks[0].schema)) {\n throw new TypeError('Table must be initialized with a Schema or at least one RecordBatch');\n }\n\n chunks[0] || (chunks[0] = new _InternalEmptyPlaceholderRecordBatch(schema));\n\n super(new Struct(schema.fields), chunks);\n\n this._schema = schema;\n this._chunks = chunks;\n }\n\n protected _schema: Schema;\n // List of inner RecordBatches\n protected _chunks: RecordBatch[];\n protected _children?: Column[];\n\n public get schema() { return this._schema; }\n public get length() { return this._length; }\n public get chunks() { return this._chunks; }\n public get numCols() { return this._numChildren; }\n\n public clone(chunks = this._chunks) {\n return new Table(this._schema, chunks);\n }\n\n public getColumn(name: R): Column {\n return this.getColumnAt(this.getColumnIndex(name)) as Column;\n }\n public getColumnAt(index: number): Column | null {\n return this.getChildAt(index);\n }\n public getColumnIndex(name: R) {\n return this._schema.fields.findIndex((f) => f.name === name);\n }\n public getChildAt(index: number): Column | null {\n if (index < 0 || index >= this.numChildren) { return null; }\n let field: Field, child: Column;\n const fields = (this._schema as Schema).fields;\n const columns = this._children || (this._children = []) as Column[];\n if (child = columns[index]) { return child as Column; }\n if (field = fields[index]) {\n const chunks = this._chunks\n .map((chunk) => chunk.getChildAt(index))\n .filter((vec): vec is Vector => vec != null);\n if (chunks.length > 0) {\n return (columns[index] = new Column(field, chunks));\n }\n }\n return null;\n }\n\n // @ts-ignore\n public serialize(encoding = 'binary', stream = true) {\n const Writer = !stream\n ? RecordBatchFileWriter\n : RecordBatchStreamWriter;\n return Writer.writeAll(this).toUint8Array(true);\n }\n public count(): number {\n return this._length;\n }\n public select(...columnNames: K[]) {\n const nameToIndex = this._schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map());\n return this.selectAt(...columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n }\n public selectAt(...columnIndices: number[]) {\n const schema = this._schema.selectAt(...columnIndices);\n return new Table(schema, this._chunks.map(({ length, data: { childData } }) => {\n return new RecordBatch(schema, length, columnIndices.map((i) => childData[i]).filter(Boolean));\n }));\n }\n public assign(other: Table) {\n\n const fields = this._schema.fields;\n const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {\n const [indices, oldToNew] = memo;\n const i = fields.findIndex((f) => f.name === f2.name);\n ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);\n return memo;\n }, [[], []] as number[][]);\n\n const schema = this._schema.assign(other.schema);\n const columns = [\n ...fields.map((_f, i, _fs, j = oldToNew[i]) =>\n (j === undefined ? this.getColumnAt(i) : other.getColumnAt(j))!),\n ...indices.map((i) => other.getColumnAt(i)!)\n ].filter(Boolean) as Column<(T & R)[keyof T | keyof R]>[];\n\n return new Table(...distributeVectorsIntoRecordBatches(schema, columns));\n }\n}\n\nfunction tableFromIterable(input: VectorBuilderOptions, TNull>) {\n const { type } = input;\n if (type instanceof Struct) {\n return Table.fromStruct(StructVector.from(input as VectorBuilderOptions, TNull>));\n }\n return null;\n}\n\nfunction tableFromAsyncIterable(input: VectorBuilderOptionsAsync, TNull>) {\n const { type } = input;\n if (type instanceof Struct) {\n return StructVector.from(input as VectorBuilderOptionsAsync, TNull>).then((vector) => Table.fromStruct(vector));\n }\n return null;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Table } from './table';\nimport { Vector } from './vector';\nimport { Visitor } from './visitor';\nimport { Schema, Field } from './schema';\nimport { isIterable } from './util/compat';\nimport { Chunked } from './vector/chunked';\nimport { selectFieldArgs } from './util/args';\nimport { DataType, Struct, Dictionary } from './type';\nimport { ensureSameLengthData } from './util/recordbatch';\nimport { Clonable, Sliceable, Applicative } from './vector';\nimport { StructVector, VectorBuilderOptions, VectorBuilderOptionsAsync } from './vector/index';\n\ntype VectorMap = { [key: string]: Vector };\ntype Fields = (keyof T)[] | Field[];\ntype ChildData = (Data | Vector)[];\n\nexport interface RecordBatch {\n concat(...others: Vector>[]): Table;\n slice(begin?: number, end?: number): RecordBatch;\n clone(data: Data>, children?: Vector[]): RecordBatch;\n}\n\nexport class RecordBatch\n extends StructVector\n implements Clonable>,\n Sliceable>,\n Applicative, Table> {\n\n public static from(options: VectorBuilderOptions, TNull>): Table;\n public static from(options: VectorBuilderOptionsAsync, TNull>): Promise>;\n /** @nocollapse */\n public static from(options: VectorBuilderOptions, TNull> | VectorBuilderOptionsAsync, TNull>) {\n if (isIterable<(Struct)['TValue'] | TNull>(options['values'])) {\n return Table.from(options as VectorBuilderOptions, TNull>);\n }\n return Table.from(options as VectorBuilderOptionsAsync, TNull>);\n }\n\n public static new(children: T): RecordBatch<{ [P in keyof T]: T[P]['type'] }>;\n public static new(children: ChildData, fields?: Fields): RecordBatch;\n /** @nocollapse */\n public static new(...args: any[]) {\n const [fs, xs] = selectFieldArgs(args);\n const vs = xs.filter((x): x is Vector => x instanceof Vector);\n return new RecordBatch(...ensureSameLengthData(new Schema(fs), vs.map((x) => x.data)));\n }\n\n protected _schema: Schema;\n protected _dictionaries?: Map;\n\n constructor(schema: Schema, length: number, children: (Data | Vector)[]);\n constructor(schema: Schema, data: Data>, children?: Vector[]);\n constructor(...args: any[]) {\n let data: Data>;\n let schema = args[0] as Schema;\n let children: Vector[] | undefined;\n if (args[1] instanceof Data) {\n [, data, children] = (args as [any, Data>, Vector[]?]);\n } else {\n const fields = schema.fields as Field[];\n const [, length, childData] = args as [any, number, Data[]];\n data = Data.Struct(new Struct(fields), 0, length, 0, null, childData);\n }\n super(data, children);\n this._schema = schema;\n }\n\n public clone(data: Data>, children = this._children) {\n return new RecordBatch(this._schema, data, children);\n }\n\n public concat(...others: Vector>[]): Table {\n const schema = this._schema, chunks = Chunked.flatten(this, ...others);\n return new Table(schema, chunks.map(({ data }) => new RecordBatch(schema, data)));\n }\n\n public get schema() { return this._schema; }\n public get numCols() { return this._schema.fields.length; }\n public get dictionaries() {\n return this._dictionaries || (this._dictionaries = DictionaryCollector.collect(this));\n }\n\n public select(...columnNames: K[]) {\n const nameToIndex = this._schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map());\n return this.selectAt(...columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n }\n public selectAt(...columnIndices: number[]) {\n const schema = this._schema.selectAt(...columnIndices);\n const childData = columnIndices.map((i) => this.data.childData[i]).filter(Boolean);\n return new RecordBatch<{ [key: string]: K }>(schema, this.length, childData);\n }\n}\n\n/**\n * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`\n * implementations to differentiate between a stream with valid zero-length\n * RecordBatches, and a stream with a Schema message, but no RecordBatches.\n * @see https://github.com/apache/arrow/pull/4373\n * @ignore\n * @private\n */\n/* tslint:disable:class-name */\nexport class _InternalEmptyPlaceholderRecordBatch extends RecordBatch {\n constructor(schema: Schema) {\n super(schema, 0, schema.fields.map((f) => Data.new(f.type, 0, 0, 0)));\n }\n}\n\n/** @ignore */\nclass DictionaryCollector extends Visitor {\n public dictionaries = new Map();\n public static collect(batch: T) {\n return new DictionaryCollector().visit(\n batch.data, new Struct(batch.schema.fields)\n ).dictionaries;\n }\n public visit(data: Data, type: DataType) {\n if (DataType.isDictionary(type)) {\n return this.visitDictionary(data, type);\n } else {\n data.childData.forEach((child, i) =>\n this.visit(child, type.children[i].type));\n }\n return this;\n }\n public visitDictionary(data: Data, type: Dictionary) {\n const dictionary = data.dictionary;\n if (dictionary && dictionary.length > 0) {\n this.dictionaries.set(type.id, dictionary);\n }\n return this;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { MessageHeader } from '../enum';\nimport { Footer } from './metadata/file';\nimport { Schema, Field } from '../schema';\nimport streamAdapters from '../io/adapters';\nimport { Message } from './metadata/message';\nimport * as metadata from './metadata/message';\nimport { ArrayBufferViewInput } from '../util/buffer';\nimport { ByteStream, AsyncByteStream } from '../io/stream';\nimport { RandomAccessFile, AsyncRandomAccessFile } from '../io/file';\nimport { VectorLoader, JSONVectorLoader } from '../visitor/vectorloader';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch';\nimport {\n FileHandle,\n ArrowJSONLike,\n ITERATOR_DONE,\n ReadableInterop,\n} from '../io/interfaces';\nimport {\n MessageReader, AsyncMessageReader, JSONMessageReader,\n checkForMagicArrowString, magicLength, magicAndPadding, magicX2AndPadding\n} from './message';\nimport {\n isPromise,\n isIterable, isAsyncIterable,\n isIteratorResult, isArrowJSON,\n isFileHandle, isFetchResponse,\n isReadableDOMStream, isReadableNodeStream\n} from '../util/compat';\n\n/** @ignore */ export type FromArg0 = ArrowJSONLike;\n/** @ignore */ export type FromArg1 = PromiseLike;\n/** @ignore */ export type FromArg2 = Iterable | ArrayBufferViewInput;\n/** @ignore */ export type FromArg3 = PromiseLike | ArrayBufferViewInput>;\n/** @ignore */ export type FromArg4 = Response | NodeJS.ReadableStream | ReadableStream | AsyncIterable;\n/** @ignore */ export type FromArg5 = FileHandle | PromiseLike | PromiseLike;\n/** @ignore */ export type FromArgs = FromArg0 | FromArg1 | FromArg2 | FromArg3 | FromArg4 | FromArg5;\n\n/** @ignore */ type OpenOptions = { autoDestroy?: boolean; };\n/** @ignore */ type RecordBatchReaders = RecordBatchFileReader | RecordBatchStreamReader;\n/** @ignore */ type AsyncRecordBatchReaders = AsyncRecordBatchFileReader | AsyncRecordBatchStreamReader;\n/** @ignore */ type RecordBatchFileReaders = RecordBatchFileReader | AsyncRecordBatchFileReader;\n/** @ignore */ type RecordBatchStreamReaders = RecordBatchStreamReader | AsyncRecordBatchStreamReader;\n\nexport class RecordBatchReader extends ReadableInterop> {\n\n protected _impl: RecordBatchReaderImpls;\n protected constructor(impl: RecordBatchReaderImpls) {\n super();\n this._impl = impl;\n }\n\n public get closed() { return this._impl.closed; }\n public get schema() { return this._impl.schema; }\n public get autoDestroy() { return this._impl.autoDestroy; }\n public get dictionaries() { return this._impl.dictionaries; }\n public get numDictionaries() { return this._impl.numDictionaries; }\n public get numRecordBatches() { return this._impl.numRecordBatches; }\n public get footer() { return this._impl.isFile() ? this._impl.footer : null; }\n\n public isSync(): this is RecordBatchReaders { return this._impl.isSync(); }\n public isAsync(): this is AsyncRecordBatchReaders { return this._impl.isAsync(); }\n public isFile(): this is RecordBatchFileReaders { return this._impl.isFile(); }\n public isStream(): this is RecordBatchStreamReaders { return this._impl.isStream(); }\n\n public next() {\n return this._impl.next();\n }\n public throw(value?: any) {\n return this._impl.throw(value);\n }\n public return(value?: any) {\n return this._impl.return(value);\n }\n public cancel() {\n return this._impl.cancel();\n }\n public reset(schema?: Schema | null): this {\n this._impl.reset(schema);\n this._DOMStream = undefined;\n this._nodeStream = undefined;\n return this;\n }\n public open(options?: OpenOptions) {\n const opening = this._impl.open(options);\n return isPromise(opening) ? opening.then(() => this) : this;\n }\n public readRecordBatch(index: number): RecordBatch | null | Promise | null> {\n return this._impl.isFile() ? this._impl.readRecordBatch(index) : null;\n }\n public [Symbol.iterator](): IterableIterator> {\n return (>> this._impl)[Symbol.iterator]();\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator> {\n return (>> this._impl)[Symbol.asyncIterator]();\n }\n public toDOMStream() {\n return streamAdapters.toDOMStream>(\n (this.isSync()\n ? { [Symbol.iterator]: () => this } as Iterable>\n : { [Symbol.asyncIterator]: () => this } as AsyncIterable>));\n }\n public toNodeStream() {\n return streamAdapters.toNodeStream>(\n (this.isSync()\n ? { [Symbol.iterator]: () => this } as Iterable>\n : { [Symbol.asyncIterator]: () => this } as AsyncIterable>),\n { objectMode: true });\n }\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options?: import('stream').DuplexOptions & { autoDestroy: boolean }): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n public static throughDOM(\n // @ts-ignore\n writableStrategy?: ByteLengthQueuingStrategy,\n // @ts-ignore\n readableStrategy?: { autoDestroy: boolean }\n ): { writable: WritableStream, readable: ReadableStream> } {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n public static from(source: T): T;\n public static from(source: FromArg0): RecordBatchStreamReader;\n public static from(source: FromArg1): Promise>;\n public static from(source: FromArg2): RecordBatchFileReader | RecordBatchStreamReader;\n public static from(source: FromArg3): Promise | RecordBatchStreamReader>;\n public static from(source: FromArg4): Promise | AsyncRecordBatchReaders>;\n public static from(source: FromArg5): Promise | AsyncRecordBatchStreamReader>;\n /** @nocollapse */\n public static from(source: any) {\n if (source instanceof RecordBatchReader) {\n return source;\n } else if (isArrowJSON(source)) {\n return fromArrowJSON(source);\n } else if (isFileHandle(source)) {\n return fromFileHandle(source);\n } else if (isPromise(source)) {\n return (async () => await RecordBatchReader.from(await source))();\n } else if (isFetchResponse(source) || isReadableDOMStream(source) || isReadableNodeStream(source) || isAsyncIterable(source)) {\n return fromAsyncByteStream(new AsyncByteStream(source));\n }\n return fromByteStream(new ByteStream(source));\n }\n\n public static readAll(source: T): T extends RecordBatchReaders ? IterableIterator : AsyncIterableIterator;\n public static readAll(source: FromArg0): IterableIterator>;\n public static readAll(source: FromArg1): AsyncIterableIterator>;\n public static readAll(source: FromArg2): IterableIterator | RecordBatchStreamReader>;\n public static readAll(source: FromArg3): AsyncIterableIterator | RecordBatchStreamReader>;\n public static readAll(source: FromArg4): AsyncIterableIterator | AsyncRecordBatchReaders>;\n public static readAll(source: FromArg5): AsyncIterableIterator | AsyncRecordBatchStreamReader>;\n /** @nocollapse */\n public static readAll(source: any) {\n if (source instanceof RecordBatchReader) {\n return source.isSync() ? readAllSync(source) : readAllAsync(source as AsyncRecordBatchReaders);\n } else if (isArrowJSON(source) || ArrayBuffer.isView(source) || isIterable(source) || isIteratorResult(source)) {\n return readAllSync(source) as IterableIterator>;\n }\n return readAllAsync(source) as AsyncIterableIterator | AsyncRecordBatchReaders>;\n }\n}\n\n//\n// Since TS is a structural type system, we define the following subclass stubs\n// so that concrete types exist to associate with with the interfaces below.\n//\n// The implementation for each RecordBatchReader is hidden away in the set of\n// `RecordBatchReaderImpl` classes in the second half of this file. This allows\n// us to export a single RecordBatchReader class, and swap out the impl based\n// on the io primitives or underlying arrow (JSON, file, or stream) at runtime.\n//\n// Async/await makes our job a bit harder, since it forces everything to be\n// either fully sync or fully async. This is why the logic for the reader impls\n// has been duplicated into both sync and async variants. Since the RBR\n// delegates to its impl, an RBR with an AsyncRecordBatchFileReaderImpl for\n// example will return async/await-friendly Promises, but one with a (sync)\n// RecordBatchStreamReaderImpl will always return values. Nothing should be\n// different about their logic, aside from the async handling. This is also why\n// this code looks highly structured, as it should be nearly identical and easy\n// to follow.\n//\n\n/** @ignore */\nexport class RecordBatchStreamReader extends RecordBatchReader {\n constructor(protected _impl: RecordBatchStreamReaderImpl) { super (_impl); }\n public [Symbol.iterator]() { return (this._impl as IterableIterator>)[Symbol.iterator](); }\n public async *[Symbol.asyncIterator](): AsyncIterableIterator> { yield* this[Symbol.iterator](); }\n}\n/** @ignore */\nexport class AsyncRecordBatchStreamReader extends RecordBatchReader {\n constructor(protected _impl: AsyncRecordBatchStreamReaderImpl) { super (_impl); }\n public [Symbol.iterator](): IterableIterator> { throw new Error(`AsyncRecordBatchStreamReader is not Iterable`); }\n public [Symbol.asyncIterator]() { return (this._impl as AsyncIterableIterator>)[Symbol.asyncIterator](); }\n}\n/** @ignore */\nexport class RecordBatchFileReader extends RecordBatchStreamReader {\n constructor(protected _impl: RecordBatchFileReaderImpl) { super (_impl); }\n}\n/** @ignore */\nexport class AsyncRecordBatchFileReader extends AsyncRecordBatchStreamReader {\n constructor(protected _impl: AsyncRecordBatchFileReaderImpl) { super (_impl); }\n}\n\n//\n// Now override the return types for each sync/async RecordBatchReader variant\n//\n\n/** @ignore */\nexport interface RecordBatchStreamReader extends RecordBatchReader {\n open(options?: OpenOptions | undefined): this;\n cancel(): void;\n throw(value?: any): IteratorResult;\n return(value?: any): IteratorResult;\n next(value?: any): IteratorResult>;\n}\n\n/** @ignore */\nexport interface AsyncRecordBatchStreamReader extends RecordBatchReader {\n open(options?: OpenOptions | undefined): Promise;\n cancel(): Promise;\n throw(value?: any): Promise>;\n return(value?: any): Promise>;\n next(value?: any): Promise>>;\n}\n\n/** @ignore */\nexport interface RecordBatchFileReader extends RecordBatchStreamReader {\n footer: Footer;\n readRecordBatch(index: number): RecordBatch | null;\n}\n\n/** @ignore */\nexport interface AsyncRecordBatchFileReader extends AsyncRecordBatchStreamReader {\n footer: Footer;\n readRecordBatch(index: number): Promise | null>;\n}\n\n/** @ignore */\ntype RecordBatchReaderImpls =\n RecordBatchJSONReaderImpl |\n RecordBatchFileReaderImpl |\n RecordBatchStreamReaderImpl |\n AsyncRecordBatchFileReaderImpl |\n AsyncRecordBatchStreamReaderImpl;\n\n/** @ignore */\ninterface RecordBatchReaderImpl {\n\n closed: boolean;\n schema: Schema;\n autoDestroy: boolean;\n dictionaries: Map;\n\n isFile(): this is RecordBatchFileReaders;\n isStream(): this is RecordBatchStreamReaders;\n isSync(): this is RecordBatchReaders;\n isAsync(): this is AsyncRecordBatchReaders;\n\n reset(schema?: Schema | null): this;\n}\n\n/** @ignore */\ninterface RecordBatchStreamReaderImpl extends RecordBatchReaderImpl {\n\n open(options?: OpenOptions): this;\n cancel(): void;\n\n throw(value?: any): IteratorResult;\n return(value?: any): IteratorResult;\n next(value?: any): IteratorResult>;\n\n [Symbol.iterator](): IterableIterator>;\n}\n\n/** @ignore */\ninterface AsyncRecordBatchStreamReaderImpl extends RecordBatchReaderImpl {\n\n open(options?: OpenOptions): Promise;\n cancel(): Promise;\n\n throw(value?: any): Promise>;\n return(value?: any): Promise>;\n next(value?: any): Promise>>;\n\n [Symbol.asyncIterator](): AsyncIterableIterator>;\n}\n\n/** @ignore */\ninterface RecordBatchFileReaderImpl extends RecordBatchStreamReaderImpl {\n readRecordBatch(index: number): RecordBatch | null;\n}\n\n/** @ignore */\ninterface AsyncRecordBatchFileReaderImpl extends AsyncRecordBatchStreamReaderImpl {\n readRecordBatch(index: number): Promise | null>;\n}\n\n/** @ignore */\nabstract class RecordBatchReaderImpl implements RecordBatchReaderImpl {\n\n // @ts-ignore\n public schema: Schema;\n public closed = false;\n public autoDestroy = true;\n public dictionaries: Map;\n\n protected _dictionaryIndex = 0;\n protected _recordBatchIndex = 0;\n public get numDictionaries() { return this._dictionaryIndex; }\n public get numRecordBatches() { return this._recordBatchIndex; }\n\n constructor(dictionaries = new Map()) {\n this.dictionaries = dictionaries;\n }\n\n public isSync(): this is RecordBatchReaders { return false; }\n public isAsync(): this is AsyncRecordBatchReaders { return false; }\n public isFile(): this is RecordBatchFileReaders { return false; }\n public isStream(): this is RecordBatchStreamReaders { return false; }\n\n public reset(schema?: Schema | null) {\n this._dictionaryIndex = 0;\n this._recordBatchIndex = 0;\n this.schema = schema;\n this.dictionaries = new Map();\n return this;\n }\n\n protected _loadRecordBatch(header: metadata.RecordBatch, body: any) {\n return new RecordBatch(this.schema, header.length, this._loadVectors(header, body, this.schema.fields));\n }\n protected _loadDictionaryBatch(header: metadata.DictionaryBatch, body: any) {\n const { id, isDelta, data } = header;\n const { dictionaries, schema } = this;\n const dictionary = dictionaries.get(id);\n if (isDelta || !dictionary) {\n const type = schema.dictionaries.get(id)!;\n return (dictionary && isDelta ? dictionary.concat(\n Vector.new(this._loadVectors(data, body, [type])[0])) :\n Vector.new(this._loadVectors(data, body, [type])[0])) as Vector;\n }\n return dictionary;\n }\n protected _loadVectors(header: metadata.RecordBatch, body: any, types: (Field | DataType)[]) {\n return new VectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n\n/** @ignore */\nclass RecordBatchStreamReaderImpl extends RecordBatchReaderImpl implements IterableIterator> {\n\n protected _reader: MessageReader;\n protected _handle: ByteStream | ArrowJSONLike;\n\n constructor(source: ByteStream | ArrowJSONLike, dictionaries?: Map) {\n super(dictionaries);\n this._reader = !isArrowJSON(source)\n ? new MessageReader(this._handle = source)\n : new JSONMessageReader(this._handle = source);\n }\n\n public isSync(): this is RecordBatchReaders { return true; }\n public isStream(): this is RecordBatchStreamReaders { return true; }\n public [Symbol.iterator](): IterableIterator> {\n return this as IterableIterator>;\n }\n public cancel() {\n if (!this.closed && (this.closed = true)) {\n this.reset()._reader.return();\n this._reader = null;\n this.dictionaries = null;\n }\n }\n public open(options?: OpenOptions) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = this._reader.readSchema()!))) {\n this.cancel();\n }\n }\n return this;\n }\n public throw(value?: any): IteratorResult {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n public return(value?: any): IteratorResult {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n public next(): IteratorResult> {\n if (this.closed) { return ITERATOR_DONE; }\n let message: Message | null, { _reader: reader } = this;\n while (message = this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n this.reset(message.header());\n } else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n } else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };\n }\n return this.return();\n }\n protected _readNextMessageAndValidate(type?: T | null) {\n return this._reader.readMessage(type);\n }\n}\n\n/** @ignore */\nclass AsyncRecordBatchStreamReaderImpl extends RecordBatchReaderImpl implements AsyncIterableIterator> {\n\n protected _handle: AsyncByteStream;\n protected _reader: AsyncMessageReader;\n\n constructor(source: AsyncByteStream, dictionaries?: Map) {\n super(dictionaries);\n this._reader = new AsyncMessageReader(this._handle = source);\n }\n public isAsync(): this is AsyncRecordBatchReaders { return true; }\n public isStream(): this is RecordBatchStreamReaders { return true; }\n public [Symbol.asyncIterator](): AsyncIterableIterator> {\n return this as AsyncIterableIterator>;\n }\n public async cancel() {\n if (!this.closed && (this.closed = true)) {\n await this.reset()._reader.return();\n this._reader = null;\n this.dictionaries = null;\n }\n }\n public async open(options?: OpenOptions) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = (await this._reader.readSchema())!))) {\n await this.cancel();\n }\n }\n return this;\n }\n public async throw(value?: any): Promise> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return await this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n public async return(value?: any): Promise> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return await this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n public async next() {\n if (this.closed) { return ITERATOR_DONE; }\n let message: Message | null, { _reader: reader } = this;\n while (message = await this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n await this.reset(message.header());\n } else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = await reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n } else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = await reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };\n }\n return await this.return();\n }\n protected async _readNextMessageAndValidate(type?: T | null) {\n return await this._reader.readMessage(type);\n }\n}\n\n/** @ignore */\nclass RecordBatchFileReaderImpl extends RecordBatchStreamReaderImpl {\n\n // @ts-ignore\n protected _footer?: Footer;\n // @ts-ignore\n protected _handle: RandomAccessFile;\n public get footer() { return this._footer!; }\n public get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n public get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n\n constructor(source: RandomAccessFile | ArrayBufferViewInput, dictionaries?: Map) {\n super(source instanceof RandomAccessFile ? source : new RandomAccessFile(source), dictionaries);\n }\n public isSync(): this is RecordBatchReaders { return true; }\n public isFile(): this is RecordBatchFileReaders { return true; }\n public open(options?: OpenOptions) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return super.open(options);\n }\n public readRecordBatch(index: number) {\n if (this.closed) { return null; }\n if (!this._footer) { this.open(); }\n const block = this._footer && this._footer.getRecordBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.RecordBatch);\n if (message && message.isRecordBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n protected _readDictionaryBatch(index: number) {\n const block = this._footer && this._footer.getDictionaryBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message && message.isDictionaryBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n protected _readFooter() {\n const { _handle } = this;\n const offset = _handle.size - magicAndPadding;\n const length = _handle.readInt32(offset);\n const buffer = _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n protected _readNextMessageAndValidate(type?: T | null): Message | null {\n if (!this._footer) { this.open(); }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer && this._footer.getRecordBatch(this._recordBatchIndex);\n if (block && this._handle.seek(block.offset)) {\n return this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n\n/** @ignore */\nclass AsyncRecordBatchFileReaderImpl extends AsyncRecordBatchStreamReaderImpl\n implements AsyncRecordBatchFileReaderImpl {\n\n protected _footer?: Footer;\n // @ts-ignore\n protected _handle: AsyncRandomAccessFile;\n public get footer() { return this._footer!; }\n public get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n public get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n\n constructor(source: FileHandle, byteLength?: number, dictionaries?: Map);\n constructor(source: FileHandle | AsyncRandomAccessFile, dictionaries?: Map);\n constructor(source: FileHandle | AsyncRandomAccessFile, ...rest: any[]) {\n const byteLength = typeof rest[0] !== 'number' ? rest.shift() : undefined;\n const dictionaries = rest[0] instanceof Map ? > rest.shift() : undefined;\n super(source instanceof AsyncRandomAccessFile ? source : new AsyncRandomAccessFile(source, byteLength), dictionaries);\n }\n public isFile(): this is RecordBatchFileReaders { return true; }\n public isAsync(): this is AsyncRecordBatchReaders { return true; }\n public async open(options?: OpenOptions) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = await this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && await this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return await super.open(options);\n }\n public async readRecordBatch(index: number) {\n if (this.closed) { return null; }\n if (!this._footer) { await this.open(); }\n const block = this._footer && this._footer.getRecordBatch(index);\n if (block && (await this._handle.seek(block.offset))) {\n const message = await this._reader.readMessage(MessageHeader.RecordBatch);\n if (message && message.isRecordBatch()) {\n const header = message.header();\n const buffer = await this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n protected async _readDictionaryBatch(index: number) {\n const block = this._footer && this._footer.getDictionaryBatch(index);\n if (block && (await this._handle.seek(block.offset))) {\n const message = await this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message && message.isDictionaryBatch()) {\n const header = message.header();\n const buffer = await this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n protected async _readFooter() {\n const { _handle } = this;\n _handle._pending && await _handle._pending;\n const offset = _handle.size - magicAndPadding;\n const length = await _handle.readInt32(offset);\n const buffer = await _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n protected async _readNextMessageAndValidate(type?: T | null): Promise | null> {\n if (!this._footer) { await this.open(); }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer.getRecordBatch(this._recordBatchIndex);\n if (block && await this._handle.seek(block.offset)) {\n return await this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n\n/** @ignore */\nclass RecordBatchJSONReaderImpl extends RecordBatchStreamReaderImpl {\n constructor(source: ArrowJSONLike, dictionaries?: Map) {\n super(source, dictionaries);\n }\n protected _loadVectors(header: metadata.RecordBatch, body: any, types: (Field | DataType)[]) {\n return new JSONVectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n\n//\n// Define some helper functions and static implementations down here. There's\n// a bit of branching in the static methods that can lead to the same routines\n// being executed, so we've broken those out here for readability.\n//\n\n/** @ignore */\nfunction shouldAutoDestroy(self: { autoDestroy: boolean }, options?: OpenOptions) {\n return options && (typeof options['autoDestroy'] === 'boolean') ? options['autoDestroy'] : self['autoDestroy'];\n}\n\n/** @ignore */\nfunction* readAllSync(source: RecordBatchReaders | FromArg0 | FromArg2) {\n const reader = RecordBatchReader.from( source) as RecordBatchReaders;\n try {\n if (!reader.open({ autoDestroy: false }).closed) {\n do { yield reader; } while (!(reader.reset().open()).closed);\n }\n } finally { reader.cancel(); }\n}\n\n/** @ignore */\nasync function* readAllAsync(source: AsyncRecordBatchReaders | FromArg1 | FromArg3 | FromArg4 | FromArg5) {\n const reader = await RecordBatchReader.from( source) as RecordBatchReader;\n try {\n if (!(await reader.open({ autoDestroy: false })).closed) {\n do { yield reader; } while (!(await reader.reset().open()).closed);\n }\n } finally { await reader.cancel(); }\n}\n\n/** @ignore */\nfunction fromArrowJSON(source: ArrowJSONLike) {\n return new RecordBatchStreamReader(new RecordBatchJSONReaderImpl(source));\n}\n\n/** @ignore */\nfunction fromByteStream(source: ByteStream) {\n const bytes = source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl(source.read()))\n : new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(function*(): any {}()));\n}\n\n/** @ignore */\nasync function fromAsyncByteStream(source: AsyncByteStream) {\n const bytes = await source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl(await source.read()))\n : new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(async function*(): any {}()));\n}\n\n/** @ignore */\nasync function fromFileHandle(source: FileHandle) {\n const { size } = await source.stat();\n const file = new AsyncRandomAccessFile(source, size);\n if (size >= magicX2AndPadding) {\n if (checkForMagicArrowString(await file.readAt(0, (magicLength + 7) & ~7))) {\n return new AsyncRecordBatchFileReader(new AsyncRecordBatchFileReaderImpl(file));\n }\n }\n return new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(file));\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../../type';\nimport { Vector } from '../../vector';\nimport { VectorType as V } from '../../interfaces';\nimport { Builder, BuilderOptions } from '../../builder/index';\n\n/** @ignore */\nexport interface BuilderTransformOptions extends BuilderOptions {\n queueingStrategy?: 'bytes' | 'count';\n dictionaryHashFunction?: (value: any) => string | number;\n readableStrategy?: { highWaterMark?: number, size?: any, type?: 'bytes'; };\n writableStrategy?: { highWaterMark?: number, size?: any, type?: 'bytes'; };\n valueToChildTypeId?: (builder: Builder, value: any, offset: number) => number;\n}\n\n/** @ignore */\nexport function builderThroughDOMStream(options: BuilderTransformOptions) {\n return new BuilderTransform(options);\n}\n\n/** @ignore */\nexport class BuilderTransform {\n\n public readable: ReadableStream>;\n public writable: WritableStream;\n public _controller: ReadableStreamDefaultController> | null;\n\n private _numChunks = 0;\n private _finished = false;\n private _bufferedSize = 0;\n private _builder: Builder;\n private _getSize: (builder: Builder) => number;\n\n constructor(options: BuilderTransformOptions) {\n\n // Access properties by string indexers to defeat closure compiler\n\n const {\n ['readableStrategy']: readableStrategy,\n ['writableStrategy']: writableStrategy,\n ['queueingStrategy']: queueingStrategy = 'count',\n ...builderOptions\n } = options;\n\n this._controller = null;\n this._builder = Builder.new(builderOptions);\n this._getSize = queueingStrategy !== 'bytes' ? chunkLength : chunkByteLength;\n\n const { ['highWaterMark']: readableHighWaterMark = queueingStrategy === 'bytes' ? 2 ** 14 : 1000 } = { ...readableStrategy };\n const { ['highWaterMark']: writableHighWaterMark = queueingStrategy === 'bytes' ? 2 ** 14 : 1000 } = { ...writableStrategy };\n\n this['readable'] = new ReadableStream>({\n ['cancel']: () => { this._builder.clear(); },\n ['pull']: (c) => { this._maybeFlush(this._builder, this._controller = c); },\n ['start']: (c) => { this._maybeFlush(this._builder, this._controller = c); },\n }, {\n 'highWaterMark': readableHighWaterMark,\n 'size': queueingStrategy !== 'bytes' ? chunkLength : chunkByteLength,\n });\n\n this['writable'] = new WritableStream({\n ['abort']: () => { this._builder.clear(); },\n ['write']: () => { this._maybeFlush(this._builder, this._controller); },\n ['close']: () => { this._maybeFlush(this._builder.finish(), this._controller); },\n }, {\n 'highWaterMark': writableHighWaterMark,\n 'size': (value: T['TValue'] | TNull) => this._writeValueAndReturnChunkSize(value),\n });\n }\n\n private _writeValueAndReturnChunkSize(value: T['TValue'] | TNull) {\n const bufferedSize = this._bufferedSize;\n this._bufferedSize = this._getSize(this._builder.append(value));\n return this._bufferedSize - bufferedSize;\n }\n\n private _maybeFlush(builder: Builder, controller: ReadableStreamDefaultController> | null) {\n if (controller === null) { return; }\n if (this._bufferedSize >= controller.desiredSize!) {\n ++this._numChunks && this._enqueue(controller, builder.toVector());\n }\n if (builder.finished) {\n if (builder.length > 0 || this._numChunks === 0) {\n ++this._numChunks && this._enqueue(controller, builder.toVector());\n }\n if (!this._finished && (this._finished = true)) {\n this._enqueue(controller, null);\n }\n }\n }\n\n private _enqueue(controller: ReadableStreamDefaultController>, chunk: V | null) {\n this._bufferedSize = 0;\n this._controller = null;\n chunk === null ? controller.close() : controller.enqueue(chunk);\n }\n}\n\n/** @ignore */ const chunkLength = (chunk: Vector | Builder) => chunk.length;\n/** @ignore */ const chunkByteLength = (chunk: Vector | Builder) => chunk.byteLength;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { RecordBatch } from '../recordbatch';\nimport { DictionaryVector } from '../vector/dictionary';\n\n/** @ignore */\nexport type ValueFunc = (idx: number, cols: RecordBatch) => T | null;\n/** @ignore */\nexport type PredicateFunc = (idx: number, cols: RecordBatch) => boolean;\n\n/** @ignore */\nexport abstract class Value {\n eq(other: Value | T): Predicate {\n if (!(other instanceof Value)) { other = new Literal(other); }\n return new Equals(this, other);\n }\n le(other: Value | T): Predicate {\n if (!(other instanceof Value)) { other = new Literal(other); }\n return new LTeq(this, other);\n }\n ge(other: Value | T): Predicate {\n if (!(other instanceof Value)) { other = new Literal(other); }\n return new GTeq(this, other);\n }\n lt(other: Value | T): Predicate {\n return new Not(this.ge(other));\n }\n gt(other: Value | T): Predicate {\n return new Not(this.le(other));\n }\n ne(other: Value | T): Predicate {\n return new Not(this.eq(other));\n }\n}\n\n/** @ignore */\nexport class Literal extends Value {\n constructor(public v: T) { super(); }\n}\n\n/** @ignore */\nexport class Col extends Value {\n // @ts-ignore\n public vector: Vector;\n // @ts-ignore\n public colidx: number;\n\n constructor(public name: string) { super(); }\n bind(batch: RecordBatch): (idx: number, batch?: RecordBatch) => any {\n if (!this.colidx) {\n // Assume column index doesn't change between calls to bind\n //this.colidx = cols.findIndex(v => v.name.indexOf(this.name) != -1);\n this.colidx = -1;\n const fields = batch.schema.fields;\n for (let idx = -1; ++idx < fields.length;) {\n if (fields[idx].name === this.name) {\n this.colidx = idx;\n break;\n }\n }\n if (this.colidx < 0) { throw new Error(`Failed to bind Col \"${this.name}\"`); }\n }\n\n const vec = this.vector = batch.getChildAt(this.colidx)!;\n return (idx: number) => vec.get(idx);\n }\n}\n\n/** @ignore */\nexport abstract class Predicate {\n abstract bind(batch: RecordBatch): PredicateFunc;\n and(...expr: Predicate[]): And { return new And(this, ...expr); }\n or(...expr: Predicate[]): Or { return new Or(this, ...expr); }\n not(): Predicate { return new Not(this); }\n}\n\n/** @ignore */\nexport abstract class ComparisonPredicate extends Predicate {\n constructor(public readonly left: Value, public readonly right: Value) {\n super();\n }\n\n bind(batch: RecordBatch) {\n if (this.left instanceof Literal) {\n if (this.right instanceof Literal) {\n return this._bindLitLit(batch, this.left, this.right);\n } else { // right is a Col\n\n return this._bindLitCol(batch, this.left, this.right as Col);\n }\n } else { // left is a Col\n if (this.right instanceof Literal) {\n return this._bindColLit(batch, this.left as Col, this.right);\n } else { // right is a Col\n return this._bindColCol(batch, this.left as Col, this.right as Col);\n }\n }\n }\n\n protected abstract _bindLitLit(batch: RecordBatch, left: Literal, right: Literal): PredicateFunc;\n protected abstract _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc;\n protected abstract _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc;\n protected abstract _bindLitCol(batch: RecordBatch, lit: Literal, col: Col): PredicateFunc;\n}\n\n/** @ignore */\nexport abstract class CombinationPredicate extends Predicate {\n readonly children: Predicate[];\n constructor(...children: Predicate[]) {\n super();\n this.children = children;\n }\n}\n// add children to prototype so it doesn't get mangled in es2015/umd\n( CombinationPredicate.prototype).children = Object.freeze([]); // freeze for safety\n\n/** @ignore */\nexport class And extends CombinationPredicate {\n constructor(...children: Predicate[]) {\n // Flatten any Ands\n children = children.reduce((accum: Predicate[], p: Predicate): Predicate[] => {\n return accum.concat(p instanceof And ? p.children : p);\n }, []);\n super(...children);\n }\n bind(batch: RecordBatch) {\n const bound = this.children.map((p) => p.bind(batch));\n return (idx: number, batch: RecordBatch) => bound.every((p) => p(idx, batch));\n }\n}\n\n/** @ignore */\nexport class Or extends CombinationPredicate {\n constructor(...children: Predicate[]) {\n // Flatten any Ors\n children = children.reduce((accum: Predicate[], p: Predicate): Predicate[] => {\n return accum.concat(p instanceof Or ? p.children : p);\n }, []);\n super(...children);\n }\n bind(batch: RecordBatch) {\n const bound = this.children.map((p) => p.bind(batch));\n return (idx: number, batch: RecordBatch) => bound.some((p) => p(idx, batch));\n }\n}\n\n/** @ignore */\nexport class Equals extends ComparisonPredicate {\n // Helpers used to cache dictionary reverse lookups between calls to bind\n private lastDictionary: Vector|undefined;\n private lastKey: number|undefined;\n\n protected _bindLitLit(_batch: RecordBatch, left: Literal, right: Literal): PredicateFunc {\n const rtrn: boolean = left.v == right.v;\n return () => rtrn;\n }\n\n protected _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc {\n const left_func = left.bind(batch);\n const right_func = right.bind(batch);\n return (idx: number, batch: RecordBatch) => left_func(idx, batch) == right_func(idx, batch);\n }\n\n protected _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc {\n const col_func = col.bind(batch);\n if (col.vector instanceof DictionaryVector) {\n let key: any;\n const vector = col.vector as DictionaryVector;\n if (vector.dictionary !== this.lastDictionary) {\n key = vector.reverseLookup(lit.v);\n this.lastDictionary = vector.dictionary;\n this.lastKey = key;\n } else {\n key = this.lastKey;\n }\n\n if (key === -1) {\n // the value doesn't exist in the dictionary - always return\n // false\n // TODO: special-case of PredicateFunc that encapsulates this\n // \"always false\" behavior. That way filtering operations don't\n // have to bother checking\n return () => false;\n } else {\n return (idx: number) => {\n return vector.getKey(idx) === key;\n };\n }\n } else {\n return (idx: number, cols: RecordBatch) => col_func(idx, cols) == lit.v;\n }\n }\n\n protected _bindLitCol(batch: RecordBatch, lit: Literal, col: Col) {\n // Equals is commutative\n return this._bindColLit(batch, col, lit);\n }\n}\n\n/** @ignore */\nexport class LTeq extends ComparisonPredicate {\n protected _bindLitLit(_batch: RecordBatch, left: Literal, right: Literal): PredicateFunc {\n const rtrn: boolean = left.v <= right.v;\n return () => rtrn;\n }\n\n protected _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc {\n const left_func = left.bind(batch);\n const right_func = right.bind(batch);\n return (idx: number, cols: RecordBatch) => left_func(idx, cols) <= right_func(idx, cols);\n }\n\n protected _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => col_func(idx, cols) <= lit.v;\n }\n\n protected _bindLitCol(batch: RecordBatch, lit: Literal, col: Col) {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => lit.v <= col_func(idx, cols);\n }\n}\n\n/** @ignore */\nexport class GTeq extends ComparisonPredicate {\n protected _bindLitLit(_batch: RecordBatch, left: Literal, right: Literal): PredicateFunc {\n const rtrn: boolean = left.v >= right.v;\n return () => rtrn;\n }\n\n protected _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc {\n const left_func = left.bind(batch);\n const right_func = right.bind(batch);\n return (idx: number, cols: RecordBatch) => left_func(idx, cols) >= right_func(idx, cols);\n }\n\n protected _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => col_func(idx, cols) >= lit.v;\n }\n\n protected _bindLitCol(batch: RecordBatch, lit: Literal, col: Col) {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => lit.v >= col_func(idx, cols);\n }\n}\n\n/** @ignore */\nexport class Not extends Predicate {\n constructor(public readonly child: Predicate) {\n super();\n }\n\n bind(batch: RecordBatch) {\n const func = this.child.bind(batch);\n return (idx: number, batch: RecordBatch) => !func(idx, batch);\n }\n}\n\n/** @ignore */\nexport class CustomPredicate extends Predicate {\n constructor(private next: PredicateFunc, private bind_: (batch: RecordBatch) => void) {\n super();\n }\n\n bind(batch: RecordBatch) {\n this.bind_(batch);\n return this.next;\n }\n}\n\nexport function lit(v: any): Value { return new Literal(v); }\nexport function col(n: string): Col { return new Col(n); }\nexport function and(...p: Predicate[]): And { return new And(...p); }\nexport function or(...p: Predicate[]): Or { return new Or(...p); }\nexport function custom(next: PredicateFunc, bind: (batch: RecordBatch) => void) {\n return new CustomPredicate(next, bind);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Table } from '../table';\nimport { Vector } from '../vector';\nimport { IntVector } from '../vector/int';\nimport { Field, Schema } from '../schema';\nimport { Predicate, Col } from './predicate';\nimport { RecordBatch } from '../recordbatch';\nimport { VectorType as V } from '../interfaces';\nimport { DataType, Int, Struct, Dictionary } from '../type';\n\n/** @ignore */\nexport type BindFunc = (batch: RecordBatch) => void;\n/** @ignore */\nexport type NextFunc = (idx: number, batch: RecordBatch) => void;\n\nTable.prototype.countBy = function(this: Table, name: Col | string) { return new DataFrame(this.chunks).countBy(name); };\nTable.prototype.scan = function(this: Table, next: NextFunc, bind?: BindFunc) { return new DataFrame(this.chunks).scan(next, bind); };\nTable.prototype.scanReverse = function(this: Table, next: NextFunc, bind?: BindFunc) { return new DataFrame(this.chunks).scanReverse(next, bind); };\nTable.prototype.filter = function(this: Table, predicate: Predicate): FilteredDataFrame { return new DataFrame(this.chunks).filter(predicate); };\n\nexport class DataFrame extends Table {\n public filter(predicate: Predicate): FilteredDataFrame {\n return new FilteredDataFrame(this.chunks, predicate);\n }\n public scan(next: NextFunc, bind?: BindFunc) {\n const batches = this.chunks, numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n if (bind) { bind(batch); }\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n next(index, batch);\n }\n }\n }\n public scanReverse(next: NextFunc, bind?: BindFunc) {\n const batches = this.chunks, numBatches = batches.length;\n for (let batchIndex = numBatches; --batchIndex >= 0;) {\n // load batches\n const batch = batches[batchIndex];\n if (bind) { bind(batch); }\n // yield all indices\n for (let index = batch.length; --index >= 0;) {\n next(index, batch);\n }\n }\n }\n public countBy(name: Col | string) {\n const batches = this.chunks, numBatches = batches.length;\n const count_by = typeof name === 'string' ? new Col(name) : name as Col;\n // Assume that all dictionary batches are deltas, which means that the\n // last record batch has the most complete dictionary\n count_by.bind(batches[numBatches - 1]);\n const vector = count_by.vector as V;\n if (!DataType.isDictionary(vector.type)) {\n throw new Error('countBy currently only supports dictionary-encoded columns');\n }\n\n const countByteLength = Math.ceil(Math.log(vector.length) / Math.log(256));\n const CountsArrayType = countByteLength == 4 ? Uint32Array :\n countByteLength >= 2 ? Uint16Array : Uint8Array;\n\n const counts = new CountsArrayType(vector.dictionary.length);\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n // rebind the countBy Col\n count_by.bind(batch);\n const keys = (count_by.vector as V).indices;\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n let key = keys.get(index);\n if (key !== null) { counts[key]++; }\n }\n }\n return new CountByResult(vector.dictionary, IntVector.from(counts));\n }\n}\n\n/** @ignore */\nexport class CountByResult extends Table<{ values: T, counts: TCount }> {\n constructor(values: Vector, counts: V) {\n type R = { values: T, counts: TCount };\n const schema = new Schema([\n new Field('values', values.type),\n new Field('counts', counts.type)\n ]);\n super(new RecordBatch(schema, counts.length, [values, counts]));\n }\n public toJSON(): Object {\n const values = this.getColumnAt(0)!;\n const counts = this.getColumnAt(1)!;\n const result = {} as { [k: string]: number | null };\n for (let i = -1; ++i < this.length;) {\n result[values.get(i)] = counts.get(i);\n }\n return result;\n }\n}\n\n/** @ignore */\nexport class FilteredDataFrame extends DataFrame {\n private _predicate: Predicate;\n constructor (batches: RecordBatch[], predicate: Predicate) {\n super(batches);\n this._predicate = predicate;\n }\n public scan(next: NextFunc, bind?: BindFunc) {\n // inlined version of this:\n // this.parent.scan((idx, columns) => {\n // if (this.predicate(idx, columns)) next(idx, columns);\n // });\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n let isBound = false;\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n if (predicate(index, batch)) {\n // bind batches lazily - if predicate doesn't match anything\n // in the batch we don't need to call bind on the batch\n if (bind && !isBound) {\n bind(batch);\n isBound = true;\n }\n next(index, batch);\n }\n }\n }\n }\n public scanReverse(next: NextFunc, bind?: BindFunc) {\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = numBatches; --batchIndex >= 0;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n let isBound = false;\n // yield all indices\n for (let index = batch.length; --index >= 0;) {\n if (predicate(index, batch)) {\n // bind batches lazily - if predicate doesn't match anything\n // in the batch we don't need to call bind on the batch\n if (bind && !isBound) {\n bind(batch);\n isBound = true;\n }\n next(index, batch);\n }\n }\n }\n }\n public count(): number {\n // inlined version of this:\n // let sum = 0;\n // this.parent.scan((idx, columns) => {\n // if (this.predicate(idx, columns)) ++sum;\n // });\n // return sum;\n let sum = 0;\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n if (predicate(index, batch)) { ++sum; }\n }\n }\n return sum;\n }\n public *[Symbol.iterator](): IterableIterator['TValue']> {\n // inlined version of this:\n // this.parent.scan((idx, columns) => {\n // if (this.predicate(idx, columns)) next(idx, columns);\n // });\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n // TODO: bind batches lazily\n // If predicate doesn't match anything in the batch we don't need\n // to bind the callback\n const predicate = this._predicate.bind(batch);\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n if (predicate(index, batch)) { yield batch.get(index) as any; }\n }\n }\n }\n public filter(predicate: Predicate): FilteredDataFrame {\n return new FilteredDataFrame(\n this._chunks,\n this._predicate.and(predicate)\n );\n }\n public countBy(name: Col | string) {\n const batches = this._chunks, numBatches = batches.length;\n const count_by = typeof name === 'string' ? new Col(name) : name as Col;\n // Assume that all dictionary batches are deltas, which means that the\n // last record batch has the most complete dictionary\n count_by.bind(batches[numBatches - 1]);\n const vector = count_by.vector as V;\n if (!DataType.isDictionary(vector.type)) {\n throw new Error('countBy currently only supports dictionary-encoded columns');\n }\n\n const countByteLength = Math.ceil(Math.log(vector.length) / Math.log(256));\n const CountsArrayType = countByteLength == 4 ? Uint32Array :\n countByteLength >= 2 ? Uint16Array : Uint8Array;\n\n const counts = new CountsArrayType(vector.dictionary.length);\n\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n // rebind the countBy Col\n count_by.bind(batch);\n const keys = (count_by.vector as V).indices;\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n let key = keys.get(index);\n if (key !== null && predicate(index, batch)) { counts[key]++; }\n }\n }\n return new CountByResult(vector.dictionary, IntVector.from(counts));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { ArrowType, DateUnit, IntervalUnit, MessageHeader, MetadataVersion, Precision, TimeUnit, Type, UnionMode, BufferType } from './enum';\nexport { Data } from './data';\nexport {\n DataType,\n Null,\n Bool,\n Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n Float, Float16, Float32, Float64,\n Utf8,\n Binary,\n FixedSizeBinary,\n Date_, DateDay, DateMillisecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Decimal,\n List,\n Struct,\n Union, DenseUnion, SparseUnion,\n Dictionary,\n Interval, IntervalDayTime, IntervalYearMonth,\n FixedSizeList,\n Map_,\n} from './type';\n\nexport { Table } from './table';\nexport { Column } from './column';\nexport { Visitor } from './visitor';\nexport { Schema, Field } from './schema';\nexport {\n Vector,\n BaseVector,\n BinaryVector,\n BoolVector,\n Chunked,\n DateVector, DateDayVector, DateMillisecondVector,\n DecimalVector,\n DictionaryVector,\n FixedSizeBinaryVector,\n FixedSizeListVector,\n FloatVector, Float16Vector, Float32Vector, Float64Vector,\n IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector,\n IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector,\n ListVector,\n MapVector,\n NullVector,\n StructVector,\n TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector,\n TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector,\n UnionVector, DenseUnionVector, SparseUnionVector,\n Utf8Vector,\n} from './vector/index';\n\nexport {\n Builder,\n BinaryBuilder,\n BoolBuilder,\n DateBuilder, DateDayBuilder, DateMillisecondBuilder,\n DecimalBuilder,\n DictionaryBuilder,\n FixedSizeBinaryBuilder,\n FixedSizeListBuilder,\n FloatBuilder, Float16Builder, Float32Builder, Float64Builder,\n IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder,\n IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder,\n ListBuilder,\n MapBuilder,\n NullBuilder,\n StructBuilder,\n TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder,\n TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder,\n UnionBuilder, DenseUnionBuilder, SparseUnionBuilder,\n Utf8Builder,\n} from './builder/index';\n\nexport { ByteStream, AsyncByteStream, AsyncByteQueue, ReadableSource, WritableSink } from './io/stream';\nexport { RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader } from './ipc/reader';\nexport { RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter } from './ipc/writer';\nexport { MessageReader, AsyncMessageReader, JSONMessageReader } from './ipc/message';\nexport { Message } from './ipc/metadata/message';\nexport { RecordBatch } from './recordbatch';\nexport { ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions } from './io/interfaces';\nexport { DataFrame, FilteredDataFrame, CountByResult, BindFunc, NextFunc } from './compute/dataframe';\n\nimport * as util_bn_ from './util/bn';\nimport * as util_int_ from './util/int';\nimport * as util_bit_ from './util/bit';\nimport * as util_math_ from './util/math';\nimport * as util_buffer_ from './util/buffer';\nimport * as util_vector_ from './util/vector';\nimport * as predicate from './compute/predicate';\n\nexport { predicate };\n/** @ignore */\nexport const util = {\n ...util_bn_,\n ...util_int_,\n ...util_bit_,\n ...util_math_,\n ...util_buffer_,\n ...util_vector_\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './io/adapters';\nimport { Builder } from './builder/index';\nimport { RecordBatchReader } from './ipc/reader';\nimport { RecordBatchWriter } from './ipc/writer';\nimport { toDOMStream } from './io/whatwg/iterable';\nimport { builderThroughDOMStream } from './io/whatwg/builder';\nimport { recordBatchReaderThroughDOMStream } from './io/whatwg/reader';\nimport { recordBatchWriterThroughDOMStream } from './io/whatwg/writer';\n\nstreamAdapters.toDOMStream = toDOMStream;\nBuilder['throughDOM'] = builderThroughDOMStream;\nRecordBatchReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\n\nexport {\n ArrowType, DateUnit, IntervalUnit, MessageHeader, MetadataVersion, Precision, TimeUnit, Type, UnionMode, BufferType,\n Data,\n DataType,\n Null,\n Bool,\n Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n Float, Float16, Float32, Float64,\n Utf8,\n Binary,\n FixedSizeBinary,\n Date_, DateDay, DateMillisecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Decimal,\n List,\n Struct,\n Union, DenseUnion, SparseUnion,\n Dictionary,\n Interval, IntervalDayTime, IntervalYearMonth,\n FixedSizeList,\n Map_,\n Table,\n Column,\n Schema, Field,\n Visitor,\n Vector,\n BaseVector,\n BinaryVector,\n BoolVector,\n Chunked,\n DateVector, DateDayVector, DateMillisecondVector,\n DecimalVector,\n DictionaryVector,\n FixedSizeBinaryVector,\n FixedSizeListVector,\n FloatVector, Float16Vector, Float32Vector, Float64Vector,\n IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector,\n IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector,\n ListVector,\n MapVector,\n NullVector,\n StructVector,\n TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector,\n TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector,\n UnionVector, DenseUnionVector, SparseUnionVector,\n Utf8Vector,\n ByteStream, AsyncByteStream, AsyncByteQueue, ReadableSource, WritableSink,\n RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader,\n RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter,\n MessageReader, AsyncMessageReader, JSONMessageReader,\n Message,\n RecordBatch,\n ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions,\n DataFrame, FilteredDataFrame, CountByResult, BindFunc, NextFunc,\n predicate,\n util,\n Builder,\n BinaryBuilder,\n BoolBuilder,\n DateBuilder, DateDayBuilder, DateMillisecondBuilder,\n DecimalBuilder,\n DictionaryBuilder,\n FixedSizeBinaryBuilder,\n FixedSizeListBuilder,\n FloatBuilder, Float16Builder, Float32Builder, Float64Builder,\n IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder,\n IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder,\n ListBuilder,\n MapBuilder,\n NullBuilder,\n StructBuilder,\n TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder,\n TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder,\n UnionBuilder, DenseUnionBuilder, SparseUnionBuilder,\n Utf8Builder,\n} from './Arrow';\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { toUint8Array } from '../../util/buffer';\nimport { ReadableDOMStreamOptions } from '../../io/interfaces';\nimport { isIterable, isAsyncIterable } from '../../util/compat';\n\n/** @ignore */\nexport function toDOMStream(source: Iterable | AsyncIterable, options?: ReadableDOMStreamOptions): ReadableStream {\n if (isAsyncIterable(source)) { return asyncIterableAsReadableDOMStream(source, options); }\n if (isIterable(source)) { return iterableAsReadableDOMStream(source, options); }\n /* istanbul ignore next */\n throw new Error(`toDOMStream() must be called with an Iterable or AsyncIterable`);\n}\n\n/** @ignore */\nfunction iterableAsReadableDOMStream(source: Iterable, options?: ReadableDOMStreamOptions) {\n\n let it: Iterator | null = null;\n const bm = (options && options.type === 'bytes') || false;\n const hwm = options && options.highWaterMark || (2 ** 24);\n\n return new ReadableStream({\n ...options as any,\n start(controller) { next(controller, it || (it = source[Symbol.iterator]())); },\n pull(controller) { it ? (next(controller, it)) : controller.close(); },\n cancel() { (it && (it.return && it.return()) || true) && (it = null); }\n }, { highWaterMark: bm ? hwm : undefined, ...options });\n\n function next(controller: ReadableStreamDefaultController, it: Iterator) {\n let buf: Uint8Array;\n let r: IteratorResult | null = null;\n let size = controller.desiredSize || null;\n while (!(r = it.next(bm ? size : null)).done) {\n if (ArrayBuffer.isView(r.value) && (buf = toUint8Array(r.value))) {\n size != null && bm && (size = size - buf.byteLength + 1);\n r.value = buf;\n }\n controller.enqueue(r.value);\n if (size != null && --size <= 0) { return; }\n }\n controller.close();\n }\n}\n\n/** @ignore */\nfunction asyncIterableAsReadableDOMStream(source: AsyncIterable, options?: ReadableDOMStreamOptions) {\n\n let it: AsyncIterator | null = null;\n const bm = (options && options.type === 'bytes') || false;\n const hwm = options && options.highWaterMark || (2 ** 24);\n\n return new ReadableStream({\n ...options as any,\n async start(controller) { await next(controller, it || (it = source[Symbol.asyncIterator]())); },\n async pull(controller) { it ? (await next(controller, it)) : controller.close(); },\n async cancel() { (it && (it.return && await it.return()) || true) && (it = null); },\n }, { highWaterMark: bm ? hwm : undefined, ...options });\n\n async function next(controller: ReadableStreamDefaultController, it: AsyncIterator) {\n let buf: Uint8Array;\n let r: IteratorResult | null = null;\n let size = controller.desiredSize || null;\n while (!(r = await it.next(bm ? size : null)).done) {\n if (ArrayBuffer.isView(r.value) && (buf = toUint8Array(r.value))) {\n size != null && bm && (size = size - buf.byteLength + 1);\n r.value = buf;\n }\n controller.enqueue(r.value);\n if (size != null && --size <= 0) { return; }\n }\n controller.close();\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../../type';\nimport { RecordBatch } from '../../recordbatch';\nimport { AsyncByteQueue } from '../../io/stream';\nimport { RecordBatchReader } from '../../ipc/reader';\n\n/** @ignore */\nexport function recordBatchReaderThroughDOMStream(writableStrategy?: ByteLengthQueuingStrategy, readableStrategy?: { autoDestroy: boolean }) {\n\n const queue = new AsyncByteQueue();\n let reader: RecordBatchReader | null = null;\n\n const readable = new ReadableStream>({\n async cancel() { await queue.close(); },\n async start(controller) { await next(controller, reader || (reader = await open())); },\n async pull(controller) { reader ? await next(controller, reader) : controller.close(); }\n });\n\n return { writable: new WritableStream(queue, { 'highWaterMark': 2 ** 14, ...writableStrategy }), readable };\n\n async function open() {\n return await (await RecordBatchReader.from(queue)).open(readableStrategy);\n }\n\n async function next(controller: ReadableStreamDefaultController>, reader: RecordBatchReader) {\n let size = controller.desiredSize;\n let r: IteratorResult> | null = null;\n while (!(r = await reader.next()).done) {\n controller.enqueue(r.value);\n if (size != null && --size <= 0) {\n return;\n }\n }\n controller.close();\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../../type';\nimport { RecordBatch } from '../../recordbatch';\nimport { AsyncByteStream } from '../../io/stream';\nimport { RecordBatchWriter } from '../../ipc/writer';\n\n/** @ignore */\nexport function recordBatchWriterThroughDOMStream(\n this: typeof RecordBatchWriter,\n writableStrategy?: QueuingStrategy> & { autoDestroy: boolean },\n readableStrategy?: { highWaterMark?: number, size?: any }\n) {\n\n const writer = new this(writableStrategy);\n const reader = new AsyncByteStream(writer);\n const readable = new ReadableStream({\n type: 'bytes',\n async cancel() { await reader.cancel(); },\n async pull(controller) { await next(controller); },\n async start(controller) { await next(controller); },\n }, { 'highWaterMark': 2 ** 14, ...readableStrategy });\n\n return { writable: new WritableStream(writer, writableStrategy), readable };\n\n async function next(controller: ReadableStreamDefaultController) {\n let buf: Uint8Array | null = null;\n let size = controller.desiredSize;\n while (buf = await reader.read(size || null)) {\n controller.enqueue(buf);\n if (size != null && (size -= buf.byteLength) <= 0) { return; }\n }\n controller.close();\n }\n}\n","/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Table, Type } from \"apache-arrow\";\nvar ArrowTable = /** @class */ (function () {\n function ArrowTable(dataBuffer, indexBuffer, columnsBuffer, styler) {\n var _this = this;\n this.getCell = function (rowIndex, columnIndex) {\n var isBlankCell = rowIndex < _this.headerRows && columnIndex < _this.headerColumns;\n var isIndexCell = rowIndex >= _this.headerRows && columnIndex < _this.headerColumns;\n var isColumnsCell = rowIndex < _this.headerRows && columnIndex >= _this.headerColumns;\n if (isBlankCell) {\n var classNames = [\"blank\"];\n if (columnIndex > 0) {\n classNames.push(\"level\" + rowIndex);\n }\n return {\n type: \"blank\",\n classNames: classNames.join(\" \"),\n content: \"\"\n };\n }\n else if (isColumnsCell) {\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"col_heading\",\n \"level\" + rowIndex,\n \"col\" + dataColumnIndex\n ];\n return {\n type: \"columns\",\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.columnsTable, dataColumnIndex, rowIndex)\n };\n }\n else if (isIndexCell) {\n var dataRowIndex = rowIndex - _this.headerRows;\n var classNames = [\n \"row_heading\",\n \"level\" + columnIndex,\n \"row\" + dataRowIndex\n ];\n return {\n type: \"index\",\n id: \"T_\" + _this.uuid + \"level\" + columnIndex + \"_row\" + dataRowIndex,\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.indexTable, dataRowIndex, columnIndex)\n };\n }\n else {\n var dataRowIndex = rowIndex - _this.headerRows;\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"data\",\n \"row\" + dataRowIndex,\n \"col\" + dataColumnIndex\n ];\n var content = _this.styler\n ? _this.getContent(_this.styler.displayValuesTable, dataRowIndex, dataColumnIndex)\n : _this.getContent(_this.dataTable, dataRowIndex, dataColumnIndex);\n return {\n type: \"data\",\n id: \"T_\" + _this.uuid + \"row\" + dataRowIndex + \"_col\" + dataColumnIndex,\n classNames: classNames.join(\" \"),\n content: content\n };\n }\n };\n this.getContent = function (table, rowIndex, columnIndex) {\n var column = table.getColumnAt(columnIndex);\n if (column === null) {\n return \"\";\n }\n var columnTypeId = _this.getColumnTypeId(table, columnIndex);\n switch (columnTypeId) {\n case Type.Timestamp: {\n return _this.nanosToDate(column.get(rowIndex));\n }\n default: {\n return column.get(rowIndex);\n }\n }\n };\n this.dataTable = Table.from(dataBuffer);\n this.indexTable = Table.from(indexBuffer);\n this.columnsTable = Table.from(columnsBuffer);\n this.styler = styler\n ? {\n caption: styler.caption,\n displayValuesTable: Table.from(styler.displayValues),\n styles: styler.styles,\n uuid: styler.uuid\n }\n : undefined;\n }\n Object.defineProperty(ArrowTable.prototype, \"rows\", {\n get: function () {\n return this.indexTable.length + this.columnsTable.numCols;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columns\", {\n get: function () {\n return this.indexTable.numCols + this.columnsTable.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerRows\", {\n get: function () {\n return this.rows - this.dataRows;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerColumns\", {\n get: function () {\n return this.columns - this.dataColumns;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataRows\", {\n get: function () {\n return this.dataTable.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataColumns\", {\n get: function () {\n return this.dataTable.numCols;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"uuid\", {\n get: function () {\n return this.styler && this.styler.uuid;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"caption\", {\n get: function () {\n return this.styler && this.styler.caption;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"styles\", {\n get: function () {\n return this.styler && this.styler.styles;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"table\", {\n get: function () {\n return this.dataTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"index\", {\n get: function () {\n return this.indexTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columnTable\", {\n get: function () {\n return this.columnsTable;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Serialize arrow table.\n */\n ArrowTable.prototype.serialize = function () {\n return {\n data: this.dataTable.serialize(),\n index: this.indexTable.serialize(),\n columns: this.columnsTable.serialize()\n };\n };\n /**\n * Returns apache-arrow specific typeId of column.\n */\n ArrowTable.prototype.getColumnTypeId = function (table, columnIndex) {\n return table.schema.fields[columnIndex].type.typeId;\n };\n ArrowTable.prototype.nanosToDate = function (nanos) {\n return new Date(nanos / 1e6);\n };\n return ArrowTable;\n}());\nexport { ArrowTable };\n","/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Safari doesn't support the EventTarget class, so we use a shim.\nimport { EventTarget } from \"event-target-shim\";\nimport { ArrowTable } from \"./ArrowTable\";\n/** Messages from Component -> Streamlit */\nvar ComponentMessageType;\n(function (ComponentMessageType) {\n // A component sends this message when it's ready to receive messages\n // from Streamlit. Streamlit won't send any messages until it gets this.\n // Data: { apiVersion: number }\n ComponentMessageType[\"COMPONENT_READY\"] = \"streamlit:componentReady\";\n // The component has a new widget value. Send it back to Streamlit, which\n // will then re-run the app.\n // Data: { value: any }\n ComponentMessageType[\"SET_COMPONENT_VALUE\"] = \"streamlit:setComponentValue\";\n // The component has a new height for its iframe.\n // Data: { height: number }\n ComponentMessageType[\"SET_FRAME_HEIGHT\"] = \"streamlit:setFrameHeight\";\n})(ComponentMessageType || (ComponentMessageType = {}));\n/**\n * Streamlit communication API.\n *\n * Components can send data to Streamlit via the functions defined here,\n * and receive data from Streamlit via the `events` property.\n */\nvar Streamlit = /** @class */ (function () {\n function Streamlit() {\n }\n /**\n * The Streamlit component API version we're targetting.\n * There's currently only 1!\n */\n Streamlit.API_VERSION = 1;\n Streamlit.RENDER_EVENT = \"streamlit:render\";\n /** Dispatches events received from Streamlit. */\n Streamlit.events = new EventTarget();\n Streamlit.registeredMessageListener = false;\n /**\n * Tell Streamlit that the component is ready to start receiving data.\n * Streamlit will defer emitting RENDER events until it receives the\n * COMPONENT_READY message.\n */\n Streamlit.setComponentReady = function () {\n if (!Streamlit.registeredMessageListener) {\n // Register for message events if we haven't already\n window.addEventListener(\"message\", Streamlit.onMessageEvent);\n Streamlit.registeredMessageListener = true;\n }\n Streamlit.sendBackMsg(ComponentMessageType.COMPONENT_READY, {\n apiVersion: Streamlit.API_VERSION\n });\n };\n /**\n * Report the component's height to Streamlit.\n * This should be called every time the component changes its DOM - that is,\n * when it's first loaded, and any time it updates.\n */\n Streamlit.setFrameHeight = function (height) {\n if (height === undefined) {\n // `height` is optional. If undefined, it defaults to scrollHeight,\n // which is the entire height of the element minus its border,\n // scrollbar, and margin.\n height = document.body.scrollHeight;\n }\n if (height === Streamlit.lastFrameHeight) {\n // Don't bother updating if our height hasn't changed.\n return;\n }\n Streamlit.lastFrameHeight = height;\n Streamlit.sendBackMsg(ComponentMessageType.SET_FRAME_HEIGHT, { height: height });\n };\n /**\n * Set the component's value. This value will be returned to the Python\n * script, and the script will be re-run.\n *\n * For example:\n *\n * JavaScript:\n * Streamlit.setComponentValue(\"ahoy!\")\n *\n * Python:\n * value = st.my_component(...)\n * st.write(value) # -> \"ahoy!\"\n *\n * The value must be an ArrowTable, a typed array, an ArrayBuffer, or be\n * serializable to JSON.\n */\n Streamlit.setComponentValue = function (value) {\n var dataType;\n if (value instanceof ArrowTable) {\n dataType = \"dataframe\";\n value = value.serialize();\n }\n else if (isTypedArray(value)) {\n // All typed arrays get sent as Uint8Array, because that's what our\n // protobuf library uses for the \"bytes\" field type.\n dataType = \"bytes\";\n value = new Uint8Array(value.buffer);\n }\n else if (value instanceof ArrayBuffer) {\n dataType = \"bytes\";\n value = new Uint8Array(value);\n }\n else {\n dataType = \"json\";\n }\n Streamlit.sendBackMsg(ComponentMessageType.SET_COMPONENT_VALUE, {\n value: value,\n dataType: dataType\n });\n };\n /** Receive a ForwardMsg from the Streamlit app */\n Streamlit.onMessageEvent = function (event) {\n var type = event.data[\"type\"];\n switch (type) {\n case Streamlit.RENDER_EVENT:\n Streamlit.onRenderMessage(event.data);\n break;\n }\n };\n /**\n * Handle an untyped Streamlit render event and redispatch it as a\n * StreamlitRenderEvent.\n */\n Streamlit.onRenderMessage = function (data) {\n var args = data[\"args\"];\n if (args == null) {\n console.error(\"Got null args in onRenderMessage. This should never happen\");\n args = {};\n }\n // Parse our dataframe arguments with arrow, and merge them into our args dict\n var dataframeArgs = data[\"dfs\"] && data[\"dfs\"].length > 0\n ? Streamlit.argsDataframeToObject(data[\"dfs\"])\n : {};\n args = __assign(__assign({}, args), dataframeArgs);\n var disabled = Boolean(data[\"disabled\"]);\n var theme = data[\"theme\"];\n if (theme) {\n _injectTheme(theme);\n }\n // Dispatch a render event!\n var eventData = { disabled: disabled, args: args, theme: theme };\n var event = new CustomEvent(Streamlit.RENDER_EVENT, {\n detail: eventData\n });\n Streamlit.events.dispatchEvent(event);\n };\n Streamlit.argsDataframeToObject = function (argsDataframe) {\n var argsDataframeArrow = argsDataframe.map(function (_a) {\n var key = _a.key, value = _a.value;\n return [key, Streamlit.toArrowTable(value)];\n });\n return Object.fromEntries(argsDataframeArrow);\n };\n Streamlit.toArrowTable = function (df) {\n var _a = df.data, data = _a.data, index = _a.index, columns = _a.columns, styler = _a.styler;\n return new ArrowTable(data, index, columns, styler);\n };\n /** Post a message to the Streamlit app. */\n Streamlit.sendBackMsg = function (type, data) {\n window.parent.postMessage(__assign({ isStreamlitMessage: true, type: type }, data), \"*\");\n };\n return Streamlit;\n}());\nexport { Streamlit };\nvar _injectTheme = function (theme) {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n style.innerHTML = \"\\n :root {\\n --primary-color: \" + theme.primaryColor + \";\\n --background-color: \" + theme.backgroundColor + \";\\n --secondary-background-color: \" + theme.secondaryBackgroundColor + \";\\n --text-color: \" + theme.textColor + \";\\n --font: \" + theme.font + \";\\n }\\n\\n body {\\n background-color: var(--background-color);\\n color: var(--text-color);\\n }\\n \";\n};\n/** True if the value is a TypedArray. */\nfunction isTypedArray(value) {\n var isBigIntArray = false;\n try {\n isBigIntArray =\n value instanceof BigInt64Array || value instanceof BigUint64Array;\n }\n catch (e) {\n // Ignore cause Safari does not support this\n // https://caniuse.com/mdn-javascript_builtins_bigint64array\n }\n return (value instanceof Int8Array ||\n value instanceof Uint8Array ||\n value instanceof Uint8ClampedArray ||\n value instanceof Int16Array ||\n value instanceof Uint16Array ||\n value instanceof Int32Array ||\n value instanceof Uint32Array ||\n value instanceof Float32Array ||\n value instanceof Float64Array ||\n isBigIntArray);\n}\n","/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport hoistNonReactStatics from \"hoist-non-react-statics\";\nimport React from \"react\";\nimport { Streamlit } from \"./streamlit\";\n/**\n * Optional Streamlit React-based component base class.\n *\n * You are not required to extend this base class to create a Streamlit\n * component. If you decide not to extend it, you should implement the\n * `componentDidMount` and `componentDidUpdate` functions in your own class,\n * so that your plugin properly resizes.\n */\nvar StreamlitComponentBase = /** @class */ (function (_super) {\n __extends(StreamlitComponentBase, _super);\n function StreamlitComponentBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StreamlitComponentBase.prototype.componentDidMount = function () {\n // After we're rendered for the first time, tell Streamlit that our height\n // has changed.\n Streamlit.setFrameHeight();\n };\n StreamlitComponentBase.prototype.componentDidUpdate = function () {\n // After we're updated, tell Streamlit that our height may have changed.\n Streamlit.setFrameHeight();\n };\n return StreamlitComponentBase;\n}(React.PureComponent));\nexport { StreamlitComponentBase };\n/**\n * Wrapper for React-based Streamlit components.\n *\n * Bootstraps the communication interface between Streamlit and the component.\n */\nexport function withStreamlitConnection(WrappedComponent) {\n var ComponentWrapper = /** @class */ (function (_super) {\n __extends(ComponentWrapper, _super);\n function ComponentWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this.componentDidMount = function () {\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n Streamlit.setComponentReady();\n };\n _this.componentDidUpdate = function () {\n // If our child threw an error, we display it in render(). In this\n // case, the child won't be mounted and therefore won't call\n // `setFrameHeight` on its own. We do it here so that the rendered\n // error will be visible.\n if (_this.state.componentError != null) {\n Streamlit.setFrameHeight();\n }\n };\n _this.componentWillUnmount = function () {\n Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n };\n /**\n * Streamlit is telling this component to redraw.\n * We save the render data in State, so that it can be passed to the\n * component in our own render() function.\n */\n _this.onRenderEvent = function (event) {\n // Update our state with the newest render data\n var renderEvent = event;\n _this.setState({ renderData: renderEvent.detail });\n };\n _this.render = function () {\n // If our wrapped component threw an error, display it.\n if (_this.state.componentError != null) {\n return (React.createElement(\"div\", null,\n React.createElement(\"h1\", null, \"Component Error\"),\n React.createElement(\"span\", null, _this.state.componentError.message)));\n }\n // Don't render until we've gotten our first RENDER_EVENT from Streamlit.\n if (_this.state.renderData == null) {\n return null;\n }\n return (React.createElement(WrappedComponent, { width: window.innerWidth, disabled: _this.state.renderData.disabled, args: _this.state.renderData.args, theme: _this.state.renderData.theme }));\n };\n _this.state = {\n renderData: undefined,\n componentError: undefined\n };\n return _this;\n }\n /**\n * Error boundary function. This will be called if our wrapped\n * component throws an error. We store the caught error in our state,\n * and display it in the next render().\n */\n ComponentWrapper.getDerivedStateFromError = function (error) {\n return { componentError: error };\n };\n return ComponentWrapper;\n }(React.PureComponent));\n return hoistNonReactStatics(ComponentWrapper, WrappedComponent);\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/old_version/utilities_cookies/build/static/js/main.666d1b34.chunk.js b/old_version/utilities_cookies/build/static/js/main.666d1b34.chunk.js deleted file mode 100644 index c9641dd90cef4d6d87b76c5e0113ff5903fde4c6..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/static/js/main.666d1b34.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpstreamlit_cookie_manager=this.webpackJsonpstreamlit_cookie_manager||[]).push([[0],{5:function(e,n,o){"use strict";o.r(n);var a=o(2),t=(window.parent||window).document,c=null;a.a.events.addEventListener(a.a.RENDER_EVENT,(function(e){var n,o=e.detail;n=o.args.queue,Object.keys(n).forEach((function(e){var o=n[e];if(null===o.value)t.cookie="".concat(encodeURIComponent(e),"=; max-age=0; path=").concat(encodeURIComponent(o.path));else{var a=new Date(o.expires_at);t.cookie="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(o.value),";")+" expires=".concat(a.toUTCString(),";")+" path=".concat(encodeURIComponent(o.path),";")}}));var i=t.cookie;c===i||o.args.saveOnly||(a.a.setComponentValue(i),c=i)})),a.a.setComponentReady(),a.a.setFrameHeight(0)}},[[5,1,2]]]); -//# sourceMappingURL=main.666d1b34.chunk.js.map \ No newline at end of file diff --git a/old_version/utilities_cookies/build/static/js/main.666d1b34.chunk.js.map b/old_version/utilities_cookies/build/static/js/main.666d1b34.chunk.js.map deleted file mode 100644 index 6f51c351d3e66094f637b657d5a15ced6e087d53..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/static/js/main.666d1b34.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["index.ts"],"names":["targetDocument","window","parent","document","lastValue","Streamlit","events","addEventListener","RENDER_EVENT","event","queue","data","detail","args","Object","keys","forEach","name","spec","value","cookie","encodeURIComponent","path","date","Date","expires_at","toUTCString","newValue","saveOnly","setComponentValue","setComponentReady","setFrameHeight"],"mappings":"oIAAA,kBAGMA,GADuBC,OAAOC,QAAUD,QACVE,SAEhCC,EAA2B,KA2B/BC,IAAUC,OAAOC,iBAAiBF,IAAUG,cAZ5C,SAAkBC,GACd,IAgBiBC,EAhBXC,EAAQF,EAAkCG,OAgB/BF,EAdLC,EAAKE,KAAL,MAeZC,OAAOC,KAAKL,GAAOM,SAAQ,SAACC,GACxB,IAAMC,EAAOR,EAAMO,GACnB,GAAmB,OAAfC,EAAKC,MACLnB,EAAeoB,OAAf,UAA2BC,mBAAmBJ,GAA9C,8BAAyEI,mBAAmBH,EAAKI,WAChG,CACD,IAAMC,EAAO,IAAIC,KAAKN,EAAKO,YAC3BzB,EAAeoB,OACX,UAAGC,mBAAmBJ,GAAtB,YAA+BI,mBAAmBH,EAAKC,OAAvD,wBACYI,EAAKG,cADjB,qBAESL,mBAAmBH,EAAKI,MAFjC,SApBZ,IAAMK,EAAW3B,EAAeoB,OAC5BhB,IAAcuB,GAAahB,EAAKE,KAAKe,WACrCvB,IAAUwB,kBAAkBF,GAC5BvB,EAAYuB,MAKpBtB,IAAUyB,oBACVzB,IAAU0B,eAAe,K","file":"static/js/main.666d1b34.chunk.js","sourcesContent":["import {RenderData, Streamlit} from \"streamlit-component-lib\"\n\nconst targetWindow: Window = window.parent || window\nconst targetDocument = targetWindow.document\n\nlet lastValue: string | null = null\n\ninterface AddCookieSpec {\n value: string\n expires_at: string\n path: string\n}\n\ninterface DeleteCookieSpec {\n value: null\n path: string\n}\n\ntype CookieSpec = AddCookieSpec | DeleteCookieSpec\n\nfunction onRender(event: Event): void {\n const data = (event as CustomEvent).detail\n\n saveCookies(data.args[\"queue\"])\n\n const newValue = targetDocument.cookie\n if (lastValue !== newValue && !data.args.saveOnly) {\n Streamlit.setComponentValue(newValue)\n lastValue = newValue\n }\n}\n\nStreamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRender)\nStreamlit.setComponentReady()\nStreamlit.setFrameHeight(0)\n\n\nfunction saveCookies(queue: { [k in string]: CookieSpec }) {\n Object.keys(queue).forEach((name) => {\n const spec = queue[name]\n if (spec.value === null)\n targetDocument.cookie = `${encodeURIComponent(name)}=; max-age=0; path=${encodeURIComponent(spec.path)}`\n else {\n const date = new Date(spec.expires_at)\n targetDocument.cookie = (\n `${encodeURIComponent(name)}=${encodeURIComponent(spec.value)};` +\n ` expires=${date.toUTCString()};` +\n ` path=${encodeURIComponent(spec.path)};`\n )\n }\n })\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/old_version/utilities_cookies/build/static/js/runtime-main.9b51049f.js b/old_version/utilities_cookies/build/static/js/runtime-main.9b51049f.js deleted file mode 100644 index 6b193bc44679e262259816e334726ef941bcb45e..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/build/static/js/runtime-main.9b51049f.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function r(r){for(var n,a,i=r[0],l=r[1],f=r[2],p=0,s=[];p bool: - return self._cookies is not None - - def save(self): - if self._queue: - self._run_component(save_only=True, key="CookieManager.sync_cookies.save") - - def _run_component(self, save_only: bool, key: str): - queue = { - self._prefix + k: v for k, v in self._queue.items() - } - return _component_func(queue=queue, saveOnly=save_only, key=key) - - def _clean_queue(self): - for name, spec in list(self._queue.items()): - value = self._cookies.get(self._prefix + name) - if value == spec['value']: - del self._queue[name] - - def __repr__(self): - if self.ready(): - return f'' - return '' - - def __getitem__(self, k: str) -> str: - return self._get_cookies()[k] - - def __iter__(self): - return iter(self._get_cookies()) - - def __len__(self): - return len(self._get_cookies()) - - def __setitem__(self, key: str, value: str) -> None: - if self._cookies.get(key) != value: - self._queue[key] = dict( - value=value, - expires_at=self._default_expiry.isoformat(), - path=self._path, - ) - - def __delitem__(self, key: str) -> None: - if key in self._cookies: - self._queue[key] = dict(value=None, path=self._path) - - def _get_cookies(self) -> Mapping[str, str]: - if self._cookies is None: - raise CookiesNotReady() - cookies = { - k[len(self._prefix):]: v - for k, v in self._cookies.items() - if k.startswith(self._prefix) - } - for name, spec in self._queue.items(): - if spec['value'] is not None: - cookies[name] = spec['value'] - else: - cookies.pop(name, None) - return cookies - - -def parse_cookies(raw_cookie): - cookies = {} - for part in raw_cookie.split(';'): - part = part.strip() - if not part: - continue - name, value = part.split('=', 1) - cookies[unquote(name)] = unquote(value) - return cookies - - -class CookiesNotReady(Exception): - pass diff --git a/old_version/utilities_cookies/encrypted_cookie_manager.py b/old_version/utilities_cookies/encrypted_cookie_manager.py deleted file mode 100644 index b7688afce32eaeb7b1145b40472ba9bde0213811..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/encrypted_cookie_manager.py +++ /dev/null @@ -1,115 +0,0 @@ -import os -import base64 -import streamlit as st -from typing import Tuple -from typing import Optional -from cryptography import fernet -from typing import MutableMapping -from cryptography.fernet import Fernet -from cryptography.hazmat.primitives import hashes -from utilities_cookies.cookie_manager import CookieManager -from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC - - -@st.cache_data -def key_from_parameters(salt: bytes, iterations: int, password: str): - kdf = PBKDF2HMAC( - algorithm=hashes.SHA256(), - length=32, - salt=salt, - iterations=iterations, - ) - - return base64.urlsafe_b64encode(kdf.derive(password.encode('utf-8'))) - - -class EncryptedCookieManager(MutableMapping[str, str]): - def __init__( - self, *, - password: str, - path: str = None, - prefix: str = "", - key_params_cookie="EncryptedCookieManager.key_params", - ignore_broken=True, - ): - self._cookie_manager = CookieManager(path=path, prefix=prefix) - self._fernet: Optional[Fernet] = None - self._key_params_cookie = key_params_cookie - self._password = password - self._ignore_broken = ignore_broken - - def ready(self): - return self._cookie_manager.ready() - - def save(self): - return self._cookie_manager.save() - - def _encrypt(self, value): - self._setup_fernet() - return self._fernet.encrypt(value) - - def _decrypt(self, value): - self._setup_fernet() - return self._fernet.decrypt(value) - - def _setup_fernet(self): - if self._fernet is not None: - return - key_params = self._get_key_params() - if not key_params: - key_params = self._initialize_new_key_params() - salt, iterations, magic = key_params - key = key_from_parameters( - salt=salt, - iterations=iterations, - password=self._password - ) - - self._fernet = Fernet(key) - - def _get_key_params(self) -> Optional[Tuple[bytes, int, bytes]]: - raw_key_params = self._cookie_manager.get(self._key_params_cookie) - if not raw_key_params: - return - try: - raw_salt, raw_iterations, raw_magic = raw_key_params.split(':') - return base64.b64decode(raw_salt), int(raw_iterations), base64.b64decode(raw_magic) - except (ValueError, TypeError): - print(f"Failed to parse key parameters from cookie {raw_key_params}") - return - - def _initialize_new_key_params(self) -> Tuple[bytes, int, bytes]: - salt = os.urandom(16) - iterations = 390000 - magic = os.urandom(16) - self._cookie_manager[self._key_params_cookie] = b':'.join([ - base64.b64encode(salt), - str(iterations).encode('ascii'), - base64.b64encode(magic) - ]).decode('ascii') - return salt, iterations, magic - - def __repr__(self): - if self.ready(): - return f'' - return '' - - def __getitem__(self, k: str) -> str or None: - try: - return self._decrypt(self._cookie_manager[k].encode('utf-8')).decode('utf-8') - except fernet.InvalidToken: - if self._ignore_broken: - return - raise - - def __iter__(self): - return iter(self._cookie_manager) - - def __len__(self): - return len(self._cookie_manager) - - def __setitem__(self, key: str, value: str) -> None: - self._cookie_manager[key] = self._encrypt(value.encode('utf-8')).decode('utf-8') - - def __delitem__(self, key: str) -> None: - del self._cookie_manager[key] diff --git a/old_version/utilities_cookies/public/index.html b/old_version/utilities_cookies/public/index.html deleted file mode 100644 index a8c6bc92134e8e0bfbf0eebfa8353d00346a9710..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/public/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - Cookies Manager - - - - - \ No newline at end of file diff --git a/old_version/utilities_cookies/src/index.ts b/old_version/utilities_cookies/src/index.ts deleted file mode 100644 index 7016b6ae68e614903d588c314a669e9258bf30c9..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/src/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import {RenderData, Streamlit} from "streamlit-component-lib" - -const targetWindow: Window = window.parent || window -const targetDocument = targetWindow.document - -let lastValue: string | null = null - -interface AddCookieSpec { - value: string - expires_at: string - path: string -} - -interface DeleteCookieSpec { - value: null - path: string -} - -type CookieSpec = AddCookieSpec | DeleteCookieSpec - -function onRender(event: Event): void { - const data = (event as CustomEvent).detail - - saveCookies(data.args["queue"]) - - const newValue = targetDocument.cookie - if (lastValue !== newValue && !data.args.saveOnly) { - Streamlit.setComponentValue(newValue) - lastValue = newValue - } -} - -Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRender) -Streamlit.setComponentReady() -Streamlit.setFrameHeight(0) - - -function saveCookies(queue: { [k in string]: CookieSpec }) { - Object.keys(queue).forEach((name) => { - const spec = queue[name] - if (spec.value === null) - targetDocument.cookie = `${encodeURIComponent(name)}=; max-age=0; path=${encodeURIComponent(spec.path)}` - else { - const date = new Date(spec.expires_at) - targetDocument.cookie = ( - `${encodeURIComponent(name)}=${encodeURIComponent(spec.value)};` + - ` expires=${date.toUTCString()};` + - ` path=${encodeURIComponent(spec.path)};` - ) - } - }) -} \ No newline at end of file diff --git a/old_version/utilities_cookies/src/react-app-env.d.ts b/old_version/utilities_cookies/src/react-app-env.d.ts deleted file mode 100644 index 6431bc5fc6b2c932dfe5d0418fc667b86c18b9fc..0000000000000000000000000000000000000000 --- a/old_version/utilities_cookies/src/react-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/old_version/utilities_database/__pycache__/user_database_utils.cpython-310.pyc b/old_version/utilities_database/__pycache__/user_database_utils.cpython-310.pyc deleted file mode 100644 index d6a0ba585516234769d1bba85afee684bf7e8768..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_database/__pycache__/user_database_utils.cpython-310.pyc and /dev/null differ diff --git a/old_version/utilities_database/__pycache__/user_database_widgets.cpython-310.pyc b/old_version/utilities_database/__pycache__/user_database_widgets.cpython-310.pyc deleted file mode 100644 index dd8ae5a220ae0decab32a66b97a35440e9214f20..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_database/__pycache__/user_database_widgets.cpython-310.pyc and /dev/null differ diff --git a/old_version/utilities_database/user_database_utils.py b/old_version/utilities_database/user_database_utils.py deleted file mode 100644 index 18adf4089cc501348acd1456c7cb6947be861ae7..0000000000000000000000000000000000000000 --- a/old_version/utilities_database/user_database_utils.py +++ /dev/null @@ -1,283 +0,0 @@ -import re -import secrets -import requests -import pandas as pd -import streamlit as st -from trycourier import Courier -from argon2 import PasswordHasher -from argon2.exceptions import VerifyMismatchError - -ph = PasswordHasher() - - -def check_usr_pass(user_log_in_database, user_name: str, password: str) -> bool: - """ - Authenticates the user_name and password. - """ - registered_user = user_log_in_database.fetch({'user_name': user_name}).items - try: - passwd_verification_bool = ph.verify(registered_user[0]['password'], password) - if passwd_verification_bool: - return True - return False - except VerifyMismatchError: - pass - except IndexError: - pass - return False - - -def load_lottie_url(url: str) -> str or None: - """ - Fetches the lottie animation using the URL. - """ - r = requests.get(url) - if r.status_code != 200: - return None - return r.json() - - -def check_valid_name(name_sign_up: str) -> bool: - """ - Checks if the user entered a valid name while creating the account. - """ - name_regex_eng = r'^[A-Za-z_]\w *' - name_regex_rus = r'^[А-Яа-я_][А-Яа-я0-9_] *' - - if re.search(name_regex_eng, name_sign_up) or re.search(name_regex_rus, name_sign_up): - return True - return False - - -def check_valid_email(email_sign_up: str) -> bool: - """ - Checks if the user entered a valid e-mail while creating the account. - """ - regex = re.compile(r'([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+') - - if re.fullmatch(regex, email_sign_up): - return True - return False - - -def check_unique_email(user_log_in_database, email_sign_up: str) -> bool: - """ - Checks if the e-mail already exists (since e-mail needs to be unique). - """ - authorized_users_data = user_log_in_database.fetch({'e-mail': email_sign_up}).items - if len(authorized_users_data) == 0: - return True - return False - - -def non_empty_str_check(user_name_sign_up: str) -> bool: - """ - Checks for non-empty strings. - """ - empty_count = 0 - for i in user_name_sign_up: - if i == ' ': - empty_count = empty_count + 1 - if empty_count == len(user_name_sign_up): - return False - if not user_name_sign_up: - return False - return True - - -def check_unique_usr(user_log_in_database, user_name_sign_up: str): - """ - Checks if the user_name already exists (since user_name needs to be unique), - also checks for non-empty user_name. - """ - authorized_users_data = user_log_in_database.fetch({'user_name': user_name_sign_up}).items - if len(authorized_users_data) != 0: - return False - if user_name_sign_up in authorized_users_data: - return False - non_empty_check = non_empty_str_check(user_name_sign_up) - if not non_empty_check: - return None - return True - - -def register_new_usr(user_log_in_database, name_sign_up: str, email_sign_up: str, user_name_sign_up: str, - password_sign_up: str, professional_level: str) -> None: - """ - Saves the information of the new user in the _secret_auth.json file. - """ - new_usr_data = {'user_name': user_name_sign_up, - 'name': name_sign_up, - 'e-mail': email_sign_up, - 'password': ph.hash(password_sign_up), - 'professional_level': professional_level} - - return user_log_in_database.put(new_usr_data) - - -def check_user_name_exists(user_log_in_database, user_name: str) -> bool: - """ - Checks if the user_name exists in the _secret_auth.json file. - """ - authorized_users_data = user_log_in_database.fetch({'user_name': user_name}).items - if len(authorized_users_data) == 1: - return True - return False - - -def check_email_exists(user_log_in_database, email_forgot_passwd: str): - """ - Checks if the e-mail entered is present in the _secret_auth.json file. - """ - authorized_users_data = user_log_in_database.fetch({'e-mail': email_forgot_passwd}).items - if len(authorized_users_data) == 1: - return True, authorized_users_data[0]['user_name'] - return False, None - - -def generate_random_passwd() -> str: - """ - Generates a random password to be sent in e-mail. - """ - password_length = 10 - return secrets.token_urlsafe(password_length) - - -def send_passwd_in_email(auth_token: str, user_name_forgot_passwd: str, email_forgot_passwd: str, company_name: str, - random_password: str) -> None: - """ - Triggers an e-mail to the user containing the randomly generated password. - """ - client = Courier(auth_token=auth_token) - - client.send_message( - message={ - "to": { - "email": email_forgot_passwd - }, - "content": { - "title": f'{company_name}: Login Password!', - "body": f'Hi! {user_name_forgot_passwd},\n\nYour temporary login password is: {random_password}\n\n' - + '{{info}}' - }, - "data": { - "info": "Please reset your password at the earliest for security reasons." - } - } - ) - - -def change_passwd(user_log_in_database, email_forgot_passwd: str, random_password: str) -> None: - """ - Replaces the old password with the newly generated password. - """ - user_key = user_log_in_database.fetch({'e-mail': email_forgot_passwd}).items[0]['key'] - updates = {'password': ph.hash(random_password)} - return user_log_in_database.update(updates, user_key) - - -def check_current_passwd(user_log_in_database, email_reset_passwd: str, current_passwd: str = None) -> bool: - """ - Authenticates the password entered against the user_name when - resetting the password. - """ - authorized_user_data = user_log_in_database.fetch({'e-mail': email_reset_passwd}).items[0] - if current_passwd is None: - current_passwd = 'b' - try: - if ph.verify(authorized_user_data['password'], current_passwd): - return True - except VerifyMismatchError: - pass - return False - - -def save_data_in_database(user_task_database, save_type, save_name, cefr_level, time_stamp, creator_name=None, - generated_result=None, test_taker_name=None, test_taker_answers=None, test_taker_result=None, - comments=None, distractor_model=None): - already_saved_names = user_task_database.fetch({'creator_name': creator_name, - 'save_name': save_name, - 'cefr_level': cefr_level}).items - already_saved_tasks = user_task_database.fetch({'creator_name': creator_name, - 'generated_result': generated_result, - 'cefr_level': cefr_level}).items - already_saved_tests = user_task_database.fetch({'test_taker_name': test_taker_name, - 'save_name': save_name, - 'cefr_level': cefr_level}).items - if save_name == '' and save_type == 'download': - save_name = generated_result['name'] - if len(already_saved_names) != 0 and save_type == 'download': - return st.success('Файл с таким названием уже существует! Введите другое название и повторите попытку.') - elif len(already_saved_tasks) != 0 and save_type == 'download': - return st.error(f'Вы уже сохраняли эти задания под именем {already_saved_tasks[0]["save_name"]}. ') - elif (len(already_saved_tests) != 0 - and save_type == 'online_test'): # and int(test_taker_result) == int(already_saved_tests[0]["user_points"]) - return st.error('Вы уже решали данный тест!') - else: - if save_type == 'download': - new_save_data = { - 'save_type': save_type, - 'save_name': save_name, - 'cefr_level': cefr_level, - 'time_stamp': time_stamp, - 'creator_name': creator_name, - 'generated_result': generated_result, - 'distractor_model': distractor_model - } - else: - new_save_data = { - 'save_type': save_type, - 'save_name': save_name, - 'cefr_level': cefr_level, - 'time_stamp': time_stamp, - 'creator_name': creator_name, - 'test_taker_name': test_taker_name, - 'test_taker_answers': test_taker_answers, - 'generated_result': generated_result, - 'test_taker_result': test_taker_result, - 'comments': comments} - user_task_database.put(new_save_data) - if save_type == 'download': - return st.success('Задания успешно сохранены! Можете переходить на следующие вкладки') - elif save_type == 'online_test': - return st.success('Ответы успешно сохранены!') - - -def load_user_tasks_data(user_task_database, save_type, creator_name=None, test_taker_name=None): - if save_type == 'download': - ITEMS = [] - user_data = user_task_database.fetch({'creator_name': creator_name, 'save_type': save_type}) - _last = user_data.last - while _last is not None: - ITEMS.extend(user_data.items) - user_data = user_task_database.fetch({'creator_name': creator_name, 'save_type': save_type}, last=_last) - _last = user_data.last - names = [item['save_name'] for item in ITEMS] - cefr_level = [item['cefr_level'] for item in ITEMS] - time_stamps = [item['time_stamp'] for item in ITEMS] - return_data = pd.DataFrame([names, cefr_level, time_stamps]).transpose() - return_data.columns = ['Название', 'Уровень', 'Время создания'] - else: - ITEMS = [] - user_data = user_task_database.fetch({'test_taker_name': test_taker_name, 'save_type': save_type}) - _last = user_data.last - while _last is not None: - ITEMS.extend(user_data.items) - user_data = user_task_database.fetch({'test_taker_name': test_taker_name, 'save_type': save_type}, last=_last) - _last = user_data.last - names = [item['save_name'] for item in ITEMS] - cefr_level = [item['cefr_level'] for item in ITEMS] - time_stamps = [item['time_stamp'] for item in ITEMS] - creator_name = [item['creator_name'] for item in ITEMS] - test_taker_result = [item['test_taker_result'] for item in ITEMS] - return_data = pd.DataFrame([names, cefr_level, test_taker_result, time_stamps, creator_name]).transpose() - return_data.columns = ['Название', 'Уровень', 'Оценка', 'Дата прохождения', 'Автор заданий'] - return return_data - - -def load_users_particular_task(user_task_database, load_mode, creator_name, save_name, cefr_level,): - return_data = user_task_database.fetch({'creator_name': creator_name, - 'save_name': save_name, - 'save_type': load_mode, - 'cefr_level': cefr_level}).items[0]['generated_result'] - return return_data diff --git a/old_version/utilities_database/user_database_widgets.py b/old_version/utilities_database/user_database_widgets.py deleted file mode 100644 index 11f0ac6ee5e5318d68abef416666ecb0226bc1ed..0000000000000000000000000000000000000000 --- a/old_version/utilities_database/user_database_widgets.py +++ /dev/null @@ -1,336 +0,0 @@ -from deta import Deta -import streamlit as st -from utilities_option_menu.option_menu import option_menu -import utilities_database.user_database_utils as db_utils -from utilities_database.user_database_utils import check_usr_pass -from utilities_cookies.encrypted_cookie_manager import EncryptedCookieManager - -DETA_KEY = st.secrets['DETA_KEY'] -DETA_TABLE = st.secrets['DETA_TABLE'] -DETA_USER_TABLE = st.secrets['DETA_USER_SAVE_TEXT_TABLE'] - -deta = Deta(DETA_KEY) -db = deta.Base(DETA_TABLE) -user_save_text_table = deta.Base(DETA_USER_TABLE) -st.set_page_config(page_title='GenLexTasksEnter', layout="wide", page_icon=':es:') - -login_call = 'Зарегистрироваться' - - -class LogIn: - """ - Builds the UI for the Login/ Sign Up page. - """ - - def __init__(self, - auth_token: str, - company_name: str, - width, height, - logout_button_name: str = 'Logout', - hide_menu_bool: bool = False, - hide_footer_bool: bool = False, - lottie_url: str = "https://assets8.lottiefiles.com/packages/lf20_ktwnwv5m.json"): - """ - Arguments: - ----------- - 1. self - 2. auth_token : The unique authorization token received from - https://www.courier.com/email-api/ - 3. company_name : This is the name of the person/ organization which will send the password reset email. - 4. width : Width of the animation on the login page. - 5. height : Height of the animation on the login page. - 6. logout_button_name : The logout button name. - 7. hide_menu_bool : Pass True if the streamlit menu should be hidden. - 8. hide_footer_bool : Pass True if the 'made with streamlit' footer should be hidden. - 9. lottie_url : The lottie animation you would like to use on the login page. - Explore animations at - https://lottiefiles.com/featured - """ - self.auth_token = auth_token - self.company_name = company_name - self.width = width - self.height = height - self.logout_button_name = logout_button_name - self.hide_menu_bool = hide_menu_bool - self.hide_footer_bool = hide_footer_bool - self.lottie_url = lottie_url - - self.cookies = EncryptedCookieManager( - prefix="streamlit_login_ui_yummy_cookies", - password='9d68d6f2-4258-45c9-96eb-2d6bc74ddbb5-d8f49cab-edbb-404a-94d0-b25b1d4a564b') - - if not self.cookies.ready(): - st.stop() - - def get_user_name(self): - if not st.session_state['LOGOUT_BUTTON_HIT']: - fetched_cookies = self.cookies - if '__streamlit_login_signup_ui_username__' in fetched_cookies.keys(): - user_name = fetched_cookies['__streamlit_login_signup_ui_username__'] - return user_name - - def login_widget(self) -> None: - """ - Creates the login widget, checks and sets cookies, authenticates the users. - """ - - # Checks if cookie exists. - if not st.session_state['LOGGED_IN'] and not st.session_state['LOGOUT_BUTTON_HIT']: - fetched_cookies = self.cookies - if '__streamlit_login_signup_ui_username__' in fetched_cookies.keys(): - if fetched_cookies['__streamlit_login_signup_ui_username__'] \ - != '1c9a923f-fb21-4a91-b3f3-5f18e3f01182': - st.session_state['LOGGED_IN'] = True - - if not st.session_state['LOGGED_IN']: - st.session_state['LOGOUT_BUTTON_HIT'] = False - - del_login = st.empty() - with del_login.form("Login Form"): - user_name = st.text_input("Имя пользователя", placeholder='Ваше имя пользователя') - password = st.text_input("Пароль", placeholder='Ваш пароль', type='password') - - login_submit_button = st.form_submit_button(label='Войти') - - if login_submit_button: - authenticate_user_check = check_usr_pass(user_log_in_database=db, - user_name=user_name, - password=password) - - if not authenticate_user_check: - st.error("Неверное имя пользователя или пароль!") - - else: - st.session_state['LOGGED_IN'] = True - st.session_state['-USER_NAME-'] = user_name - self.cookies['__streamlit_login_signup_ui_username__'] = user_name - self.cookies.save() - del_login.empty() - st.rerun() - - @staticmethod - def sign_up_widget() -> None: - """ - Creates the sign-up widget and stores the user info in a secure way in the _secret_auth_.json file. - """ - with st.form("Sign Up Form"): - name_sign_up = st.text_input("Имя *", - placeholder='Введите Ваше имя') - valid_name_check = db_utils.check_valid_name(name_sign_up) - - email_sign_up = st.text_input("E-mail *", - placeholder='Введите Ваш e-mail') - valid_email_check = db_utils.check_valid_email(email_sign_up) - unique_email_check = db_utils.check_unique_email(user_log_in_database=db, - email_sign_up=email_sign_up) - - user_name_sign_up = st.text_input("Имя пользователя *", - placeholder='Введите имя пользователя') - unique_user_name_check = db_utils.check_unique_usr(user_log_in_database=db, - user_name_sign_up=user_name_sign_up) - - password_sign_up = st.text_input("Пароль *", - placeholder='Введите пароль', - type='password') - professional_level = st.radio('Вы являетесь преподавателем русского языка? *', - options=['Да', 'Нет'], - index=1, - horizontal=True) - - st.markdown("\* Обязательное поле") - sign_up_submit_button = st.form_submit_button(label=login_call) - - if sign_up_submit_button: - if not valid_name_check: - st.error("Пожалуйста, ведите Ваше имя!") - - elif not valid_email_check: - st.error("Пожалуйста, введите действующий е-mail!") - - elif not unique_email_check: - st.error("Пользователь с этим e-mail уже зарегистрирован!") - - elif not unique_user_name_check: - st.error(f'Извините, пользователь с таким именем ({user_name_sign_up}) уже существует!') - - elif unique_user_name_check is None: - st.error('Пожалуйста, введите имя пользователя!') - - if valid_name_check: - if valid_email_check and unique_email_check and unique_user_name_check: - db_utils.register_new_usr(user_log_in_database=db, - name_sign_up=name_sign_up, - email_sign_up=email_sign_up, - user_name_sign_up=user_name_sign_up, - password_sign_up=password_sign_up, - professional_level=professional_level) - st.success("Регистрация прошла успешно!") - - def forgot_password(self) -> None: - """ - Creates the forgot password widget and after user authentication (e-mail), triggers an e-mail to the user - containing a random password. - """ - with st.form("Forgot Password Form"): - email_forgot_passwd = st.text_input("Email", placeholder='Введите Ваш email') - - forgot_passwd_submit_button = st.form_submit_button(label='Получить пароль') - - if forgot_passwd_submit_button: - email_exists_check, user_name_forgot_passwd = db_utils.check_email_exists( - user_log_in_database=db, - email_forgot_passwd=email_forgot_passwd) - if not email_exists_check: - st.error("Пользователя с таким e-mail не существует!") - - if email_exists_check: - random_password = db_utils.generate_random_passwd() - db_utils.send_passwd_in_email(self.auth_token, user_name_forgot_passwd, email_forgot_passwd, - self.company_name, random_password) - db_utils.change_passwd(user_log_in_database=db, - email_forgot_passwd=email_forgot_passwd, - random_password=random_password) - st.success("Временный пароль выслан Вам на почту!") - - @staticmethod - def reset_password() -> None: - """ - Creates the reset password widget and after user authentication - (e-mail and the password shared over that e-mail), - resets the password and updates the same in the _secret_auth_.json file. - """ - with st.form("Reset Password Form"): - email_reset_passwd = st.text_input("Email", placeholder='Please enter your email') - - current_passwd = st.text_input("Временный пароль", - placeholder='Введите пароль, который вы получили в письме') - - new_passwd = st.text_input("Новый пароль", placeholder='Введите новый пароль', - type='password') - - new_passwd_1 = st.text_input("Повторите новый пароль", placeholder='Введите повторите пароль', - type='password') - - reset_passwd_submit_button = st.form_submit_button(label='Изменить пароль') - - if reset_passwd_submit_button: - email_exists_check, user_name_reset_passwd = db_utils.check_email_exists( - user_log_in_database=db, - email_forgot_passwd=email_reset_passwd) - current_passwd_check = db_utils.check_current_passwd(user_log_in_database=db, - email_reset_passwd=email_reset_passwd, - current_passwd=current_passwd) - if not email_exists_check: - st.error("Пользователя с таким e-mail не существует!") - - elif not current_passwd_check: - st.error("Неверный временный пароль!") - - elif new_passwd != new_passwd_1: - st.error("Пароли не совпадают!") - - if email_exists_check and current_passwd_check: - db_utils.change_passwd(user_log_in_database=db, - email_forgot_passwd=email_reset_passwd, - random_password=new_passwd) - st.success("Пароль успешно изменен!") - - def logout_widget(self) -> None: - """ - Creates the logout widget in the sidebar only if the user is logged in. - """ - if st.session_state['LOGGED_IN']: - del_logout = st.sidebar.empty() - del_logout.markdown("#") - logout_click_check = del_logout.button(self.logout_button_name) - - if logout_click_check: - st.session_state['LOGOUT_BUTTON_HIT'] = True - st.session_state['LOGGED_IN'] = False - self.cookies['__streamlit_login_signup_ui_username__'] = '1c9a923f-fb21-4a91-b3f3-5f18e3f01182' - del_logout.empty() - st.rerun() - - @staticmethod - def navigation(): - """ - Creates the side navigation bar - """ - selected_option = option_menu( - menu_title='Навигация', - menu_icon='list-columns-reverse', - icons=['box-arrow-in-right', 'person-plus', 'x-circle', 'arrow-counterclockwise'], - options=['Вход', login_call, 'Забыли пароль?', 'Восстановление пароля'], - default_index=0, - styles={ - "container": {"padding": "10px", "text-align": "left"}, - "nav-link": {"font-size": "16px", "text-align": "left", "margin": "0px"}}) - return selected_option - - @staticmethod - def hide_menu() -> None: - """ - Hides the streamlit menu situated in the top right. - """ - st.markdown(""" """, unsafe_allow_html=True) - - @staticmethod - def hide_header() -> None: - """ - Hides the 'made with streamlit' footer. - """ - st.markdown(""" """, unsafe_allow_html=True) - - @staticmethod - def hide_footer() -> None: - """ - Hides the 'made with streamlit' footer. - """ - st.markdown(""" """, unsafe_allow_html=True) - - def build_login_ui(self): - """ - Brings everything together, calls important functions. - """ - if 'LOGGED_IN' not in st.session_state: - st.session_state['LOGGED_IN'] = False - - if 'LOGOUT_BUTTON_HIT' not in st.session_state: - st.session_state['LOGOUT_BUTTON_HIT'] = False - - selected_option = self.navigation() - - if selected_option == 'Вход': - c1, c2 = st.columns([7, 3]) - with c1: - self.login_widget() - with c2: - if not st.session_state['LOGGED_IN']: - pass - # self.animation() - - if selected_option == login_call: - self.sign_up_widget() - - if selected_option == 'Забыли пароль?': - self.forgot_password() - - if selected_option == 'Восстановление пароля': - self.reset_password() - - self.logout_widget() - - if st.session_state['LOGGED_IN']: - pass - - if self.hide_menu_bool: - self.hide_menu() - - if self.hide_footer_bool: - self.hide_footer() - - return st.session_state['LOGGED_IN'] diff --git a/old_version/utilities_language_bert/rus_main_workflow_bert.py b/old_version/utilities_language_bert/rus_main_workflow_bert.py deleted file mode 100644 index f3d8f14aa0a2481320a64db701cc8a3e107ff830..0000000000000000000000000000000000000000 --- a/old_version/utilities_language_bert/rus_main_workflow_bert.py +++ /dev/null @@ -1,250 +0,0 @@ -import datetime -from io import StringIO -from random import sample -from collections import defaultdict -from streamlit import progress as st_progress -from utilities_language_general.rus_constants import st -from streamlit.elements import WIDGETS as ST_WIDGETS -from utilities_language_bert.rus_sentence_bert import TASK -from utilities_language_general.rus_constants import load_bert -from utilities_language_general.rus_utils import prepare_tasks -from utilities_language_bert.rus_sentence_bert import SENTENCE -import utilities_language_general.rus_constants as esp_constants -from utilities_language_general.rus_utils import prepare_target_words -from utilities_language_general.rus_utils import compute_frequency_dict -from streamlit.runtime.uploaded_file_manager import UploadedFile -from utilities_language_general.rus_constants import BAD_USER_TARGET_WORDS - - -def main_workflow_bert( - file: UploadedFile or None, - text: str, - logs: ST_WIDGETS, - logs_d: ST_WIDGETS, - progress: st_progress, - progress_s: st_progress, - level: str, - tw_mode_automatic_mode: str, - target_words: str, - num_distractors: int, - save_name: str, - global_bad_target_words=BAD_USER_TARGET_WORDS): - - # Clear bad target_words each time - global_bad_target_words = [] - - # Define main global variables - logs.write() - GLOBAL_DISTRACTORS = set() - MAX_FREQUENCY = 0 - - mask_filler = load_bert() - - # Get input text - if file is not None: - stringio = StringIO(file.getvalue().decode("utf-8")) - current_text = stringio.read() - elif text != '': - current_text = text - else: - esp_constants.st.warning('Вы и текст не вставили, и файл не выбрали 😢') - current_text = '' - esp_constants.st.stop() - - # Process target words - if tw_mode_automatic_mode == 'Самостоятельно': - if target_words == '': - esp_constants.st.warning('Вы не ввели целевые слова') - esp_constants.st.stop() - # Cannot make up paradigm, so only USER_TARGET_WORDS is used - USER_TARGET_WORDS = prepare_target_words(target_words) - tw_mode_automatic_mode = False - else: - USER_TARGET_WORDS = None - tw_mode_automatic_mode = True - - # Text preprocessing - original_text = current_text - current_text = current_text.replace('.', '. ').replace('. . .', '...').replace(' ', ' ').replace('…', '...') \ - .replace('…', '...').replace('—', '-').replace('\u2014', '-').replace('—', '-').replace('-\n', '') \ - .replace('\n', '%^&*') - current_text_sentences = [sent.text.strip() for sent in esp_constants.nlp(current_text).sents] - logs.success('Получили Ваш текст!') - progress.progress(10) - - # Compute frequency dict - FREQ_DICT = compute_frequency_dict(current_text) - - # Get maximum frequency (top 5% barrier) - _frequency_barrier_percent = 0.05 - for j, tp in enumerate(FREQ_DICT.items()): - if j < len(FREQ_DICT) * _frequency_barrier_percent: - MAX_FREQUENCY = tp[1] - MAX_FREQUENCY = 3 if MAX_FREQUENCY < 3 else MAX_FREQUENCY - logs.success("Посчитали немного статистики!") - progress.progress(15) - - # Choose necessary language minimum according to user's input - if level == 'A1': - target_minimum = esp_constants.a1_target_set - distractor_minimum = esp_constants.a1_distractor_set - elif level == 'A2': - target_minimum = esp_constants.a2_target_set - distractor_minimum = esp_constants.a2_distractor_set - elif level == 'B1': - target_minimum = esp_constants.b1_target_set - distractor_minimum = esp_constants.b1_distractor_set - elif level == 'B2': - target_minimum = esp_constants.b2_target_set - distractor_minimum = esp_constants.b2_distractor_set - elif level == 'C1': - target_minimum = esp_constants.c1_target_set - distractor_minimum = esp_constants.c1_distractor_set - elif level == 'C2': - target_minimum = esp_constants.c2_target_set - distractor_minimum = esp_constants.c2_distractor_set - elif level == 'Без уровня': - target_minimum = None - distractor_minimum = None - else: - target_minimum = None - distractor_minimum = None - logs.error('Вы не выбрали языковой уровень!') - st.stop() - - # Start generation process - workflow = [SENTENCE(original=sent.strip(), n_sentence=num, max_num_distractors=num_distractors) - for num, sent in enumerate(current_text_sentences)] - logs.success("Запускаем процесс генерации заданий!") - progress.progress(20) - - for sentence in workflow: - sentence.lemmatize_sentence() - - for sentence in workflow: - sentence.bind_phrases() - logs.success("Подготовили предложения для дальнейшей работы!") - progress.progress(30) - - for j, sentence in enumerate(workflow): - sentence.search_target_words(target_words_automatic_mode=tw_mode_automatic_mode, - target_minimum=target_minimum, - user_target_words=USER_TARGET_WORDS, - frequency_dict=FREQ_DICT) - progress.progress(int(30 + (j * (20 / len(workflow))))) - progress_s.progress(50) - DUPLICATE_TARGET_WORDS = defaultdict(list) - for sentence in workflow: - for target_word in sentence.target_words: - DUPLICATE_TARGET_WORDS[target_word['lemma']].append(target_word) - RESULT_TW = [] - for tw_lemma, tw_data in DUPLICATE_TARGET_WORDS.items(): - RESULT_TW.append(sample(tw_data, 1)[0]) - for sentence in workflow: - for target_word in sentence.target_words: - if target_word not in RESULT_TW: - global_bad_target_words.append(target_word['original_text']) - sentence.target_words.remove(target_word) - progress_s.progress(55) - logs.success('Выбрали слова-пропуски!') - - for sentence in workflow: - for i, target_word in enumerate(sentence.target_words): - temp = current_text_sentences[:] - temp[sentence.n_sentence] = target_word['masked_sentence'] - sentence.text_with_masked_task = ' '.join(temp).replace('%^&*', '\n') - sentence.target_words[i]['text_with_masked_task'] = ' '.join(temp).replace('%^&*', '\n') - - for sentence in workflow: - sentence.filter_target_words(target_words_automatic_mode=tw_mode_automatic_mode) - progress_s.progress(60) - - RESULT_TASKS = [] - for sentence in workflow: - for target_word in sentence.target_words: - task = TASK(task_data=target_word, max_num_distractors=num_distractors) - RESULT_TASKS.append(task) - - for num, task in enumerate(RESULT_TASKS): - task.attach_distractors_to_target_word(model=mask_filler, level_name=level, - global_distractors=GLOBAL_DISTRACTORS, - distractor_minimum=distractor_minimum, - max_frequency=MAX_FREQUENCY) - logs_d.success( - f'Обработали {num}/{len(RESULT_TASKS)} целевых слов!') - logs_d.success( - f'Обработали {len(RESULT_TASKS)}/{len(RESULT_TASKS)} целевых слов!') - progress_s.progress(65) - logs.success('Подобрали неправильные варианты!') - - for task in RESULT_TASKS: - task.inflect_distractors() - progress_s.progress(70) - logs.success('Просклоняли и проспрягали неправильные варианты!') - - for task in RESULT_TASKS: - task.sample_distractors(num_distractors=num_distractors) - progress_s.progress(75) - RESULT_TASKS = list(filter(lambda t: not t.bad_target_word, RESULT_TASKS)) - - for task in RESULT_TASKS[::-1]: - if task.bad_target_word: - RESULT_TASKS.remove(task) - - # Compute number of final tasks - if len(RESULT_TASKS) >= 20: - NUMBER_TASKS = 20 - else: - if len(RESULT_TASKS) >= 15: - NUMBER_TASKS = 15 - else: - if len(RESULT_TASKS) >= 10: - NUMBER_TASKS = 10 - else: - NUMBER_TASKS = len(RESULT_TASKS) - RESULT_TASKS = sample(RESULT_TASKS, NUMBER_TASKS) - RESULT_TASKS = sorted(RESULT_TASKS, key=lambda t: (t.sentence_number, t.position_in_sentence)) - - for task in RESULT_TASKS: - task.compile_task(max_num_distractors=num_distractors) - progress_s.progress(85) - logs.success('Отобрали лучшие задания!') - - TEXT_WITH_GAPS = [] - VARIANTS = [] - tasks_counter = 1 - for i, sentence in enumerate(current_text_sentences): - for task in RESULT_TASKS: - if task.sentence_text == sentence: - sentence = sentence.replace(task.original_text, f'__________({tasks_counter})') - VARIANTS.append(task.variants) - tasks_counter += 1 - TEXT_WITH_GAPS.append(sentence) - del RESULT_TASKS - - logs.success('Сейчас все будет готово!') - progress_s.progress(90) - - TEXT_WITH_GAPS = ' '.join([sentence for sentence in TEXT_WITH_GAPS]).replace('%^&*', '\n') - PREPARED_TASKS = prepare_tasks(VARIANTS) - STUDENT_OUT = f'{TEXT_WITH_GAPS}\n\n{"=" * 70}\n\n{PREPARED_TASKS["TASKS_STUDENT"]}' - TEACHER_OUT = f'{TEXT_WITH_GAPS}\n\n{"=" * 70}\n\n{PREPARED_TASKS["TASKS_TEACHER"]}\n\n{"=" * 70}\n\n' \ - f'{PREPARED_TASKS["KEYS_ONLY"]}' - TOTAL_OUT = f'{original_text}\n\n{"$" * 70}\n\n{STUDENT_OUT}\n\n{"=" * 70}\n\n{PREPARED_TASKS["TASKS_TEACHER"]}' \ - f'\n\n{"$" * 70}\n\n{PREPARED_TASKS["KEYS_ONLY"]}' - logs.success('Сейчас все будет готово!') - progress_s.progress(90) - save_name = save_name if save_name != '' else f'{str(datetime.datetime.now())[:-7]}_{original_text[:20]}' - out = { - 'name': save_name, - 'STUDENT_OUT': STUDENT_OUT, - 'TEACHER_OUT': TEACHER_OUT, - 'TEXT_WITH_GAPS': TEXT_WITH_GAPS, - 'TASKS_ONLY': PREPARED_TASKS["RAW_TASKS"], - 'KEYS_ONLY': PREPARED_TASKS["KEYS_ONLY"], - 'KEYS_ONLY_RAW': PREPARED_TASKS["RAW_KEYS_ONLY"], - 'TOTAL_OUT': TOTAL_OUT, - 'ORIGINAL': original_text, - 'BAD_USER_TARGET_WORDS': sorted(set(global_bad_target_words)) - } - return out diff --git a/old_version/utilities_language_bert/rus_sentence_bert.py b/old_version/utilities_language_bert/rus_sentence_bert.py deleted file mode 100644 index 7739512b596c37a00a9b26708a54807a4a21e2bc..0000000000000000000000000000000000000000 --- a/old_version/utilities_language_bert/rus_sentence_bert.py +++ /dev/null @@ -1,241 +0,0 @@ -import copy -import string -from random import random -from random import sample -from utilities_language_general.rus_constants import nlp -from utilities_language_general.rus_utils import get_tags -from utilities_language_general.rus_constants import PHRASES -from utilities_language_general.rus_utils import define_gender -from utilities_language_general.rus_utils import make_inflection -from utilities_language_general.rus_utils import check_token_bert -from utilities_language_general.rus_constants import BAD_USER_TARGET_WORDS -from utilities_language_general.rus_utils import get_distractors_from_model_bert - - -class SENTENCE: - def __init__(self, original: str, n_sentence: int, max_num_distractors): - self.original = original - self.n_sentence = n_sentence - self.max_num_distractors = max_num_distractors - self.parsed = nlp(self.original) - self.sentence_lemma_pos = [] - self.sentence_phrases = [] - self.target_words = [] - self.text_with_masked_task = '' - - def lemmatize_sentence(self): - for token in self.parsed: - lemma_pos = f'{token.lemma_}_{token.pos_}' - self.sentence_lemma_pos.append((lemma_pos, token)) - - def bind_phrases(self): - previous_was_phrase = False - for i in range(len(self.sentence_lemma_pos) - 1): - phrase_candidate = f'{self.sentence_lemma_pos[i][0]}_{self.sentence_lemma_pos[i + 1][0]}' - if phrase_candidate in PHRASES and not previous_was_phrase: - # phrase is {phrase: {original_token1: spacy.token, original_token2: spacy.token}} - phrase = [ - f'{self.sentence_lemma_pos[i][0]}_{self.sentence_lemma_pos[i + 1][0]}', - { - 'original_token1': self.sentence_lemma_pos[i][1], - 'original_token2': self.sentence_lemma_pos[i + 1][1] - } - ] - self.sentence_phrases.append(phrase) - previous_was_phrase = True - else: - if not previous_was_phrase: - self.sentence_phrases.append(self.sentence_lemma_pos[i][1]) - previous_was_phrase = False - - def search_target_words_automatically(self, target_minimum: set, frequency_dict: dict = None): - for token in self.sentence_phrases: - # TODO: Still do not have w2v model with phrases - # therefore cannot come up with the criteria - if isinstance(token, list): # if token is a phrase - original_token1 = token[1]['original_token1'] - original_token2 = token[1]['original_token2'] - original_token1_tags = get_tags(original_token1.text)[0] - original_token2_tags = get_tags(original_token2.text)[0] - tags = original_token1_tags | original_token2_tags - not_ner = True if (original_token1.ent_type == 0 and original_token2.ent_type == 0) else False - target_word = { - 'masked_sentence': self.original.replace(f'{original_token1.text} {original_token2.text}', - '[MASK]'), - 'sentence_number': self.n_sentence, - 'sentence_text': self.original, - 'original_text': f'{original_token1.text} {original_token2.text}', - 'lemma': token[0], - 'pos': ('phrase', [original_token1.pos_, original_token2.pos_]), - 'gender': list({define_gender(original_token1), define_gender(original_token2)})[0], - 'tags': tags, - 'position_in_sentence': self.original.find(original_token1.text), - 'not_named_entity': not_ner, - 'frequency_in_text': 0 - } - self.target_words.append(target_word) - else: # if token is just a spacy.nlp token - if check_token_bert(token=token, current_minimum=target_minimum): - target_word = { - 'masked_sentence': self.original.replace(token.text, '[MASK]'), - 'sentence_number': self.n_sentence, - 'sentence_text': self.original, - 'original_text': token.text, - 'lemma': token.lemma_, - 'pos': ('simple', token.pos_), - 'gender': define_gender(token.lemma_), - 'number_children': len([child for child in token.children]), - 'tags': get_tags(token.text)[0], - 'position_in_sentence': self.original.find(token.text), - 'not_named_entity': True if token.ent_type == 0 else False, - 'frequency_in_text': frequency_dict.get(token.lemma_, 1), - } - self.target_words.append(target_word) - - def search_user_target_words(self, user_target_words: set = None, frequency_dict: dict = None): - for _utw in user_target_words: - if _utw in self.original: - parse_utw = nlp(_utw) - if ' ' in _utw: - tags = get_tags(parse_utw[0].text)[0] | get_tags(parse_utw[1].text)[0] - user_target_word_lemma = '_'.join([f'{token.lemma_}_{token.pos_}' for token in parse_utw]) - user_target_word_pos = ('phrase', [token.pos_ for token in parse_utw]) - user_target_word_tags = tags - not_ner = True if (parse_utw[0].ent_type == 0 and parse_utw[1].ent_type == 0) else False - else: - user_target_word_lemma = f'{parse_utw[0].lemma_}_{parse_utw[0].pos_}' - user_target_word_pos = ('simple', parse_utw[0].pos_) - user_target_word_tags = get_tags(parse_utw[0].text)[0] - not_ner = parse_utw[0].ent_type == 0 - target_word = { - 'masked_sentence': self.original.replace(_utw, '[MASK]'), - 'sentence_number': self.n_sentence, - 'sentence_text': self.original, - 'original_text': _utw, - 'lemma': user_target_word_lemma, - 'pos': user_target_word_pos, - 'gender': define_gender(parse_utw[0].text), - 'tags': user_target_word_tags, - 'position_in_sentence': self.original.find(_utw), - 'not_named_entity': not_ner, - 'frequency_in_text': frequency_dict.get(user_target_word_lemma, 1) - } - self.target_words.append(target_word) - - def search_target_words(self, target_words_automatic_mode: bool, target_minimum, - user_target_words: set = None, - frequency_dict: dict = None): - if target_words_automatic_mode: - self.search_target_words_automatically(target_minimum=target_minimum, - frequency_dict=frequency_dict) - else: - self.search_user_target_words(user_target_words=user_target_words, - frequency_dict=frequency_dict) - - def filter_target_words(self, target_words_automatic_mode): - c_position = 0 - bad_target_words = [] - for target_word in self.target_words: - position_difference = 3 if target_words_automatic_mode else 0 - if not (target_word['position_in_sentence'] == 0 - or abs(target_word['position_in_sentence'] - c_position) >= position_difference): - bad_target_words.append(target_word) - for btw in bad_target_words: - BAD_USER_TARGET_WORDS.append(btw['original_text']) - self.target_words.remove(btw) - - -class TASK: - def __init__(self, task_data, max_num_distractors): - self.task_data = task_data - self.distractors = None - self.distractors_number = 0 - self.bad_target_word = False - self.inflected_distractors = None - self.pos = task_data['pos'] - self.tags = task_data['tags'] - self.lemma = task_data['lemma'] - self.gender = task_data['gender'] - self.max_num_distractors = max_num_distractors - self.original_text = task_data['original_text'] - self.sentence_text = task_data['sentence_text'] - self.sentence_number = task_data['sentence_number'] - self.masked_sentence = task_data['masked_sentence'] - self.frequency_in_text = task_data['frequency_in_text'] - self.position_in_sentence = task_data['position_in_sentence'] - self.text_with_masked_task = task_data['text_with_masked_task'] - self.result = '' - self.variants = [] - - def __repr__(self): - return '\n'.join([f'{key}\t=\t{value}' for key, value in self.__dict__.items()]) - - def attach_distractors_to_target_word(self, model, global_distractors, distractor_minimum, - level_name, max_frequency): - pos = self.pos[0] if self.pos[0] == 'phrase' else self.pos[1] - # distractors_full_text = get_distractors_from_model_bert(model=model, lemma=self.lemma, pos=pos, - # gender=self.gender, level_name=level_name, - # text_with_masked_task=self.text_with_masked_task, - # global_distractors=global_distractors, - # distractor_minimum=distractor_minimum, - # max_num_distractors=self.max_num_distractors) - distractors_sentence = get_distractors_from_model_bert(model=model, lemma=self.lemma, pos=pos, - gender=self.gender, level_name=level_name, - text_with_masked_task=self.masked_sentence, - global_distractors=global_distractors, - distractor_minimum=distractor_minimum, - max_num_distractors=self.max_num_distractors) - if distractors_sentence is None or self.frequency_in_text > max_frequency: - self.bad_target_word = True - self.distractors = None - else: - self.distractors = [d[0] for i, d in enumerate(distractors_sentence) if i < 15] - self.distractors_number = len(distractors_sentence) if distractors_sentence is not None else 0 - - def inflect_distractors(self): - inflected_distractors = [] - if self.distractors is None: - self.bad_target_word = True - return - for distractor_lemma in self.distractors: - inflected = make_inflection(text=distractor_lemma, pos=self.pos[1], tags=self.tags) - if inflected is not None: - inflected_distractors.append(inflected) - else: - new_tags = copy.deepcopy(self.tags) - if 'NOUN' in self.tags and 'inan' in self.tags: - new_tags.discard('inan') - new_tags.add('anim') - elif 'NOUN' in self.tags and 'anim' in self.tags: - new_tags.discard('anim') - new_tags.add('inan') - inflected = make_inflection(text=distractor_lemma, pos=self.pos[1], tags=new_tags) - if inflected is not None: - inflected_distractors.append(inflected) - num_distractors = min(4, self.max_num_distractors) if self.max_num_distractors >= 4 \ - else self.max_num_distractors - if len(inflected_distractors) < num_distractors: - self.bad_target_word = True - else: - self.distractors_number = num_distractors - self.inflected_distractors = inflected_distractors - - def sample_distractors(self, num_distractors): - if not self.bad_target_word: - num_distractors = min(self.distractors_number, num_distractors) \ - if num_distractors >= 4 else num_distractors - self.inflected_distractors = sample(self.inflected_distractors[:min(self.distractors_number, 10)], - num_distractors) - - def compile_task(self, max_num_distractors): - len_distractors = len(self.inflected_distractors) - len_variants = min(len_distractors, max_num_distractors) if max_num_distractors > 4 \ - else max_num_distractors - letters = (f'({letter})' for letter in string.ascii_lowercase[:len_variants + 1]) - try: - distractors = sample(self.inflected_distractors, len_variants) + [self.original_text, ] - except ValueError: - distractors = self.inflected_distractors + [self.original_text, ] - tmp_vars = [f'{item[0]} {item[1].replace("_", " ").lower()}'.lower() - for item in zip(letters, sorted(distractors, key=lambda _: random()))] - self.variants.append((self.original_text.lower(), tmp_vars)) diff --git a/old_version/utilities_language_general/rus_constants.py b/old_version/utilities_language_general/rus_constants.py deleted file mode 100644 index c1bf05f79422cd0855767e12d5ed405e4e2b8345..0000000000000000000000000000000000000000 --- a/old_version/utilities_language_general/rus_constants.py +++ /dev/null @@ -1,70 +0,0 @@ -import json -import spacy -import gensim -import pymorphy2 -import streamlit as st -from transformers import pipeline - - -@st.cache_resource -def load_morph(): - _morph = pymorphy2.MorphAnalyzer(lang='ru') - return _morph - - -@st.cache_resource -def load_w2v(model_path): - _w2v_model = gensim.models.KeyedVectors.load_word2vec_format(model_path, binary=True) - return _w2v_model - - -@st.cache_resource -def load_spacy(): - _nlp = spacy.load('ru_core_news_lg') - return _nlp - - -@st.cache_resource -def load_bert(): - return pipeline("fill-mask", model="a-v-white/ruBert-base-finetuned-russian-moshkov-child-corpus-pro") - - -nlp = load_spacy() -morph = load_morph() -w2v_model1_path = r'model1.gz' -w2v_model2_path = r'model2.gz' - -# Upload stop list -stop_list = set() -with open(r'language_data/stop_words.txt', 'r', encoding='utf-8') as read_file: - for line in read_file: - stop_list.add(line.strip()) - -# Upload minimums -a1_path, a1_target_set = r'language_data/A1_MINIMUM.txt', set() -a2_path, a2_target_set = r'language_data/A2_MINIMUM.txt', set() -b1_path, b1_target_set = r'language_data/B1_MINIMUM.txt', set() -b2_path, b2_target_set = r'language_data/B2_MINIMUM.txt', set() -c1_path, c1_target_set = r'language_data/C1_MINIMUM.txt', set() -c2_path, c2_target_set = r'language_data/C2_MINIMUM.txt', set() -minimums_paths = (a1_path, a2_path, b1_path, b2_path) -minimums_sets = (a1_target_set, a2_target_set, b1_target_set, b2_target_set, c1_target_set, c2_target_set) -for i in range(len(minimums_paths)): - with open(minimums_paths[i], 'r', encoding='utf-8') as read_file: - for line in read_file: - minimums_sets[i].add(line.strip()) - -a1_distractor_set = a1_target_set -a2_distractor_set = a2_target_set.union(a1_target_set) -b1_distractor_set = b1_target_set.union(a2_target_set) -b2_distractor_set = b2_target_set.union(b1_target_set) -c1_distractor_set = c1_target_set.union(b2_target_set) -c2_distractor_set = c2_target_set.union(c1_target_set) - -with open('language_data/phrases.json', 'r', encoding='utf-8') as f: - PHRASES = set(json.load(f)['PHRASES']) - -SIMILARITY_VALUES_w2v = {'A1': 1.0, 'A2': 1.0, 'B1': 1.0, 'B2': 1.0, 'C1': 1.0, 'C2': 1.0, 'Без уровня': 1.0} -SIMILARITY_VALUES_bert = {'A1': 1.0, 'A2': 1.0, 'B1': 1.0, 'B2': 1.0, 'C1': 1.0, 'C2': 1.0, 'Без уровня': 1.0} - -BAD_USER_TARGET_WORDS = [] diff --git a/old_version/utilities_language_general/rus_utils.py b/old_version/utilities_language_general/rus_utils.py deleted file mode 100644 index c0d6a11c015dea7c9546bd2011dad60de2c3c7b5..0000000000000000000000000000000000000000 --- a/old_version/utilities_language_general/rus_utils.py +++ /dev/null @@ -1,339 +0,0 @@ -from nltk import edit_distance -from utilities.utils import answer_letter -from utilities_language_general.rus_constants import nlp -from utilities_language_general.rus_constants import morph -from utilities_language_general.rus_constants import stop_list -from utilities_language_general.rus_constants import SIMILARITY_VALUES_w2v -from utilities_language_general.rus_constants import SIMILARITY_VALUES_bert - - -def prepare_target_words(target_words): - target_words = target_words.lower().replace(' ,', ',').replace(',', ', ').replace(' ', ' ').split(', ') - TARGET_WORDS = set() - for target_word in target_words: - paradigm = {form.word for form in morph.parse(target_word)[0].lexeme} - TARGET_WORDS = TARGET_WORDS.union(paradigm) - return list(set(TARGET_WORDS)) - - -def compute_frequency_dict(text: str) -> dict: - """ - Compute frequency dictionary of given text and return it sorted in descending order. - - :param text: given text as string variable - :return: frequency dictionary {word: frequency} sorted in descending order - """ - freq_dict = {} - doc = nlp(text) - lemma_list_spacy = [token.lemma_ for token in doc] - for lemma in lemma_list_spacy: - if lemma.isalpha(): - if lemma not in freq_dict.keys(): - freq_dict[lemma] = 1 - else: - freq_dict[lemma] += 1 - lemma_list_morph = [morph.parse(token.text)[0].normal_form for token in doc] - for lemma in lemma_list_morph: - if lemma.isalpha() and (lemma not in lemma_list_spacy): - if lemma not in freq_dict.keys(): - freq_dict[lemma] = 1 - else: - freq_dict[lemma] += 1 - return freq_dict - - -def convert_gender(gender_spacy): - genders = {'Masc': 'masc', 'Fem': 'femn', 'Neut': 'neut'} - return genders[gender_spacy] - - -def define_gender(token: str) -> str or None: - """ - Prettify defining gender of a token. - - :param token: the word for which it's needed to identify gender - :return: gender as string variable, ('masc', 'femn', 'neut') - """ - token = str(token) - return morph.parse(token)[0].tag.gender - - -def get_tags(token: str): - """ - Prettify getting tags of a word and method of obtaining them. - If pymorpy2 is too unsure how to parse the word (>3 parses) None is returned. - - :param token: the word for which it's needed to identify tags and method - :return: tags to be used for synthesis as set variable and method as string or None - """ - parse = morph.parse(token) - tags = str(parse[0].tag) - parts = (tag for part in tags.split(' ') for tag in part.split(',')) - method = str(parse[0].methods_stack[0][0]) - return set(parts), method - - -def make_inflection(text: str, pos: str or list, tags: set) -> str or None: - if isinstance(pos, list): - if set(pos).issubset({'NOUN', 'ADJ', 'PROPN'}): - noun_adjective_phrase_tags = {'nomn', 'gent', 'datv', 'accs', 'ablt', 'loct', 'voct', - 'gen2', 'acc2', 'loc2', 'sing', 'plur'} - tags = tags.intersection(noun_adjective_phrase_tags) - lemmas = text.split('_') - word_form = '' - # Parse phrase and define phrase gender, animacy - gender = None - animacy = None - parsed = [] - for lemma in lemmas: - parse = morph.parse(lemma)[0] - gender = gender if gender is not None else parse.tag.gender if parse.tag.POS == 'NOUN' else None - animacy = animacy if animacy is not None else str(parse.tag).split(',')[1] \ - if parse.tag.POS == 'NOUN' else None - parsed.append(parse) - tags = tags.union({gender, animacy}) - tags.discard(None) - try: - for parse in parsed: - word_form += f'{parse.inflect(tags).word} ' - return word_form - except AttributeError: - return None - else: - word_form = morph.parse(text)[0].inflect(tags) - return word_form.word if word_form is not None else None - - -def check_token(token, lemma_pos, model, current_minimum: set = None, stop_words=stop_list, - check_allowed_pos: set = None, check_allowed_dep: set = None) -> bool: - not_allowed_pos = {'PROPN', 'PUNCT', 'NUM'} - not_allowed_synt_dep = {'cop', } # 'ROOT' - if lemma_pos == 'auto': - lemma_pos = f'{token.lemma_}_{token.pos_}' - if not token.text.isalpha(): - return False - if current_minimum is not None and token.lemma_ not in current_minimum: - return False - if not model.has_index_for(lemma_pos): - return False - if get_tags(token.text) is not None: - tags, method = get_tags(token.text) - else: - tags = None - method = 'suspense' - method_satisfied = (method == 'DictionaryAnalyzer()') - if (token.text not in stop_words - and not token.is_stop - and tags is not None - and method_satisfied): - if check_allowed_pos is None and check_allowed_dep is None: - if token.pos_ not in not_allowed_pos and token.dep_ not in not_allowed_synt_dep: - return True - return False - elif check_allowed_pos is not None and check_allowed_dep is None: - if token.pos_ in check_allowed_pos and token.dep_ not in not_allowed_synt_dep: - return True - return False - elif check_allowed_pos is None and check_allowed_dep is not None: - if token.pos_ not in not_allowed_pos and token.dep_ in check_allowed_dep: - return True - return False - else: - if token.pos_ in check_allowed_pos and token.dep_ in check_allowed_dep: - return True - return False - else: - return False - - -def check_token_bert(token, current_minimum: set = None, stop_words=stop_list, - check_allowed_pos: set = None, check_allowed_dep: set = None) -> bool: - not_allowed_pos = {'PROPN', 'PUNCT', 'NUM'} - not_allowed_synt_dep = {'cop', } # 'ROOT' - if not token.text.isalpha(): - return False - if current_minimum is not None and token.lemma_ not in current_minimum: - return False - if get_tags(token.text) is not None: - tags, method = get_tags(token.text) - else: - tags = None - method = 'suspense' - method_satisfied = (method == 'DictionaryAnalyzer()') - if (token.text not in stop_words - and not token.is_stop - and tags is not None - and method_satisfied): - if check_allowed_pos is None and check_allowed_dep is None: - if token.pos_ not in not_allowed_pos and token.dep_ not in not_allowed_synt_dep: - return True - return False - elif check_allowed_pos is not None and check_allowed_dep is None: - if token.pos_ in check_allowed_pos and token.dep_ not in not_allowed_synt_dep: - return True - return False - elif check_allowed_pos is None and check_allowed_dep is not None: - if token.pos_ not in not_allowed_pos and token.dep_ in check_allowed_dep: - return True - return False - else: - if token.pos_ in check_allowed_pos and token.dep_ in check_allowed_dep: - return True - return False - else: - return False - - -def get_distractors_from_model(model, lemma: str, pos: str, gender: str or None, global_distractors: set, - distractor_minimum: set, level_name: str, max_num_distractors: int, - max_length_ratio=5, min_edit_distance_ratio=0.5): - distractors = [] - query = lemma if '_' in lemma else f'{lemma}_{pos}' - lemma = '_'.join(lemma.split('_')[::2]) - if model.has_index_for(query): - candidates = model.most_similar(query, topn=max_num_distractors + 100) - else: - if query.count('_') == 1: - return None - query_raw_list = query.split('_') - query_parts = ['_'.join(query_raw_list[i:i + 2]) for i in range(len(query_raw_list))][::2] - query_vector = model.get_mean_vector(query_parts) - candidates = model.similar_by_vector(query_vector, topn=max_num_distractors + 100) - for candidate in candidates: - if candidate[0].count('_') == 1: - distractor_lemma, distractor_pos = candidate[0].split('_') - distractor_similarity = candidate[1] - candidate_gender = define_gender(distractor_lemma) - length_ratio = abs(len(lemma) - len(distractor_lemma)) - condition = ((distractor_pos == pos - or (distractor_pos in ('VERB', 'ADJ', 'phrase') and pos in ('VERB', 'ADJ', 'phrase'))) - and distractor_lemma != lemma - and len(distractors) < 100 - and distractor_similarity < SIMILARITY_VALUES_w2v[level_name] - and candidate_gender == gender - and length_ratio <= max_length_ratio - and distractor_lemma not in global_distractors - and edit_distance(lemma, distractor_lemma) / ((len(lemma) + len(distractor_lemma)) / 2) > - min_edit_distance_ratio) - if condition: - if distractor_minimum is not None: - if distractor_lemma in distractor_minimum: - distractors.append((distractor_lemma, distractor_similarity)) - global_distractors.add(distractor_lemma) - else: - distractors.append((distractor_lemma, distractor_similarity)) - global_distractors.add(distractor_lemma) - else: - if candidate[0].count('_') > 3 or pos in ('NOUN', 'ADJ', 'NUM'): - continue - d1_lemma, d1_pos, d2_lemma, d2_pos = candidate[0].split('_') - distractor_lemma = f'{d1_lemma}_{d2_lemma}' - distractor_similarity = candidate[1] - condition = (((d1_pos == pos or d2_pos == pos) - or (d1_pos in ('VERB', 'AUX', 'SCONJ', 'ADP') - and pos in ('phrase', 'VERB', 'AUX', 'SCONJ', 'ADP')) - or (d2_pos in ('VERB', 'AUX', 'SCONJ', 'ADP') - and pos in ('phrase', 'VERB', 'AUX', 'SCONJ', 'ADP'))) - and candidate[0] != lemma - and distractor_lemma != lemma - and len(distractors) < 100 - and distractor_similarity < SIMILARITY_VALUES_w2v[level_name] - and distractor_lemma not in global_distractors) - if condition: - if distractor_minimum is not None: - if (distractor_lemma in distractor_minimum - or (d1_lemma in distractor_minimum and d2_lemma in distractor_minimum)): - distractors.append((candidate[0], distractor_similarity)) - global_distractors.add(distractor_lemma) - else: - distractors.append((candidate[0], distractor_similarity)) - global_distractors.add(distractor_lemma) - max_num_distractors = min(4, max_num_distractors) if max_num_distractors >= 4 else max_num_distractors - if len(distractors) >= max_num_distractors: - return distractors - else: - return None - - -def get_distractors_from_model_bert(model, text_with_masked_task: str, lemma: str, pos: str, gender: str or None, - global_distractors: set, distractor_minimum: set, level_name: str, - max_num_distractors: int, max_length_ratio=5, min_edit_distance_ratio=0.5): - _distractors = [] - try: - if distractor_minimum: - bert_candidates = [token for token in model(text_with_masked_task, top_k=max_num_distractors + 100)] - else: - bert_candidates = [token for token in model(text_with_masked_task, top_k=max_num_distractors + 100)] - inflected_candidates = [] - for candidate in bert_candidates: - if isinstance(candidate, list): - bert_candidates = candidate - continue - if candidate['token_str'].isalpha(): - candidate_morph = nlp(candidate['token_str'])[0] - inflected_candidates.append((f"{candidate_morph.lemma_}_{candidate_morph.pos_}", candidate['score'])) - except KeyError: - return None - for candidate_distractor in inflected_candidates: - if '_' in candidate_distractor[0]: - distractor_lemma, distractor_pos = candidate_distractor[0].split('_') - else: - candidate_morph = nlp(candidate_distractor[0])[0] - distractor_lemma, distractor_pos = candidate_morph.lemma_, candidate_morph.pos_ - distractor_similarity = candidate_distractor[1] - candidate_gender = define_gender(distractor_lemma) - length_ratio = abs(len(lemma) - len(distractor_lemma)) - if (((distractor_pos == pos) - or (pos in ('VERB', 'ADJ', 'phrase') and distractor_pos in ('VERB', 'ADJ', 'phrase'))) - and distractor_lemma != lemma - and (len(_distractors) < max_num_distractors + 10) - and (distractor_similarity < SIMILARITY_VALUES_bert[level_name]) - and (candidate_gender == gender) - and (length_ratio <= max_length_ratio) # May be changed if case of phrases - and (distractor_lemma not in global_distractors) - and (edit_distance(lemma, distractor_lemma) # May be changed if case of phrases - / ((len(lemma) + len(distractor_lemma)) / 2) > min_edit_distance_ratio)): - if distractor_minimum is not None: - if distractor_lemma in distractor_minimum: - _distractors.append((distractor_lemma, candidate_distractor[1])) - global_distractors.add(distractor_lemma) - else: - _distractors.append((distractor_lemma, candidate_distractor[1])) - num_distractors = min(4, max_num_distractors) if max_num_distractors >= 4 else max_num_distractors - if len(_distractors) < num_distractors: - return None - return _distractors - - -def prepare_tasks(input_variants): - TASKS_STUDENT = '' - TASKS_TEACHER = '' - KEYS_ONLY = '' - RAW_TASKS = [] - RAW_KEYS_ONLY = [] - RESULT_TASKS_STUDENT = [] - TASKS_WITH_ANSWERS_L = [] - KEYS = [] - - for num, item in enumerate(input_variants): - item = item[0] - answer = item[0].lower() - variants = '\t'.join([i.lower() for i in item[1]]) - current_answer_letter = answer_letter(answer=answer, variants=[i.lower() for i in item[1]]) - RAW_TASKS.append((num + 1, variants)) - RAW_KEYS_ONLY.append((num + 1, current_answer_letter.split(' ')[0])) - RESULT_TASKS_STUDENT.append(f"{num + 1}.\t{variants}") - TASKS_WITH_ANSWERS_L.append(f"{num + 1}.\t" - f"Ответ: {current_answer_letter}\n\t" - f"Варианты: {variants}") - KEYS.append(f"{num + 1}.\tОтвет: {current_answer_letter}") - - for task in RESULT_TASKS_STUDENT: - TASKS_STUDENT += f'{task}\n' - for task in TASKS_WITH_ANSWERS_L: - TASKS_TEACHER += f'{task}\n' - for task in KEYS: - KEYS_ONLY += f'{task}\n' - - return {'TASKS_STUDENT': TASKS_STUDENT, 'TASKS_TEACHER': TASKS_TEACHER, - 'KEYS_ONLY': KEYS_ONLY, 'RAW_TASKS': RAW_TASKS, 'RAW_KEYS_ONLY': RAW_KEYS_ONLY} diff --git a/old_version/utilities_language_w2v/rus_main_workflow_w2v.py b/old_version/utilities_language_w2v/rus_main_workflow_w2v.py deleted file mode 100644 index b72a2688d43bcf8694cd9ba95671aeb6c84ce3f2..0000000000000000000000000000000000000000 --- a/old_version/utilities_language_w2v/rus_main_workflow_w2v.py +++ /dev/null @@ -1,261 +0,0 @@ -import datetime -from io import StringIO -from random import sample -from collections import defaultdict -from streamlit import progress as st_progress -from streamlit.elements import WIDGETS as ST_WIDGETS -from utilities_language_general.rus_constants import st -from utilities_language_w2v.rus_sentence_w2v import TASK -from utilities_language_general.rus_constants import load_w2v -from utilities_language_general.rus_utils import prepare_tasks -from utilities_language_w2v.rus_sentence_w2v import SENTENCE -import utilities_language_general.rus_constants as esp_constants -from utilities_language_general.rus_utils import prepare_target_words -from utilities_language_general.rus_constants import w2v_model1_path -from utilities_language_general.rus_constants import w2v_model2_path -from utilities_language_general.rus_utils import compute_frequency_dict -from streamlit.runtime.uploaded_file_manager import UploadedFile -from utilities_language_general.rus_constants import BAD_USER_TARGET_WORDS - - -def main_workflow_w2v( - file: UploadedFile or None, - text: str, - logs: ST_WIDGETS, - logs_d: ST_WIDGETS, - progress: st_progress, - progress_d: st_progress, - progress_s: st_progress, - level: str, - tw_mode_automatic_mode: str, - target_words: str, - num_distractors: int, - save_name: str, - model_name: str, - global_bad_target_words=BAD_USER_TARGET_WORDS): - """ - This is the main course of the program. - All processes and changes take place here. - Partially works with the interface, displaying the success messages and download buttons. - - :param file: user's file to generate tasks in - :param text: user's text input to generate tasks in - :param logs: widget to output logs to - :param logs_d: show how many distractors already processed - :param progress: progress bar - :param progress_d: distractors progress bar - :param progress_s: sentences progress bar - :param target_words: how target words are chosen: by user or automatically - :param tw_mode_automatic_mode: - :param level: user's specification of CEFR level of text - :param num_distractors: how many distractors does the user want the task to contain - :param save_name: user specifies name to save file in cloud - :param global_bad_target_words:global_bad_target_words - :param model_name - :return: Dictionary with output data: filename, amount_mode, text_with_gaps, tasks_as_list, correct_answers, - student_out, teacher_out, total_out, original_text - """ - # Clear bad target_words each time - global_bad_target_words = [] - - # Define main global variables - logs.write() - GLOBAL_DISTRACTORS = set() - MAX_FREQUENCY = 0 - - # Define which model is used for distractor generation - if model_name == 'Модель-1': - mask_filler = load_w2v(w2v_model1_path) - else: - mask_filler = load_w2v(w2v_model2_path) - - # Get input text - if file is not None: - stringio = StringIO(file.getvalue().decode("utf-8")) - current_text = stringio.read() - elif text != '': - current_text = text - else: - esp_constants.st.warning('Вы и текст не вставили, и файл не выбрали 😢') - current_text = '' - esp_constants.st.stop() - - # Process target words - if tw_mode_automatic_mode == 'Самостоятельно': - if target_words == '': - esp_constants.st.warning('Вы не ввели целевые слова') - esp_constants.st.stop() - # Cannot make up paradigm, so only USER_TARGET_WORDS is used - USER_TARGET_WORDS = prepare_target_words(target_words) - tw_mode_automatic_mode = False - else: - USER_TARGET_WORDS = None - tw_mode_automatic_mode = True - - # Text preprocessing - original_text = current_text - current_text = current_text.replace('.', '. ').replace('. . .', '...').replace(' ', ' ').replace('…', '...') \ - .replace('…', '...').replace('—', '-').replace('\u2014', '-').replace('—', '-').replace('-\n', '') \ - .replace('\n', '%^&*') - current_text_sentences = [sent.text.strip() for sent in esp_constants.nlp(current_text).sents] - logs.success('Получили Ваш текст!') - progress.progress(10) - - # Compute frequency dict - FREQ_DICT = compute_frequency_dict(current_text) - - # Get maximum frequency (top 5% barrier) - _frequency_barrier_percent = 0.05 - for j, tp in enumerate(FREQ_DICT.items()): - if j < len(FREQ_DICT) * _frequency_barrier_percent: - MAX_FREQUENCY = tp[1] - MAX_FREQUENCY = 3 if MAX_FREQUENCY < 3 else MAX_FREQUENCY - logs.success("Посчитали немного статистики!") - progress.progress(15) - - # Choose necessary language minimum according to user's input - if level == 'A1': - target_minimum = esp_constants.a1_target_set - distractor_minimum = esp_constants.a1_distractor_set - elif level == 'A2': - target_minimum = esp_constants.a2_target_set - distractor_minimum = esp_constants.a2_distractor_set - elif level == 'B1': - target_minimum = esp_constants.b1_target_set - distractor_minimum = esp_constants.b1_distractor_set - elif level == 'B2': - target_minimum = esp_constants.b2_target_set - distractor_minimum = esp_constants.b2_distractor_set - elif level == 'C1': - target_minimum = esp_constants.c1_target_set - distractor_minimum = esp_constants.c1_distractor_set - elif level == 'C2': - target_minimum = esp_constants.c2_target_set - distractor_minimum = esp_constants.c2_distractor_set - elif level == 'Без уровня': - target_minimum = None - distractor_minimum = None - else: - target_minimum = None - distractor_minimum = None - logs.error('Вы не выбрали языковой уровень!') - st.stop() - - # Start generation process - workflow = [SENTENCE(original=sent.strip(), n_sentence=num, max_num_distractors=num_distractors) - for num, sent in enumerate(current_text_sentences)] - logs.success("Запускаем процесс генерации заданий!") - progress.progress(20) - - for sentence in workflow: - sentence.lemmatize_sentence() - - for sentence in workflow: - sentence.bind_phrases() - logs.success("Подготовили предложения для дальнейшей работы!") - progress.progress(30) - - for j, sentence in enumerate(workflow): - sentence.search_target_words(model=mask_filler, - target_words_automatic_mode=tw_mode_automatic_mode, - target_minimum=target_minimum, - user_target_words=USER_TARGET_WORDS, - frequency_dict=FREQ_DICT) - progress.progress(int(30 + (j * (30 / len(workflow))))) - progress_s.progress(60) - DUPLICATE_TARGET_WORDS = defaultdict(list) - for sentence in workflow: - for target_word in sentence.target_words: - DUPLICATE_TARGET_WORDS[target_word['lemma']].append(target_word) - RESULT_TW = [] - for tw_lemma, tw_data in DUPLICATE_TARGET_WORDS.items(): - RESULT_TW.append(sample(tw_data, 1)[0]) - for sentence in workflow: - for target_word in sentence.target_words: - if target_word not in RESULT_TW: - global_bad_target_words.append(target_word['original_text']) - sentence.target_words.remove(target_word) - progress_s.progress(65) - logs.success('Выбрали слова-пропуски!') - - for sentence in workflow: - sentence.attach_distractors_to_target_word(model=mask_filler, - global_distractors=GLOBAL_DISTRACTORS, - distractor_minimum=distractor_minimum, - level_name=level, - max_frequency=MAX_FREQUENCY, - progress=progress_d, - logs=logs_d) - progress_s.progress(70) - logs.success('Подобрали неправильные варианты!') - for sentence in workflow: - sentence.inflect_distractors() - progress_s.progress(80) - logs.success('Просклоняли и проспрягали неправильные варианты!') - - for sentence in workflow: - sentence.filter_target_words(target_words_automatic_mode=tw_mode_automatic_mode) - - for sentence in workflow: - sentence.sample_distractors(num_distractors=num_distractors) - progress_s.progress(90) - logs.success('Отобрали лучшие задания!') - - RESULT_TASKS = [] - for sentence in workflow: - for target_word in sentence.target_words: - task = TASK(task_data=target_word) - RESULT_TASKS.append(task) - del workflow - - # Compute number of final tasks - if len(RESULT_TASKS) >= 20: - NUMBER_TASKS = 20 - else: - if len(RESULT_TASKS) >= 15: - NUMBER_TASKS = 15 - else: - if len(RESULT_TASKS) >= 10: - NUMBER_TASKS = 10 - else: - NUMBER_TASKS = len(RESULT_TASKS) - RESULT_TASKS = sample(RESULT_TASKS, NUMBER_TASKS) - RESULT_TASKS = sorted(RESULT_TASKS, key=lambda t: (t.sentence_number, t.position_in_sentence)) - - for task in RESULT_TASKS: - task.compile_task(max_num_distractors=num_distractors) - - TEXT_WITH_GAPS = [] - VARIANTS = [] - tasks_counter = 1 - for i, sentence in enumerate(current_text_sentences): - for task in filter(lambda t: t.sentence_number == i, RESULT_TASKS): - sentence = sentence.replace(task.original_text, f'__________({tasks_counter})') - VARIANTS.append(task.variants) - tasks_counter += 1 - TEXT_WITH_GAPS.append(sentence) - del RESULT_TASKS - - TEXT_WITH_GAPS = ' '.join([sentence for sentence in TEXT_WITH_GAPS]).replace('%^&*', '\n') - PREPARED_TASKS = prepare_tasks(VARIANTS) - STUDENT_OUT = f'{TEXT_WITH_GAPS}\n\n{"=" * 70}\n\n{PREPARED_TASKS["TASKS_STUDENT"]}' - TEACHER_OUT = f'{TEXT_WITH_GAPS}\n\n{"=" * 70}\n\n{PREPARED_TASKS["TASKS_TEACHER"]}\n\n{"=" * 70}\n\n' \ - f'{PREPARED_TASKS["KEYS_ONLY"]}' - TOTAL_OUT = f'{original_text}\n\n{"$" * 70}\n\n{STUDENT_OUT}\n\n{"=" * 70}\n\n{PREPARED_TASKS["TASKS_TEACHER"]}' \ - f'\n\n{"$" * 70}\n\n{PREPARED_TASKS["KEYS_ONLY"]}' - logs.success('Сейчас все будет готово!') - progress_s.progress(90) - save_name = save_name if save_name != '' else f'{str(datetime.datetime.now())[:-7]}_{original_text[:20]}' - out = { - 'name': save_name, - 'STUDENT_OUT': STUDENT_OUT, - 'TEACHER_OUT': TEACHER_OUT, - 'TEXT_WITH_GAPS': TEXT_WITH_GAPS, - 'TASKS_ONLY': PREPARED_TASKS["RAW_TASKS"], - 'KEYS_ONLY': PREPARED_TASKS["KEYS_ONLY"], - 'KEYS_ONLY_RAW': PREPARED_TASKS["RAW_KEYS_ONLY"], - 'TOTAL_OUT': TOTAL_OUT, - 'ORIGINAL': original_text, - 'BAD_USER_TARGET_WORDS': sorted(set(global_bad_target_words)) - } - return out diff --git a/old_version/utilities_language_w2v/rus_sentence_w2v.py b/old_version/utilities_language_w2v/rus_sentence_w2v.py deleted file mode 100644 index 6c8198c2b1dca0b81b6742dca353803c1798fa75..0000000000000000000000000000000000000000 --- a/old_version/utilities_language_w2v/rus_sentence_w2v.py +++ /dev/null @@ -1,245 +0,0 @@ -import copy -import string -from random import random -from random import sample -from utilities_language_general.rus_constants import nlp -from utilities_language_general.rus_utils import get_tags -from utilities_language_general.rus_utils import check_token -from utilities_language_general.rus_constants import PHRASES -from utilities_language_general.rus_utils import define_gender -from utilities_language_general.rus_utils import convert_gender -from utilities_language_general.rus_utils import make_inflection -from utilities_language_general.rus_constants import BAD_USER_TARGET_WORDS -from utilities_language_general.rus_utils import get_distractors_from_model - - -class SENTENCE: - def __init__(self, original: str, n_sentence: int, max_num_distractors): - self.original = original - self.n_sentence = n_sentence - self.max_num_distractors = max_num_distractors - self.parsed = nlp(self.original) - self.sentence_lemma_pos = [] - self.sentence_phrases = [] - self.target_words = [] - - def lemmatize_sentence(self): - for token in self.parsed: - lemma_pos = f'{token.lemma_}_{token.pos_}' - self.sentence_lemma_pos.append((lemma_pos, token)) - - def bind_phrases(self): - previous_was_phrase = False - for i in range(len(self.sentence_lemma_pos) - 1): - phrase_candidate = f'{self.sentence_lemma_pos[i][0]}_{self.sentence_lemma_pos[i + 1][0]}' - if phrase_candidate in PHRASES and not previous_was_phrase: - # phrase is {phrase: {original_token1: spacy.token, original_token2: spacy.token}} - phrase = [ - f'{self.sentence_lemma_pos[i][0]}_{self.sentence_lemma_pos[i + 1][0]}', - { - 'original_token1': self.sentence_lemma_pos[i][1], - 'original_token2': self.sentence_lemma_pos[i + 1][1] - } - ] - self.sentence_phrases.append(phrase) - previous_was_phrase = True - else: - if not previous_was_phrase: - self.sentence_phrases.append(self.sentence_lemma_pos[i][1]) - previous_was_phrase = False - - def search_target_words_automatically(self, model, target_minimum: set, frequency_dict: dict = None): - for token in self.sentence_phrases: - # TODO: Still do not have w2v model with phrases - # therefore cannot come up with the criteria - if isinstance(token, list): # if token is a phrase - original_token1 = token[1]['original_token1'] - original_token2 = token[1]['original_token2'] - original_token1_tags = get_tags(original_token1.text)[0] - original_token2_tags = get_tags(original_token2.text)[0] - tags = original_token1_tags | original_token2_tags - not_ner = True if (original_token1.ent_type == 0 and original_token2.ent_type == 0) else False - target_word = { - 'sentence_number': self.n_sentence, - 'sentence_text': self.original, - 'original_text': f'{original_token1.text} {original_token2.text}', - 'lemma': token[0], - 'pos': ('phrase', [original_token1.pos_, original_token2.pos_]), - 'gender': list({define_gender(original_token1), define_gender(original_token2)})[0], - 'tags': tags, - 'position_in_sentence': self.original.find(original_token1.text), - 'not_named_entity': not_ner, - 'frequency_in_text': 0 - } - self.target_words.append(target_word) - else: # if token is just a spacy.nlp token - if check_token(model=model, token=token, lemma_pos='auto', current_minimum=target_minimum): - target_word = { - 'sentence_number': self.n_sentence, - 'sentence_text': self.original, - 'original_text': token.text, - 'lemma': token.lemma_, - 'pos': ('simple', token.pos_), - 'gender': define_gender(token.lemma_), - 'number_children': len([child for child in token.children]), - 'tags': get_tags(token.text)[0], - 'position_in_sentence': self.original.find(token.text), - 'not_named_entity': True if token.ent_type == 0 else False, - 'frequency_in_text': frequency_dict.get(token.lemma_, 1), - } - self.target_words.append(target_word) - - def search_user_target_words(self, model, user_target_words: set = None, frequency_dict: dict = None): - for _utw in user_target_words: - if _utw in self.original: - parse_utw = nlp(_utw) - if ' ' in _utw: - tags = get_tags(parse_utw[0].text)[0] | get_tags(parse_utw[1].text)[0] - user_target_word_lemma = '_'.join([f'{token.lemma_}_{token.pos_}' for token in parse_utw]) - user_target_word_pos = ('phrase', [token.pos_ for token in parse_utw]) - user_target_word_tags = tags - not_ner = True if (parse_utw[0].ent_type == 0 and parse_utw[1].ent_type == 0) else False - else: - user_target_word_lemma = f'{parse_utw[0].lemma_}_{parse_utw[0].pos_}' - user_target_word_pos = ('simple', parse_utw[0].pos_) - user_target_word_tags = get_tags(parse_utw[0].text)[0] - not_ner = parse_utw[0].ent_type == 0 - target_word = { - 'sentence_number': self.n_sentence, - 'sentence_text': self.original, - 'original_text': _utw, - 'lemma': user_target_word_lemma, - 'pos': user_target_word_pos, - 'gender': convert_gender(user_target_word_tags.get('Gender')), - 'tags': user_target_word_tags, - 'position_in_sentence': self.original.find(_utw), - 'not_named_entity': not_ner, - 'frequency_in_text': frequency_dict.get(user_target_word_lemma, 1) - } - if not (model.has_index_for(user_target_word_lemma) - or model.has_index_for(f'{user_target_word_lemma}_{user_target_word_pos[1]}')): - BAD_USER_TARGET_WORDS.append(_utw) - else: - self.target_words.append(target_word) - - def search_target_words(self, model, target_words_automatic_mode: bool, target_minimum, - user_target_words: set = None, - frequency_dict: dict = None): - if target_words_automatic_mode: - self.search_target_words_automatically(model=model, target_minimum=target_minimum, - frequency_dict=frequency_dict) - else: - self.search_user_target_words(model=model, user_target_words=user_target_words, - frequency_dict=frequency_dict) - - def attach_distractors_to_target_word(self, model, global_distractors, distractor_minimum, level_name, - max_frequency, - progress, logs): - n_target_words = len(self.target_words) - bad_target_words = [] - for i, target_word in enumerate(self.target_words): - pos = target_word['pos'][0] if target_word['pos'][0] == 'phrase' else target_word['pos'][1] - distractors = get_distractors_from_model(model, lemma=target_word['lemma'], pos=pos, - gender=target_word['gender'], level_name=level_name, - global_distractors=global_distractors, - distractor_minimum=distractor_minimum, - max_num_distractors=self.max_num_distractors) - if distractors is None or target_word['frequency_in_text'] > max_frequency: - target_word['distractors'] = distractors - bad_target_words.append(target_word) - target_word['distractors'] = distractors - target_word['distractors_number'] = len(distractors) if distractors is not None else 0 - progress.progress(i / n_target_words) - logs.success(f'Обработали {i}/{n_target_words} слов в {self.n_sentence + 1}-м предложении') - for btw in bad_target_words: - BAD_USER_TARGET_WORDS.append(btw['original_text']) - self.target_words.remove(btw) - progress.progress(100) - logs.success( - f'Обработали {n_target_words}/{n_target_words} слов в {self.n_sentence + 1}-м предложении') - - def inflect_distractors(self): - bad_target_words = [] - for target_word in self.target_words: - inflected_distractors = [] - for distractor_lemma, distractor_similarity in target_word['distractors']: - if distractor_lemma.count('_') > 1: - # TODO The same. Has to train model and test this code - inflected = make_inflection(text=distractor_lemma, - pos=target_word['pos'][1], tags=target_word['tags']) - else: - inflected = make_inflection(text=distractor_lemma, - pos=target_word['pos'][1], tags=target_word['tags']) - if inflected is not None: - inflected_distractors.append(inflected) - else: - new_tags = copy.deepcopy(target_word['tags']) - if 'NOUN' in target_word['tags'] and 'inan' in target_word['tags']: - new_tags.discard('inan') - new_tags.add('anim') - elif 'NOUN' in target_word['tags'] and 'anim' in target_word['tags']: - new_tags.discard('anim') - new_tags.add('inan') - inflected = make_inflection(text=distractor_lemma, pos=target_word['pos'][1], tags=new_tags) - if inflected is not None: - inflected_distractors.append(inflected) - num_distractors = min(4, self.max_num_distractors) if self.max_num_distractors >= 4 \ - else self.max_num_distractors - if len(inflected_distractors) < num_distractors: - bad_target_words.append(target_word) - else: - target_word['inflected_distractors'] = inflected_distractors - for btw in bad_target_words: - BAD_USER_TARGET_WORDS.append(btw['original_text']) - self.target_words.remove(btw) - - def filter_target_words(self, target_words_automatic_mode): - c_position = 0 - bad_target_words = [] - for target_word in self.target_words: - position_difference = 3 if target_words_automatic_mode else 0 - if not (target_word['position_in_sentence'] == 0 - or abs(target_word['position_in_sentence'] - c_position) >= position_difference): - bad_target_words.append(target_word) - for btw in bad_target_words: - BAD_USER_TARGET_WORDS.append(btw['original_text']) - self.target_words.remove(btw) - - def sample_distractors(self, num_distractors): - for target_word in self.target_words: - len_inflected_distractors = len(target_word['inflected_distractors']) - num_distractors = min(len_inflected_distractors, num_distractors) \ - if num_distractors >= 4 else num_distractors - target_word['inflected_distractors'] = sample(target_word['inflected_distractors'][:min( - len_inflected_distractors, 10)], num_distractors) - - -class TASK: - def __init__(self, task_data): - self.task_data = task_data - - self.original_text = None - self.sentence_text = None - self.inflected_distractors = None - self.sentence_number = task_data['sentence_number'] - self.position_in_sentence = task_data['position_in_sentence'] - self.result = '' - self.variants = [] - for key, value in task_data.items(): - self.__setattr__(key, value) - - def __repr__(self): - return '\n'.join([f'{key}\t=\t{value}' for key, value in self.__dict__.items()]) - - def compile_task(self, max_num_distractors): - len_distractors = len(self.inflected_distractors) - len_variants = min(len_distractors, max_num_distractors) if max_num_distractors > 4 \ - else max_num_distractors - letters = (f'({letter})' for letter in string.ascii_lowercase[:len_variants + 1]) - try: - distractors = sample(self.inflected_distractors, len_variants) + [self.original_text, ] - except ValueError: - distractors = self.inflected_distractors + [self.original_text, ] - self.variants.append( - (self.original_text, [f'{item[0]} {item[1].replace("_", " ")}' - for item in zip(letters, sorted(distractors, key=lambda _: random()))])) diff --git a/old_version/utilities_option_menu/__pycache__/option_menu.cpython-310.pyc b/old_version/utilities_option_menu/__pycache__/option_menu.cpython-310.pyc deleted file mode 100644 index c3c1b9fb43b118608f5a50b7600cddd9cee2158b..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_option_menu/__pycache__/option_menu.cpython-310.pyc and /dev/null differ diff --git a/old_version/utilities_option_menu/frontend/dist/css/app.e7a740d2.css b/old_version/utilities_option_menu/frontend/dist/css/app.e7a740d2.css deleted file mode 100644 index 92c1ee9b127f0096261bb1030921e50b95f6908f..0000000000000000000000000000000000000000 --- a/old_version/utilities_option_menu/frontend/dist/css/app.e7a740d2.css +++ /dev/null @@ -1 +0,0 @@ -.icon[data-v-4323f8ce]{font-size:1rem;margin-right:.5rem}.menu hr[data-v-4323f8ce]{margin-top:.5rem;margin-bottom:.5rem}.menu .container-xxl[data-v-4323f8ce]{background-color:var(--secondary-background-color);border-radius:.5rem}.menu-title[data-v-4323f8ce]{margin-left:.75rem;margin-right:.75rem}.menu-title .icon[data-v-4323f8ce],.menu-title[data-v-4323f8ce]{font-size:1.5rem}.menu-title .icon[data-v-4323f8ce]{margin-right:.75rem}.menu-title[data-v-4323f8ce],.menu .nav-item[data-v-4323f8ce],.menu .nav-link[data-v-4323f8ce],hr[data-v-4323f8ce]{color:var(--text-color)}.nav-link.active[data-v-4323f8ce]{color:#fff}.nav-link[data-v-4323f8ce]:hover{background-color:var(--hover-color)}.nav-link-hover[data-v-4323f8ce]:hover{background-color:inherit}.menu .nav-link[data-v-4323f8ce]{margin-top:.25rem;margin-bottom:.25rem;padding-top:.5rem;padding-bottom:.5rem}.menu .nav-link-horizontal[data-v-4323f8ce]{padding-top:.25rem;padding-bottom:.25rem}.p-h[data-v-4323f8ce]{padding:.5rem .75rem}.container .flex-column[data-v-4323f8ce]{padding-top:.25rem}.menu .nav-item .nav-link.active[data-v-4323f8ce]{background-color:var(--primary-color)}.nav-link.active+.icon[data-v-4323f8ce],.nav-link.active[data-v-4323f8ce]{font-weight:900}.vr[data-v-4323f8ce]{width:1px;height:80%}.err__msg[data-v-bef81972],.err__title[data-v-bef81972]{margin:0}body{margin:0}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50} diff --git a/old_version/utilities_option_menu/frontend/dist/css/chunk-vendors.df4470f9.css b/old_version/utilities_option_menu/frontend/dist/css/chunk-vendors.df4470f9.css deleted file mode 100644 index 00d4cab5675ba2f7e0b92c3b071b031f15b81653..0000000000000000000000000000000000000000 --- a/old_version/utilities_option_menu/frontend/dist/css/chunk-vendors.df4470f9.css +++ /dev/null @@ -1,6 +0,0 @@ -@charset "UTF-8";/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,0.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*0.5);padding-left:calc(var(--bs-gutter-x)*0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0,0,0,0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0,0,0,0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:50%;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E")}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");background-position:0;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2386b7fe'/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-position:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:hsla(0,0%,100%,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:50%;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.55);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.5rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3E%3C/svg%3E");transform:rotate(-180deg)}.accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider,"/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{height:1rem;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3E%3C/svg%3E") 50%/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M11.354 1.646a.5.5 0 010 .708L5.707 8l5.647 5.646a.5.5 0 01-.708.708l-6-6a.5.5 0 010-.708l6-6a.5.5 0 01.708 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M4.646 1.646a.5.5 0 01.708 0l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L10.293 8 4.646 2.354a.5.5 0 010-.708z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(1turn)}}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom,.offcanvas-top{right:0;left:0;height:30vh;max-height:100%}.offcanvas-bottom{border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix:after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.hstack{flex-direction:row;align-items:center}.hstack,.vstack{display:flex;align-self:stretch}.vstack{flex:1 1 auto;flex-direction:column}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:hsla(0,0%,100%,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-end,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-end{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-start{border-bottom-left-radius:.25rem!important}.rounded-start{border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}@font-face{font-family:bootstrap-icons;src:url(../fonts/bootstrap-icons.c5787b4a.woff2) format("woff2"),url(../fonts/bootstrap-icons.b0dc2193.woff) format("woff")}.bi:before,[class*=" bi-"]:before,[class^=bi-]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:"\f67f"}.bi-alarm-fill:before{content:"\f101"}.bi-alarm:before{content:"\f102"}.bi-align-bottom:before{content:"\f103"}.bi-align-center:before{content:"\f104"}.bi-align-end:before{content:"\f105"}.bi-align-middle:before{content:"\f106"}.bi-align-start:before{content:"\f107"}.bi-align-top:before{content:"\f108"}.bi-alt:before{content:"\f109"}.bi-app-indicator:before{content:"\f10a"}.bi-app:before{content:"\f10b"}.bi-archive-fill:before{content:"\f10c"}.bi-archive:before{content:"\f10d"}.bi-arrow-90deg-down:before{content:"\f10e"}.bi-arrow-90deg-left:before{content:"\f10f"}.bi-arrow-90deg-right:before{content:"\f110"}.bi-arrow-90deg-up:before{content:"\f111"}.bi-arrow-bar-down:before{content:"\f112"}.bi-arrow-bar-left:before{content:"\f113"}.bi-arrow-bar-right:before{content:"\f114"}.bi-arrow-bar-up:before{content:"\f115"}.bi-arrow-clockwise:before{content:"\f116"}.bi-arrow-counterclockwise:before{content:"\f117"}.bi-arrow-down-circle-fill:before{content:"\f118"}.bi-arrow-down-circle:before{content:"\f119"}.bi-arrow-down-left-circle-fill:before{content:"\f11a"}.bi-arrow-down-left-circle:before{content:"\f11b"}.bi-arrow-down-left-square-fill:before{content:"\f11c"}.bi-arrow-down-left-square:before{content:"\f11d"}.bi-arrow-down-left:before{content:"\f11e"}.bi-arrow-down-right-circle-fill:before{content:"\f11f"}.bi-arrow-down-right-circle:before{content:"\f120"}.bi-arrow-down-right-square-fill:before{content:"\f121"}.bi-arrow-down-right-square:before{content:"\f122"}.bi-arrow-down-right:before{content:"\f123"}.bi-arrow-down-short:before{content:"\f124"}.bi-arrow-down-square-fill:before{content:"\f125"}.bi-arrow-down-square:before{content:"\f126"}.bi-arrow-down-up:before{content:"\f127"}.bi-arrow-down:before{content:"\f128"}.bi-arrow-left-circle-fill:before{content:"\f129"}.bi-arrow-left-circle:before{content:"\f12a"}.bi-arrow-left-right:before{content:"\f12b"}.bi-arrow-left-short:before{content:"\f12c"}.bi-arrow-left-square-fill:before{content:"\f12d"}.bi-arrow-left-square:before{content:"\f12e"}.bi-arrow-left:before{content:"\f12f"}.bi-arrow-repeat:before{content:"\f130"}.bi-arrow-return-left:before{content:"\f131"}.bi-arrow-return-right:before{content:"\f132"}.bi-arrow-right-circle-fill:before{content:"\f133"}.bi-arrow-right-circle:before{content:"\f134"}.bi-arrow-right-short:before{content:"\f135"}.bi-arrow-right-square-fill:before{content:"\f136"}.bi-arrow-right-square:before{content:"\f137"}.bi-arrow-right:before{content:"\f138"}.bi-arrow-up-circle-fill:before{content:"\f139"}.bi-arrow-up-circle:before{content:"\f13a"}.bi-arrow-up-left-circle-fill:before{content:"\f13b"}.bi-arrow-up-left-circle:before{content:"\f13c"}.bi-arrow-up-left-square-fill:before{content:"\f13d"}.bi-arrow-up-left-square:before{content:"\f13e"}.bi-arrow-up-left:before{content:"\f13f"}.bi-arrow-up-right-circle-fill:before{content:"\f140"}.bi-arrow-up-right-circle:before{content:"\f141"}.bi-arrow-up-right-square-fill:before{content:"\f142"}.bi-arrow-up-right-square:before{content:"\f143"}.bi-arrow-up-right:before{content:"\f144"}.bi-arrow-up-short:before{content:"\f145"}.bi-arrow-up-square-fill:before{content:"\f146"}.bi-arrow-up-square:before{content:"\f147"}.bi-arrow-up:before{content:"\f148"}.bi-arrows-angle-contract:before{content:"\f149"}.bi-arrows-angle-expand:before{content:"\f14a"}.bi-arrows-collapse:before{content:"\f14b"}.bi-arrows-expand:before{content:"\f14c"}.bi-arrows-fullscreen:before{content:"\f14d"}.bi-arrows-move:before{content:"\f14e"}.bi-aspect-ratio-fill:before{content:"\f14f"}.bi-aspect-ratio:before{content:"\f150"}.bi-asterisk:before{content:"\f151"}.bi-at:before{content:"\f152"}.bi-award-fill:before{content:"\f153"}.bi-award:before{content:"\f154"}.bi-back:before{content:"\f155"}.bi-backspace-fill:before{content:"\f156"}.bi-backspace-reverse-fill:before{content:"\f157"}.bi-backspace-reverse:before{content:"\f158"}.bi-backspace:before{content:"\f159"}.bi-badge-3d-fill:before{content:"\f15a"}.bi-badge-3d:before{content:"\f15b"}.bi-badge-4k-fill:before{content:"\f15c"}.bi-badge-4k:before{content:"\f15d"}.bi-badge-8k-fill:before{content:"\f15e"}.bi-badge-8k:before{content:"\f15f"}.bi-badge-ad-fill:before{content:"\f160"}.bi-badge-ad:before{content:"\f161"}.bi-badge-ar-fill:before{content:"\f162"}.bi-badge-ar:before{content:"\f163"}.bi-badge-cc-fill:before{content:"\f164"}.bi-badge-cc:before{content:"\f165"}.bi-badge-hd-fill:before{content:"\f166"}.bi-badge-hd:before{content:"\f167"}.bi-badge-tm-fill:before{content:"\f168"}.bi-badge-tm:before{content:"\f169"}.bi-badge-vo-fill:before{content:"\f16a"}.bi-badge-vo:before{content:"\f16b"}.bi-badge-vr-fill:before{content:"\f16c"}.bi-badge-vr:before{content:"\f16d"}.bi-badge-wc-fill:before{content:"\f16e"}.bi-badge-wc:before{content:"\f16f"}.bi-bag-check-fill:before{content:"\f170"}.bi-bag-check:before{content:"\f171"}.bi-bag-dash-fill:before{content:"\f172"}.bi-bag-dash:before{content:"\f173"}.bi-bag-fill:before{content:"\f174"}.bi-bag-plus-fill:before{content:"\f175"}.bi-bag-plus:before{content:"\f176"}.bi-bag-x-fill:before{content:"\f177"}.bi-bag-x:before{content:"\f178"}.bi-bag:before{content:"\f179"}.bi-bar-chart-fill:before{content:"\f17a"}.bi-bar-chart-line-fill:before{content:"\f17b"}.bi-bar-chart-line:before{content:"\f17c"}.bi-bar-chart-steps:before{content:"\f17d"}.bi-bar-chart:before{content:"\f17e"}.bi-basket-fill:before{content:"\f17f"}.bi-basket:before{content:"\f180"}.bi-basket2-fill:before{content:"\f181"}.bi-basket2:before{content:"\f182"}.bi-basket3-fill:before{content:"\f183"}.bi-basket3:before{content:"\f184"}.bi-battery-charging:before{content:"\f185"}.bi-battery-full:before{content:"\f186"}.bi-battery-half:before{content:"\f187"}.bi-battery:before{content:"\f188"}.bi-bell-fill:before{content:"\f189"}.bi-bell:before{content:"\f18a"}.bi-bezier:before{content:"\f18b"}.bi-bezier2:before{content:"\f18c"}.bi-bicycle:before{content:"\f18d"}.bi-binoculars-fill:before{content:"\f18e"}.bi-binoculars:before{content:"\f18f"}.bi-blockquote-left:before{content:"\f190"}.bi-blockquote-right:before{content:"\f191"}.bi-book-fill:before{content:"\f192"}.bi-book-half:before{content:"\f193"}.bi-book:before{content:"\f194"}.bi-bookmark-check-fill:before{content:"\f195"}.bi-bookmark-check:before{content:"\f196"}.bi-bookmark-dash-fill:before{content:"\f197"}.bi-bookmark-dash:before{content:"\f198"}.bi-bookmark-fill:before{content:"\f199"}.bi-bookmark-heart-fill:before{content:"\f19a"}.bi-bookmark-heart:before{content:"\f19b"}.bi-bookmark-plus-fill:before{content:"\f19c"}.bi-bookmark-plus:before{content:"\f19d"}.bi-bookmark-star-fill:before{content:"\f19e"}.bi-bookmark-star:before{content:"\f19f"}.bi-bookmark-x-fill:before{content:"\f1a0"}.bi-bookmark-x:before{content:"\f1a1"}.bi-bookmark:before{content:"\f1a2"}.bi-bookmarks-fill:before{content:"\f1a3"}.bi-bookmarks:before{content:"\f1a4"}.bi-bookshelf:before{content:"\f1a5"}.bi-bootstrap-fill:before{content:"\f1a6"}.bi-bootstrap-reboot:before{content:"\f1a7"}.bi-bootstrap:before{content:"\f1a8"}.bi-border-all:before{content:"\f1a9"}.bi-border-bottom:before{content:"\f1aa"}.bi-border-center:before{content:"\f1ab"}.bi-border-inner:before{content:"\f1ac"}.bi-border-left:before{content:"\f1ad"}.bi-border-middle:before{content:"\f1ae"}.bi-border-outer:before{content:"\f1af"}.bi-border-right:before{content:"\f1b0"}.bi-border-style:before{content:"\f1b1"}.bi-border-top:before{content:"\f1b2"}.bi-border-width:before{content:"\f1b3"}.bi-border:before{content:"\f1b4"}.bi-bounding-box-circles:before{content:"\f1b5"}.bi-bounding-box:before{content:"\f1b6"}.bi-box-arrow-down-left:before{content:"\f1b7"}.bi-box-arrow-down-right:before{content:"\f1b8"}.bi-box-arrow-down:before{content:"\f1b9"}.bi-box-arrow-in-down-left:before{content:"\f1ba"}.bi-box-arrow-in-down-right:before{content:"\f1bb"}.bi-box-arrow-in-down:before{content:"\f1bc"}.bi-box-arrow-in-left:before{content:"\f1bd"}.bi-box-arrow-in-right:before{content:"\f1be"}.bi-box-arrow-in-up-left:before{content:"\f1bf"}.bi-box-arrow-in-up-right:before{content:"\f1c0"}.bi-box-arrow-in-up:before{content:"\f1c1"}.bi-box-arrow-left:before{content:"\f1c2"}.bi-box-arrow-right:before{content:"\f1c3"}.bi-box-arrow-up-left:before{content:"\f1c4"}.bi-box-arrow-up-right:before{content:"\f1c5"}.bi-box-arrow-up:before{content:"\f1c6"}.bi-box-seam:before{content:"\f1c7"}.bi-box:before{content:"\f1c8"}.bi-braces:before{content:"\f1c9"}.bi-bricks:before{content:"\f1ca"}.bi-briefcase-fill:before{content:"\f1cb"}.bi-briefcase:before{content:"\f1cc"}.bi-brightness-alt-high-fill:before{content:"\f1cd"}.bi-brightness-alt-high:before{content:"\f1ce"}.bi-brightness-alt-low-fill:before{content:"\f1cf"}.bi-brightness-alt-low:before{content:"\f1d0"}.bi-brightness-high-fill:before{content:"\f1d1"}.bi-brightness-high:before{content:"\f1d2"}.bi-brightness-low-fill:before{content:"\f1d3"}.bi-brightness-low:before{content:"\f1d4"}.bi-broadcast-pin:before{content:"\f1d5"}.bi-broadcast:before{content:"\f1d6"}.bi-brush-fill:before{content:"\f1d7"}.bi-brush:before{content:"\f1d8"}.bi-bucket-fill:before{content:"\f1d9"}.bi-bucket:before{content:"\f1da"}.bi-bug-fill:before{content:"\f1db"}.bi-bug:before{content:"\f1dc"}.bi-building:before{content:"\f1dd"}.bi-bullseye:before{content:"\f1de"}.bi-calculator-fill:before{content:"\f1df"}.bi-calculator:before{content:"\f1e0"}.bi-calendar-check-fill:before{content:"\f1e1"}.bi-calendar-check:before{content:"\f1e2"}.bi-calendar-date-fill:before{content:"\f1e3"}.bi-calendar-date:before{content:"\f1e4"}.bi-calendar-day-fill:before{content:"\f1e5"}.bi-calendar-day:before{content:"\f1e6"}.bi-calendar-event-fill:before{content:"\f1e7"}.bi-calendar-event:before{content:"\f1e8"}.bi-calendar-fill:before{content:"\f1e9"}.bi-calendar-minus-fill:before{content:"\f1ea"}.bi-calendar-minus:before{content:"\f1eb"}.bi-calendar-month-fill:before{content:"\f1ec"}.bi-calendar-month:before{content:"\f1ed"}.bi-calendar-plus-fill:before{content:"\f1ee"}.bi-calendar-plus:before{content:"\f1ef"}.bi-calendar-range-fill:before{content:"\f1f0"}.bi-calendar-range:before{content:"\f1f1"}.bi-calendar-week-fill:before{content:"\f1f2"}.bi-calendar-week:before{content:"\f1f3"}.bi-calendar-x-fill:before{content:"\f1f4"}.bi-calendar-x:before{content:"\f1f5"}.bi-calendar:before{content:"\f1f6"}.bi-calendar2-check-fill:before{content:"\f1f7"}.bi-calendar2-check:before{content:"\f1f8"}.bi-calendar2-date-fill:before{content:"\f1f9"}.bi-calendar2-date:before{content:"\f1fa"}.bi-calendar2-day-fill:before{content:"\f1fb"}.bi-calendar2-day:before{content:"\f1fc"}.bi-calendar2-event-fill:before{content:"\f1fd"}.bi-calendar2-event:before{content:"\f1fe"}.bi-calendar2-fill:before{content:"\f1ff"}.bi-calendar2-minus-fill:before{content:"\f200"}.bi-calendar2-minus:before{content:"\f201"}.bi-calendar2-month-fill:before{content:"\f202"}.bi-calendar2-month:before{content:"\f203"}.bi-calendar2-plus-fill:before{content:"\f204"}.bi-calendar2-plus:before{content:"\f205"}.bi-calendar2-range-fill:before{content:"\f206"}.bi-calendar2-range:before{content:"\f207"}.bi-calendar2-week-fill:before{content:"\f208"}.bi-calendar2-week:before{content:"\f209"}.bi-calendar2-x-fill:before{content:"\f20a"}.bi-calendar2-x:before{content:"\f20b"}.bi-calendar2:before{content:"\f20c"}.bi-calendar3-event-fill:before{content:"\f20d"}.bi-calendar3-event:before{content:"\f20e"}.bi-calendar3-fill:before{content:"\f20f"}.bi-calendar3-range-fill:before{content:"\f210"}.bi-calendar3-range:before{content:"\f211"}.bi-calendar3-week-fill:before{content:"\f212"}.bi-calendar3-week:before{content:"\f213"}.bi-calendar3:before{content:"\f214"}.bi-calendar4-event:before{content:"\f215"}.bi-calendar4-range:before{content:"\f216"}.bi-calendar4-week:before{content:"\f217"}.bi-calendar4:before{content:"\f218"}.bi-camera-fill:before{content:"\f219"}.bi-camera-reels-fill:before{content:"\f21a"}.bi-camera-reels:before{content:"\f21b"}.bi-camera-video-fill:before{content:"\f21c"}.bi-camera-video-off-fill:before{content:"\f21d"}.bi-camera-video-off:before{content:"\f21e"}.bi-camera-video:before{content:"\f21f"}.bi-camera:before{content:"\f220"}.bi-camera2:before{content:"\f221"}.bi-capslock-fill:before{content:"\f222"}.bi-capslock:before{content:"\f223"}.bi-card-checklist:before{content:"\f224"}.bi-card-heading:before{content:"\f225"}.bi-card-image:before{content:"\f226"}.bi-card-list:before{content:"\f227"}.bi-card-text:before{content:"\f228"}.bi-caret-down-fill:before{content:"\f229"}.bi-caret-down-square-fill:before{content:"\f22a"}.bi-caret-down-square:before{content:"\f22b"}.bi-caret-down:before{content:"\f22c"}.bi-caret-left-fill:before{content:"\f22d"}.bi-caret-left-square-fill:before{content:"\f22e"}.bi-caret-left-square:before{content:"\f22f"}.bi-caret-left:before{content:"\f230"}.bi-caret-right-fill:before{content:"\f231"}.bi-caret-right-square-fill:before{content:"\f232"}.bi-caret-right-square:before{content:"\f233"}.bi-caret-right:before{content:"\f234"}.bi-caret-up-fill:before{content:"\f235"}.bi-caret-up-square-fill:before{content:"\f236"}.bi-caret-up-square:before{content:"\f237"}.bi-caret-up:before{content:"\f238"}.bi-cart-check-fill:before{content:"\f239"}.bi-cart-check:before{content:"\f23a"}.bi-cart-dash-fill:before{content:"\f23b"}.bi-cart-dash:before{content:"\f23c"}.bi-cart-fill:before{content:"\f23d"}.bi-cart-plus-fill:before{content:"\f23e"}.bi-cart-plus:before{content:"\f23f"}.bi-cart-x-fill:before{content:"\f240"}.bi-cart-x:before{content:"\f241"}.bi-cart:before{content:"\f242"}.bi-cart2:before{content:"\f243"}.bi-cart3:before{content:"\f244"}.bi-cart4:before{content:"\f245"}.bi-cash-stack:before{content:"\f246"}.bi-cash:before{content:"\f247"}.bi-cast:before{content:"\f248"}.bi-chat-dots-fill:before{content:"\f249"}.bi-chat-dots:before{content:"\f24a"}.bi-chat-fill:before{content:"\f24b"}.bi-chat-left-dots-fill:before{content:"\f24c"}.bi-chat-left-dots:before{content:"\f24d"}.bi-chat-left-fill:before{content:"\f24e"}.bi-chat-left-quote-fill:before{content:"\f24f"}.bi-chat-left-quote:before{content:"\f250"}.bi-chat-left-text-fill:before{content:"\f251"}.bi-chat-left-text:before{content:"\f252"}.bi-chat-left:before{content:"\f253"}.bi-chat-quote-fill:before{content:"\f254"}.bi-chat-quote:before{content:"\f255"}.bi-chat-right-dots-fill:before{content:"\f256"}.bi-chat-right-dots:before{content:"\f257"}.bi-chat-right-fill:before{content:"\f258"}.bi-chat-right-quote-fill:before{content:"\f259"}.bi-chat-right-quote:before{content:"\f25a"}.bi-chat-right-text-fill:before{content:"\f25b"}.bi-chat-right-text:before{content:"\f25c"}.bi-chat-right:before{content:"\f25d"}.bi-chat-square-dots-fill:before{content:"\f25e"}.bi-chat-square-dots:before{content:"\f25f"}.bi-chat-square-fill:before{content:"\f260"}.bi-chat-square-quote-fill:before{content:"\f261"}.bi-chat-square-quote:before{content:"\f262"}.bi-chat-square-text-fill:before{content:"\f263"}.bi-chat-square-text:before{content:"\f264"}.bi-chat-square:before{content:"\f265"}.bi-chat-text-fill:before{content:"\f266"}.bi-chat-text:before{content:"\f267"}.bi-chat:before{content:"\f268"}.bi-check-all:before{content:"\f269"}.bi-check-circle-fill:before{content:"\f26a"}.bi-check-circle:before{content:"\f26b"}.bi-check-square-fill:before{content:"\f26c"}.bi-check-square:before{content:"\f26d"}.bi-check:before{content:"\f26e"}.bi-check2-all:before{content:"\f26f"}.bi-check2-circle:before{content:"\f270"}.bi-check2-square:before{content:"\f271"}.bi-check2:before{content:"\f272"}.bi-chevron-bar-contract:before{content:"\f273"}.bi-chevron-bar-down:before{content:"\f274"}.bi-chevron-bar-expand:before{content:"\f275"}.bi-chevron-bar-left:before{content:"\f276"}.bi-chevron-bar-right:before{content:"\f277"}.bi-chevron-bar-up:before{content:"\f278"}.bi-chevron-compact-down:before{content:"\f279"}.bi-chevron-compact-left:before{content:"\f27a"}.bi-chevron-compact-right:before{content:"\f27b"}.bi-chevron-compact-up:before{content:"\f27c"}.bi-chevron-contract:before{content:"\f27d"}.bi-chevron-double-down:before{content:"\f27e"}.bi-chevron-double-left:before{content:"\f27f"}.bi-chevron-double-right:before{content:"\f280"}.bi-chevron-double-up:before{content:"\f281"}.bi-chevron-down:before{content:"\f282"}.bi-chevron-expand:before{content:"\f283"}.bi-chevron-left:before{content:"\f284"}.bi-chevron-right:before{content:"\f285"}.bi-chevron-up:before{content:"\f286"}.bi-circle-fill:before{content:"\f287"}.bi-circle-half:before{content:"\f288"}.bi-circle-square:before{content:"\f289"}.bi-circle:before{content:"\f28a"}.bi-clipboard-check:before{content:"\f28b"}.bi-clipboard-data:before{content:"\f28c"}.bi-clipboard-minus:before{content:"\f28d"}.bi-clipboard-plus:before{content:"\f28e"}.bi-clipboard-x:before{content:"\f28f"}.bi-clipboard:before{content:"\f290"}.bi-clock-fill:before{content:"\f291"}.bi-clock-history:before{content:"\f292"}.bi-clock:before{content:"\f293"}.bi-cloud-arrow-down-fill:before{content:"\f294"}.bi-cloud-arrow-down:before{content:"\f295"}.bi-cloud-arrow-up-fill:before{content:"\f296"}.bi-cloud-arrow-up:before{content:"\f297"}.bi-cloud-check-fill:before{content:"\f298"}.bi-cloud-check:before{content:"\f299"}.bi-cloud-download-fill:before{content:"\f29a"}.bi-cloud-download:before{content:"\f29b"}.bi-cloud-drizzle-fill:before{content:"\f29c"}.bi-cloud-drizzle:before{content:"\f29d"}.bi-cloud-fill:before{content:"\f29e"}.bi-cloud-fog-fill:before{content:"\f29f"}.bi-cloud-fog:before{content:"\f2a0"}.bi-cloud-fog2-fill:before{content:"\f2a1"}.bi-cloud-fog2:before{content:"\f2a2"}.bi-cloud-hail-fill:before{content:"\f2a3"}.bi-cloud-hail:before{content:"\f2a4"}.bi-cloud-haze-1:before{content:"\f2a5"}.bi-cloud-haze-fill:before{content:"\f2a6"}.bi-cloud-haze:before{content:"\f2a7"}.bi-cloud-haze2-fill:before{content:"\f2a8"}.bi-cloud-lightning-fill:before{content:"\f2a9"}.bi-cloud-lightning-rain-fill:before{content:"\f2aa"}.bi-cloud-lightning-rain:before{content:"\f2ab"}.bi-cloud-lightning:before{content:"\f2ac"}.bi-cloud-minus-fill:before{content:"\f2ad"}.bi-cloud-minus:before{content:"\f2ae"}.bi-cloud-moon-fill:before{content:"\f2af"}.bi-cloud-moon:before{content:"\f2b0"}.bi-cloud-plus-fill:before{content:"\f2b1"}.bi-cloud-plus:before{content:"\f2b2"}.bi-cloud-rain-fill:before{content:"\f2b3"}.bi-cloud-rain-heavy-fill:before{content:"\f2b4"}.bi-cloud-rain-heavy:before{content:"\f2b5"}.bi-cloud-rain:before{content:"\f2b6"}.bi-cloud-slash-fill:before{content:"\f2b7"}.bi-cloud-slash:before{content:"\f2b8"}.bi-cloud-sleet-fill:before{content:"\f2b9"}.bi-cloud-sleet:before{content:"\f2ba"}.bi-cloud-snow-fill:before{content:"\f2bb"}.bi-cloud-snow:before{content:"\f2bc"}.bi-cloud-sun-fill:before{content:"\f2bd"}.bi-cloud-sun:before{content:"\f2be"}.bi-cloud-upload-fill:before{content:"\f2bf"}.bi-cloud-upload:before{content:"\f2c0"}.bi-cloud:before{content:"\f2c1"}.bi-clouds-fill:before{content:"\f2c2"}.bi-clouds:before{content:"\f2c3"}.bi-cloudy-fill:before{content:"\f2c4"}.bi-cloudy:before{content:"\f2c5"}.bi-code-slash:before{content:"\f2c6"}.bi-code-square:before{content:"\f2c7"}.bi-code:before{content:"\f2c8"}.bi-collection-fill:before{content:"\f2c9"}.bi-collection-play-fill:before{content:"\f2ca"}.bi-collection-play:before{content:"\f2cb"}.bi-collection:before{content:"\f2cc"}.bi-columns-gap:before{content:"\f2cd"}.bi-columns:before{content:"\f2ce"}.bi-command:before{content:"\f2cf"}.bi-compass-fill:before{content:"\f2d0"}.bi-compass:before{content:"\f2d1"}.bi-cone-striped:before{content:"\f2d2"}.bi-cone:before{content:"\f2d3"}.bi-controller:before{content:"\f2d4"}.bi-cpu-fill:before{content:"\f2d5"}.bi-cpu:before{content:"\f2d6"}.bi-credit-card-2-back-fill:before{content:"\f2d7"}.bi-credit-card-2-back:before{content:"\f2d8"}.bi-credit-card-2-front-fill:before{content:"\f2d9"}.bi-credit-card-2-front:before{content:"\f2da"}.bi-credit-card-fill:before{content:"\f2db"}.bi-credit-card:before{content:"\f2dc"}.bi-crop:before{content:"\f2dd"}.bi-cup-fill:before{content:"\f2de"}.bi-cup-straw:before{content:"\f2df"}.bi-cup:before{content:"\f2e0"}.bi-cursor-fill:before{content:"\f2e1"}.bi-cursor-text:before{content:"\f2e2"}.bi-cursor:before{content:"\f2e3"}.bi-dash-circle-dotted:before{content:"\f2e4"}.bi-dash-circle-fill:before{content:"\f2e5"}.bi-dash-circle:before{content:"\f2e6"}.bi-dash-square-dotted:before{content:"\f2e7"}.bi-dash-square-fill:before{content:"\f2e8"}.bi-dash-square:before{content:"\f2e9"}.bi-dash:before{content:"\f2ea"}.bi-diagram-2-fill:before{content:"\f2eb"}.bi-diagram-2:before{content:"\f2ec"}.bi-diagram-3-fill:before{content:"\f2ed"}.bi-diagram-3:before{content:"\f2ee"}.bi-diamond-fill:before{content:"\f2ef"}.bi-diamond-half:before{content:"\f2f0"}.bi-diamond:before{content:"\f2f1"}.bi-dice-1-fill:before{content:"\f2f2"}.bi-dice-1:before{content:"\f2f3"}.bi-dice-2-fill:before{content:"\f2f4"}.bi-dice-2:before{content:"\f2f5"}.bi-dice-3-fill:before{content:"\f2f6"}.bi-dice-3:before{content:"\f2f7"}.bi-dice-4-fill:before{content:"\f2f8"}.bi-dice-4:before{content:"\f2f9"}.bi-dice-5-fill:before{content:"\f2fa"}.bi-dice-5:before{content:"\f2fb"}.bi-dice-6-fill:before{content:"\f2fc"}.bi-dice-6:before{content:"\f2fd"}.bi-disc-fill:before{content:"\f2fe"}.bi-disc:before{content:"\f2ff"}.bi-discord:before{content:"\f300"}.bi-display-fill:before{content:"\f301"}.bi-display:before{content:"\f302"}.bi-distribute-horizontal:before{content:"\f303"}.bi-distribute-vertical:before{content:"\f304"}.bi-door-closed-fill:before{content:"\f305"}.bi-door-closed:before{content:"\f306"}.bi-door-open-fill:before{content:"\f307"}.bi-door-open:before{content:"\f308"}.bi-dot:before{content:"\f309"}.bi-download:before{content:"\f30a"}.bi-droplet-fill:before{content:"\f30b"}.bi-droplet-half:before{content:"\f30c"}.bi-droplet:before{content:"\f30d"}.bi-earbuds:before{content:"\f30e"}.bi-easel-fill:before{content:"\f30f"}.bi-easel:before{content:"\f310"}.bi-egg-fill:before{content:"\f311"}.bi-egg-fried:before{content:"\f312"}.bi-egg:before{content:"\f313"}.bi-eject-fill:before{content:"\f314"}.bi-eject:before{content:"\f315"}.bi-emoji-angry-fill:before{content:"\f316"}.bi-emoji-angry:before{content:"\f317"}.bi-emoji-dizzy-fill:before{content:"\f318"}.bi-emoji-dizzy:before{content:"\f319"}.bi-emoji-expressionless-fill:before{content:"\f31a"}.bi-emoji-expressionless:before{content:"\f31b"}.bi-emoji-frown-fill:before{content:"\f31c"}.bi-emoji-frown:before{content:"\f31d"}.bi-emoji-heart-eyes-fill:before{content:"\f31e"}.bi-emoji-heart-eyes:before{content:"\f31f"}.bi-emoji-laughing-fill:before{content:"\f320"}.bi-emoji-laughing:before{content:"\f321"}.bi-emoji-neutral-fill:before{content:"\f322"}.bi-emoji-neutral:before{content:"\f323"}.bi-emoji-smile-fill:before{content:"\f324"}.bi-emoji-smile-upside-down-fill:before{content:"\f325"}.bi-emoji-smile-upside-down:before{content:"\f326"}.bi-emoji-smile:before{content:"\f327"}.bi-emoji-sunglasses-fill:before{content:"\f328"}.bi-emoji-sunglasses:before{content:"\f329"}.bi-emoji-wink-fill:before{content:"\f32a"}.bi-emoji-wink:before{content:"\f32b"}.bi-envelope-fill:before{content:"\f32c"}.bi-envelope-open-fill:before{content:"\f32d"}.bi-envelope-open:before{content:"\f32e"}.bi-envelope:before{content:"\f32f"}.bi-eraser-fill:before{content:"\f330"}.bi-eraser:before{content:"\f331"}.bi-exclamation-circle-fill:before{content:"\f332"}.bi-exclamation-circle:before{content:"\f333"}.bi-exclamation-diamond-fill:before{content:"\f334"}.bi-exclamation-diamond:before{content:"\f335"}.bi-exclamation-octagon-fill:before{content:"\f336"}.bi-exclamation-octagon:before{content:"\f337"}.bi-exclamation-square-fill:before{content:"\f338"}.bi-exclamation-square:before{content:"\f339"}.bi-exclamation-triangle-fill:before{content:"\f33a"}.bi-exclamation-triangle:before{content:"\f33b"}.bi-exclamation:before{content:"\f33c"}.bi-exclude:before{content:"\f33d"}.bi-eye-fill:before{content:"\f33e"}.bi-eye-slash-fill:before{content:"\f33f"}.bi-eye-slash:before{content:"\f340"}.bi-eye:before{content:"\f341"}.bi-eyedropper:before{content:"\f342"}.bi-eyeglasses:before{content:"\f343"}.bi-facebook:before{content:"\f344"}.bi-file-arrow-down-fill:before{content:"\f345"}.bi-file-arrow-down:before{content:"\f346"}.bi-file-arrow-up-fill:before{content:"\f347"}.bi-file-arrow-up:before{content:"\f348"}.bi-file-bar-graph-fill:before{content:"\f349"}.bi-file-bar-graph:before{content:"\f34a"}.bi-file-binary-fill:before{content:"\f34b"}.bi-file-binary:before{content:"\f34c"}.bi-file-break-fill:before{content:"\f34d"}.bi-file-break:before{content:"\f34e"}.bi-file-check-fill:before{content:"\f34f"}.bi-file-check:before{content:"\f350"}.bi-file-code-fill:before{content:"\f351"}.bi-file-code:before{content:"\f352"}.bi-file-diff-fill:before{content:"\f353"}.bi-file-diff:before{content:"\f354"}.bi-file-earmark-arrow-down-fill:before{content:"\f355"}.bi-file-earmark-arrow-down:before{content:"\f356"}.bi-file-earmark-arrow-up-fill:before{content:"\f357"}.bi-file-earmark-arrow-up:before{content:"\f358"}.bi-file-earmark-bar-graph-fill:before{content:"\f359"}.bi-file-earmark-bar-graph:before{content:"\f35a"}.bi-file-earmark-binary-fill:before{content:"\f35b"}.bi-file-earmark-binary:before{content:"\f35c"}.bi-file-earmark-break-fill:before{content:"\f35d"}.bi-file-earmark-break:before{content:"\f35e"}.bi-file-earmark-check-fill:before{content:"\f35f"}.bi-file-earmark-check:before{content:"\f360"}.bi-file-earmark-code-fill:before{content:"\f361"}.bi-file-earmark-code:before{content:"\f362"}.bi-file-earmark-diff-fill:before{content:"\f363"}.bi-file-earmark-diff:before{content:"\f364"}.bi-file-earmark-easel-fill:before{content:"\f365"}.bi-file-earmark-easel:before{content:"\f366"}.bi-file-earmark-excel-fill:before{content:"\f367"}.bi-file-earmark-excel:before{content:"\f368"}.bi-file-earmark-fill:before{content:"\f369"}.bi-file-earmark-font-fill:before{content:"\f36a"}.bi-file-earmark-font:before{content:"\f36b"}.bi-file-earmark-image-fill:before{content:"\f36c"}.bi-file-earmark-image:before{content:"\f36d"}.bi-file-earmark-lock-fill:before{content:"\f36e"}.bi-file-earmark-lock:before{content:"\f36f"}.bi-file-earmark-lock2-fill:before{content:"\f370"}.bi-file-earmark-lock2:before{content:"\f371"}.bi-file-earmark-medical-fill:before{content:"\f372"}.bi-file-earmark-medical:before{content:"\f373"}.bi-file-earmark-minus-fill:before{content:"\f374"}.bi-file-earmark-minus:before{content:"\f375"}.bi-file-earmark-music-fill:before{content:"\f376"}.bi-file-earmark-music:before{content:"\f377"}.bi-file-earmark-person-fill:before{content:"\f378"}.bi-file-earmark-person:before{content:"\f379"}.bi-file-earmark-play-fill:before{content:"\f37a"}.bi-file-earmark-play:before{content:"\f37b"}.bi-file-earmark-plus-fill:before{content:"\f37c"}.bi-file-earmark-plus:before{content:"\f37d"}.bi-file-earmark-post-fill:before{content:"\f37e"}.bi-file-earmark-post:before{content:"\f37f"}.bi-file-earmark-ppt-fill:before{content:"\f380"}.bi-file-earmark-ppt:before{content:"\f381"}.bi-file-earmark-richtext-fill:before{content:"\f382"}.bi-file-earmark-richtext:before{content:"\f383"}.bi-file-earmark-ruled-fill:before{content:"\f384"}.bi-file-earmark-ruled:before{content:"\f385"}.bi-file-earmark-slides-fill:before{content:"\f386"}.bi-file-earmark-slides:before{content:"\f387"}.bi-file-earmark-spreadsheet-fill:before{content:"\f388"}.bi-file-earmark-spreadsheet:before{content:"\f389"}.bi-file-earmark-text-fill:before{content:"\f38a"}.bi-file-earmark-text:before{content:"\f38b"}.bi-file-earmark-word-fill:before{content:"\f38c"}.bi-file-earmark-word:before{content:"\f38d"}.bi-file-earmark-x-fill:before{content:"\f38e"}.bi-file-earmark-x:before{content:"\f38f"}.bi-file-earmark-zip-fill:before{content:"\f390"}.bi-file-earmark-zip:before{content:"\f391"}.bi-file-earmark:before{content:"\f392"}.bi-file-easel-fill:before{content:"\f393"}.bi-file-easel:before{content:"\f394"}.bi-file-excel-fill:before{content:"\f395"}.bi-file-excel:before{content:"\f396"}.bi-file-fill:before{content:"\f397"}.bi-file-font-fill:before{content:"\f398"}.bi-file-font:before{content:"\f399"}.bi-file-image-fill:before{content:"\f39a"}.bi-file-image:before{content:"\f39b"}.bi-file-lock-fill:before{content:"\f39c"}.bi-file-lock:before{content:"\f39d"}.bi-file-lock2-fill:before{content:"\f39e"}.bi-file-lock2:before{content:"\f39f"}.bi-file-medical-fill:before{content:"\f3a0"}.bi-file-medical:before{content:"\f3a1"}.bi-file-minus-fill:before{content:"\f3a2"}.bi-file-minus:before{content:"\f3a3"}.bi-file-music-fill:before{content:"\f3a4"}.bi-file-music:before{content:"\f3a5"}.bi-file-person-fill:before{content:"\f3a6"}.bi-file-person:before{content:"\f3a7"}.bi-file-play-fill:before{content:"\f3a8"}.bi-file-play:before{content:"\f3a9"}.bi-file-plus-fill:before{content:"\f3aa"}.bi-file-plus:before{content:"\f3ab"}.bi-file-post-fill:before{content:"\f3ac"}.bi-file-post:before{content:"\f3ad"}.bi-file-ppt-fill:before{content:"\f3ae"}.bi-file-ppt:before{content:"\f3af"}.bi-file-richtext-fill:before{content:"\f3b0"}.bi-file-richtext:before{content:"\f3b1"}.bi-file-ruled-fill:before{content:"\f3b2"}.bi-file-ruled:before{content:"\f3b3"}.bi-file-slides-fill:before{content:"\f3b4"}.bi-file-slides:before{content:"\f3b5"}.bi-file-spreadsheet-fill:before{content:"\f3b6"}.bi-file-spreadsheet:before{content:"\f3b7"}.bi-file-text-fill:before{content:"\f3b8"}.bi-file-text:before{content:"\f3b9"}.bi-file-word-fill:before{content:"\f3ba"}.bi-file-word:before{content:"\f3bb"}.bi-file-x-fill:before{content:"\f3bc"}.bi-file-x:before{content:"\f3bd"}.bi-file-zip-fill:before{content:"\f3be"}.bi-file-zip:before{content:"\f3bf"}.bi-file:before{content:"\f3c0"}.bi-files-alt:before{content:"\f3c1"}.bi-files:before{content:"\f3c2"}.bi-film:before{content:"\f3c3"}.bi-filter-circle-fill:before{content:"\f3c4"}.bi-filter-circle:before{content:"\f3c5"}.bi-filter-left:before{content:"\f3c6"}.bi-filter-right:before{content:"\f3c7"}.bi-filter-square-fill:before{content:"\f3c8"}.bi-filter-square:before{content:"\f3c9"}.bi-filter:before{content:"\f3ca"}.bi-flag-fill:before{content:"\f3cb"}.bi-flag:before{content:"\f3cc"}.bi-flower1:before{content:"\f3cd"}.bi-flower2:before{content:"\f3ce"}.bi-flower3:before{content:"\f3cf"}.bi-folder-check:before{content:"\f3d0"}.bi-folder-fill:before{content:"\f3d1"}.bi-folder-minus:before{content:"\f3d2"}.bi-folder-plus:before{content:"\f3d3"}.bi-folder-symlink-fill:before{content:"\f3d4"}.bi-folder-symlink:before{content:"\f3d5"}.bi-folder-x:before{content:"\f3d6"}.bi-folder:before{content:"\f3d7"}.bi-folder2-open:before{content:"\f3d8"}.bi-folder2:before{content:"\f3d9"}.bi-fonts:before{content:"\f3da"}.bi-forward-fill:before{content:"\f3db"}.bi-forward:before{content:"\f3dc"}.bi-front:before{content:"\f3dd"}.bi-fullscreen-exit:before{content:"\f3de"}.bi-fullscreen:before{content:"\f3df"}.bi-funnel-fill:before{content:"\f3e0"}.bi-funnel:before{content:"\f3e1"}.bi-gear-fill:before{content:"\f3e2"}.bi-gear-wide-connected:before{content:"\f3e3"}.bi-gear-wide:before{content:"\f3e4"}.bi-gear:before{content:"\f3e5"}.bi-gem:before{content:"\f3e6"}.bi-geo-alt-fill:before{content:"\f3e7"}.bi-geo-alt:before{content:"\f3e8"}.bi-geo-fill:before{content:"\f3e9"}.bi-geo:before{content:"\f3ea"}.bi-gift-fill:before{content:"\f3eb"}.bi-gift:before{content:"\f3ec"}.bi-github:before{content:"\f3ed"}.bi-globe:before{content:"\f3ee"}.bi-globe2:before{content:"\f3ef"}.bi-google:before{content:"\f3f0"}.bi-graph-down:before{content:"\f3f1"}.bi-graph-up:before{content:"\f3f2"}.bi-grid-1x2-fill:before{content:"\f3f3"}.bi-grid-1x2:before{content:"\f3f4"}.bi-grid-3x2-gap-fill:before{content:"\f3f5"}.bi-grid-3x2-gap:before{content:"\f3f6"}.bi-grid-3x2:before{content:"\f3f7"}.bi-grid-3x3-gap-fill:before{content:"\f3f8"}.bi-grid-3x3-gap:before{content:"\f3f9"}.bi-grid-3x3:before{content:"\f3fa"}.bi-grid-fill:before{content:"\f3fb"}.bi-grid:before{content:"\f3fc"}.bi-grip-horizontal:before{content:"\f3fd"}.bi-grip-vertical:before{content:"\f3fe"}.bi-hammer:before{content:"\f3ff"}.bi-hand-index-fill:before{content:"\f400"}.bi-hand-index-thumb-fill:before{content:"\f401"}.bi-hand-index-thumb:before{content:"\f402"}.bi-hand-index:before{content:"\f403"}.bi-hand-thumbs-down-fill:before{content:"\f404"}.bi-hand-thumbs-down:before{content:"\f405"}.bi-hand-thumbs-up-fill:before{content:"\f406"}.bi-hand-thumbs-up:before{content:"\f407"}.bi-handbag-fill:before{content:"\f408"}.bi-handbag:before{content:"\f409"}.bi-hash:before{content:"\f40a"}.bi-hdd-fill:before{content:"\f40b"}.bi-hdd-network-fill:before{content:"\f40c"}.bi-hdd-network:before{content:"\f40d"}.bi-hdd-rack-fill:before{content:"\f40e"}.bi-hdd-rack:before{content:"\f40f"}.bi-hdd-stack-fill:before{content:"\f410"}.bi-hdd-stack:before{content:"\f411"}.bi-hdd:before{content:"\f412"}.bi-headphones:before{content:"\f413"}.bi-headset:before{content:"\f414"}.bi-heart-fill:before{content:"\f415"}.bi-heart-half:before{content:"\f416"}.bi-heart:before{content:"\f417"}.bi-heptagon-fill:before{content:"\f418"}.bi-heptagon-half:before{content:"\f419"}.bi-heptagon:before{content:"\f41a"}.bi-hexagon-fill:before{content:"\f41b"}.bi-hexagon-half:before{content:"\f41c"}.bi-hexagon:before{content:"\f41d"}.bi-hourglass-bottom:before{content:"\f41e"}.bi-hourglass-split:before{content:"\f41f"}.bi-hourglass-top:before{content:"\f420"}.bi-hourglass:before{content:"\f421"}.bi-house-door-fill:before{content:"\f422"}.bi-house-door:before{content:"\f423"}.bi-house-fill:before{content:"\f424"}.bi-house:before{content:"\f425"}.bi-hr:before{content:"\f426"}.bi-hurricane:before{content:"\f427"}.bi-image-alt:before{content:"\f428"}.bi-image-fill:before{content:"\f429"}.bi-image:before{content:"\f42a"}.bi-images:before{content:"\f42b"}.bi-inbox-fill:before{content:"\f42c"}.bi-inbox:before{content:"\f42d"}.bi-inboxes-fill:before{content:"\f42e"}.bi-inboxes:before{content:"\f42f"}.bi-info-circle-fill:before{content:"\f430"}.bi-info-circle:before{content:"\f431"}.bi-info-square-fill:before{content:"\f432"}.bi-info-square:before{content:"\f433"}.bi-info:before{content:"\f434"}.bi-input-cursor-text:before{content:"\f435"}.bi-input-cursor:before{content:"\f436"}.bi-instagram:before{content:"\f437"}.bi-intersect:before{content:"\f438"}.bi-journal-album:before{content:"\f439"}.bi-journal-arrow-down:before{content:"\f43a"}.bi-journal-arrow-up:before{content:"\f43b"}.bi-journal-bookmark-fill:before{content:"\f43c"}.bi-journal-bookmark:before{content:"\f43d"}.bi-journal-check:before{content:"\f43e"}.bi-journal-code:before{content:"\f43f"}.bi-journal-medical:before{content:"\f440"}.bi-journal-minus:before{content:"\f441"}.bi-journal-plus:before{content:"\f442"}.bi-journal-richtext:before{content:"\f443"}.bi-journal-text:before{content:"\f444"}.bi-journal-x:before{content:"\f445"}.bi-journal:before{content:"\f446"}.bi-journals:before{content:"\f447"}.bi-joystick:before{content:"\f448"}.bi-justify-left:before{content:"\f449"}.bi-justify-right:before{content:"\f44a"}.bi-justify:before{content:"\f44b"}.bi-kanban-fill:before{content:"\f44c"}.bi-kanban:before{content:"\f44d"}.bi-key-fill:before{content:"\f44e"}.bi-key:before{content:"\f44f"}.bi-keyboard-fill:before{content:"\f450"}.bi-keyboard:before{content:"\f451"}.bi-ladder:before{content:"\f452"}.bi-lamp-fill:before{content:"\f453"}.bi-lamp:before{content:"\f454"}.bi-laptop-fill:before{content:"\f455"}.bi-laptop:before{content:"\f456"}.bi-layer-backward:before{content:"\f457"}.bi-layer-forward:before{content:"\f458"}.bi-layers-fill:before{content:"\f459"}.bi-layers-half:before{content:"\f45a"}.bi-layers:before{content:"\f45b"}.bi-layout-sidebar-inset-reverse:before{content:"\f45c"}.bi-layout-sidebar-inset:before{content:"\f45d"}.bi-layout-sidebar-reverse:before{content:"\f45e"}.bi-layout-sidebar:before{content:"\f45f"}.bi-layout-split:before{content:"\f460"}.bi-layout-text-sidebar-reverse:before{content:"\f461"}.bi-layout-text-sidebar:before{content:"\f462"}.bi-layout-text-window-reverse:before{content:"\f463"}.bi-layout-text-window:before{content:"\f464"}.bi-layout-three-columns:before{content:"\f465"}.bi-layout-wtf:before{content:"\f466"}.bi-life-preserver:before{content:"\f467"}.bi-lightbulb-fill:before{content:"\f468"}.bi-lightbulb-off-fill:before{content:"\f469"}.bi-lightbulb-off:before{content:"\f46a"}.bi-lightbulb:before{content:"\f46b"}.bi-lightning-charge-fill:before{content:"\f46c"}.bi-lightning-charge:before{content:"\f46d"}.bi-lightning-fill:before{content:"\f46e"}.bi-lightning:before{content:"\f46f"}.bi-link-45deg:before{content:"\f470"}.bi-link:before{content:"\f471"}.bi-linkedin:before{content:"\f472"}.bi-list-check:before{content:"\f473"}.bi-list-nested:before{content:"\f474"}.bi-list-ol:before{content:"\f475"}.bi-list-stars:before{content:"\f476"}.bi-list-task:before{content:"\f477"}.bi-list-ul:before{content:"\f478"}.bi-list:before{content:"\f479"}.bi-lock-fill:before{content:"\f47a"}.bi-lock:before{content:"\f47b"}.bi-mailbox:before{content:"\f47c"}.bi-mailbox2:before{content:"\f47d"}.bi-map-fill:before{content:"\f47e"}.bi-map:before{content:"\f47f"}.bi-markdown-fill:before{content:"\f480"}.bi-markdown:before{content:"\f481"}.bi-mask:before{content:"\f482"}.bi-megaphone-fill:before{content:"\f483"}.bi-megaphone:before{content:"\f484"}.bi-menu-app-fill:before{content:"\f485"}.bi-menu-app:before{content:"\f486"}.bi-menu-button-fill:before{content:"\f487"}.bi-menu-button-wide-fill:before{content:"\f488"}.bi-menu-button-wide:before{content:"\f489"}.bi-menu-button:before{content:"\f48a"}.bi-menu-down:before{content:"\f48b"}.bi-menu-up:before{content:"\f48c"}.bi-mic-fill:before{content:"\f48d"}.bi-mic-mute-fill:before{content:"\f48e"}.bi-mic-mute:before{content:"\f48f"}.bi-mic:before{content:"\f490"}.bi-minecart-loaded:before{content:"\f491"}.bi-minecart:before{content:"\f492"}.bi-moisture:before{content:"\f493"}.bi-moon-fill:before{content:"\f494"}.bi-moon-stars-fill:before{content:"\f495"}.bi-moon-stars:before{content:"\f496"}.bi-moon:before{content:"\f497"}.bi-mouse-fill:before{content:"\f498"}.bi-mouse:before{content:"\f499"}.bi-mouse2-fill:before{content:"\f49a"}.bi-mouse2:before{content:"\f49b"}.bi-mouse3-fill:before{content:"\f49c"}.bi-mouse3:before{content:"\f49d"}.bi-music-note-beamed:before{content:"\f49e"}.bi-music-note-list:before{content:"\f49f"}.bi-music-note:before{content:"\f4a0"}.bi-music-player-fill:before{content:"\f4a1"}.bi-music-player:before{content:"\f4a2"}.bi-newspaper:before{content:"\f4a3"}.bi-node-minus-fill:before{content:"\f4a4"}.bi-node-minus:before{content:"\f4a5"}.bi-node-plus-fill:before{content:"\f4a6"}.bi-node-plus:before{content:"\f4a7"}.bi-nut-fill:before{content:"\f4a8"}.bi-nut:before{content:"\f4a9"}.bi-octagon-fill:before{content:"\f4aa"}.bi-octagon-half:before{content:"\f4ab"}.bi-octagon:before{content:"\f4ac"}.bi-option:before{content:"\f4ad"}.bi-outlet:before{content:"\f4ae"}.bi-paint-bucket:before{content:"\f4af"}.bi-palette-fill:before{content:"\f4b0"}.bi-palette:before{content:"\f4b1"}.bi-palette2:before{content:"\f4b2"}.bi-paperclip:before{content:"\f4b3"}.bi-paragraph:before{content:"\f4b4"}.bi-patch-check-fill:before{content:"\f4b5"}.bi-patch-check:before{content:"\f4b6"}.bi-patch-exclamation-fill:before{content:"\f4b7"}.bi-patch-exclamation:before{content:"\f4b8"}.bi-patch-minus-fill:before{content:"\f4b9"}.bi-patch-minus:before{content:"\f4ba"}.bi-patch-plus-fill:before{content:"\f4bb"}.bi-patch-plus:before{content:"\f4bc"}.bi-patch-question-fill:before{content:"\f4bd"}.bi-patch-question:before{content:"\f4be"}.bi-pause-btn-fill:before{content:"\f4bf"}.bi-pause-btn:before{content:"\f4c0"}.bi-pause-circle-fill:before{content:"\f4c1"}.bi-pause-circle:before{content:"\f4c2"}.bi-pause-fill:before{content:"\f4c3"}.bi-pause:before{content:"\f4c4"}.bi-peace-fill:before{content:"\f4c5"}.bi-peace:before{content:"\f4c6"}.bi-pen-fill:before{content:"\f4c7"}.bi-pen:before{content:"\f4c8"}.bi-pencil-fill:before{content:"\f4c9"}.bi-pencil-square:before{content:"\f4ca"}.bi-pencil:before{content:"\f4cb"}.bi-pentagon-fill:before{content:"\f4cc"}.bi-pentagon-half:before{content:"\f4cd"}.bi-pentagon:before{content:"\f4ce"}.bi-people-fill:before{content:"\f4cf"}.bi-people:before{content:"\f4d0"}.bi-percent:before{content:"\f4d1"}.bi-person-badge-fill:before{content:"\f4d2"}.bi-person-badge:before{content:"\f4d3"}.bi-person-bounding-box:before{content:"\f4d4"}.bi-person-check-fill:before{content:"\f4d5"}.bi-person-check:before{content:"\f4d6"}.bi-person-circle:before{content:"\f4d7"}.bi-person-dash-fill:before{content:"\f4d8"}.bi-person-dash:before{content:"\f4d9"}.bi-person-fill:before{content:"\f4da"}.bi-person-lines-fill:before{content:"\f4db"}.bi-person-plus-fill:before{content:"\f4dc"}.bi-person-plus:before{content:"\f4dd"}.bi-person-square:before{content:"\f4de"}.bi-person-x-fill:before{content:"\f4df"}.bi-person-x:before{content:"\f4e0"}.bi-person:before{content:"\f4e1"}.bi-phone-fill:before{content:"\f4e2"}.bi-phone-landscape-fill:before{content:"\f4e3"}.bi-phone-landscape:before{content:"\f4e4"}.bi-phone-vibrate-fill:before{content:"\f4e5"}.bi-phone-vibrate:before{content:"\f4e6"}.bi-phone:before{content:"\f4e7"}.bi-pie-chart-fill:before{content:"\f4e8"}.bi-pie-chart:before{content:"\f4e9"}.bi-pin-angle-fill:before{content:"\f4ea"}.bi-pin-angle:before{content:"\f4eb"}.bi-pin-fill:before{content:"\f4ec"}.bi-pin:before{content:"\f4ed"}.bi-pip-fill:before{content:"\f4ee"}.bi-pip:before{content:"\f4ef"}.bi-play-btn-fill:before{content:"\f4f0"}.bi-play-btn:before{content:"\f4f1"}.bi-play-circle-fill:before{content:"\f4f2"}.bi-play-circle:before{content:"\f4f3"}.bi-play-fill:before{content:"\f4f4"}.bi-play:before{content:"\f4f5"}.bi-plug-fill:before{content:"\f4f6"}.bi-plug:before{content:"\f4f7"}.bi-plus-circle-dotted:before{content:"\f4f8"}.bi-plus-circle-fill:before{content:"\f4f9"}.bi-plus-circle:before{content:"\f4fa"}.bi-plus-square-dotted:before{content:"\f4fb"}.bi-plus-square-fill:before{content:"\f4fc"}.bi-plus-square:before{content:"\f4fd"}.bi-plus:before{content:"\f4fe"}.bi-power:before{content:"\f4ff"}.bi-printer-fill:before{content:"\f500"}.bi-printer:before{content:"\f501"}.bi-puzzle-fill:before{content:"\f502"}.bi-puzzle:before{content:"\f503"}.bi-question-circle-fill:before{content:"\f504"}.bi-question-circle:before{content:"\f505"}.bi-question-diamond-fill:before{content:"\f506"}.bi-question-diamond:before{content:"\f507"}.bi-question-octagon-fill:before{content:"\f508"}.bi-question-octagon:before{content:"\f509"}.bi-question-square-fill:before{content:"\f50a"}.bi-question-square:before{content:"\f50b"}.bi-question:before{content:"\f50c"}.bi-rainbow:before{content:"\f50d"}.bi-receipt-cutoff:before{content:"\f50e"}.bi-receipt:before{content:"\f50f"}.bi-reception-0:before{content:"\f510"}.bi-reception-1:before{content:"\f511"}.bi-reception-2:before{content:"\f512"}.bi-reception-3:before{content:"\f513"}.bi-reception-4:before{content:"\f514"}.bi-record-btn-fill:before{content:"\f515"}.bi-record-btn:before{content:"\f516"}.bi-record-circle-fill:before{content:"\f517"}.bi-record-circle:before{content:"\f518"}.bi-record-fill:before{content:"\f519"}.bi-record:before{content:"\f51a"}.bi-record2-fill:before{content:"\f51b"}.bi-record2:before{content:"\f51c"}.bi-reply-all-fill:before{content:"\f51d"}.bi-reply-all:before{content:"\f51e"}.bi-reply-fill:before{content:"\f51f"}.bi-reply:before{content:"\f520"}.bi-rss-fill:before{content:"\f521"}.bi-rss:before{content:"\f522"}.bi-rulers:before{content:"\f523"}.bi-save-fill:before{content:"\f524"}.bi-save:before{content:"\f525"}.bi-save2-fill:before{content:"\f526"}.bi-save2:before{content:"\f527"}.bi-scissors:before{content:"\f528"}.bi-screwdriver:before{content:"\f529"}.bi-search:before{content:"\f52a"}.bi-segmented-nav:before{content:"\f52b"}.bi-server:before{content:"\f52c"}.bi-share-fill:before{content:"\f52d"}.bi-share:before{content:"\f52e"}.bi-shield-check:before{content:"\f52f"}.bi-shield-exclamation:before{content:"\f530"}.bi-shield-fill-check:before{content:"\f531"}.bi-shield-fill-exclamation:before{content:"\f532"}.bi-shield-fill-minus:before{content:"\f533"}.bi-shield-fill-plus:before{content:"\f534"}.bi-shield-fill-x:before{content:"\f535"}.bi-shield-fill:before{content:"\f536"}.bi-shield-lock-fill:before{content:"\f537"}.bi-shield-lock:before{content:"\f538"}.bi-shield-minus:before{content:"\f539"}.bi-shield-plus:before{content:"\f53a"}.bi-shield-shaded:before{content:"\f53b"}.bi-shield-slash-fill:before{content:"\f53c"}.bi-shield-slash:before{content:"\f53d"}.bi-shield-x:before{content:"\f53e"}.bi-shield:before{content:"\f53f"}.bi-shift-fill:before{content:"\f540"}.bi-shift:before{content:"\f541"}.bi-shop-window:before{content:"\f542"}.bi-shop:before{content:"\f543"}.bi-shuffle:before{content:"\f544"}.bi-signpost-2-fill:before{content:"\f545"}.bi-signpost-2:before{content:"\f546"}.bi-signpost-fill:before{content:"\f547"}.bi-signpost-split-fill:before{content:"\f548"}.bi-signpost-split:before{content:"\f549"}.bi-signpost:before{content:"\f54a"}.bi-sim-fill:before{content:"\f54b"}.bi-sim:before{content:"\f54c"}.bi-skip-backward-btn-fill:before{content:"\f54d"}.bi-skip-backward-btn:before{content:"\f54e"}.bi-skip-backward-circle-fill:before{content:"\f54f"}.bi-skip-backward-circle:before{content:"\f550"}.bi-skip-backward-fill:before{content:"\f551"}.bi-skip-backward:before{content:"\f552"}.bi-skip-end-btn-fill:before{content:"\f553"}.bi-skip-end-btn:before{content:"\f554"}.bi-skip-end-circle-fill:before{content:"\f555"}.bi-skip-end-circle:before{content:"\f556"}.bi-skip-end-fill:before{content:"\f557"}.bi-skip-end:before{content:"\f558"}.bi-skip-forward-btn-fill:before{content:"\f559"}.bi-skip-forward-btn:before{content:"\f55a"}.bi-skip-forward-circle-fill:before{content:"\f55b"}.bi-skip-forward-circle:before{content:"\f55c"}.bi-skip-forward-fill:before{content:"\f55d"}.bi-skip-forward:before{content:"\f55e"}.bi-skip-start-btn-fill:before{content:"\f55f"}.bi-skip-start-btn:before{content:"\f560"}.bi-skip-start-circle-fill:before{content:"\f561"}.bi-skip-start-circle:before{content:"\f562"}.bi-skip-start-fill:before{content:"\f563"}.bi-skip-start:before{content:"\f564"}.bi-slack:before{content:"\f565"}.bi-slash-circle-fill:before{content:"\f566"}.bi-slash-circle:before{content:"\f567"}.bi-slash-square-fill:before{content:"\f568"}.bi-slash-square:before{content:"\f569"}.bi-slash:before{content:"\f56a"}.bi-sliders:before{content:"\f56b"}.bi-smartwatch:before{content:"\f56c"}.bi-snow:before{content:"\f56d"}.bi-snow2:before{content:"\f56e"}.bi-snow3:before{content:"\f56f"}.bi-sort-alpha-down-alt:before{content:"\f570"}.bi-sort-alpha-down:before{content:"\f571"}.bi-sort-alpha-up-alt:before{content:"\f572"}.bi-sort-alpha-up:before{content:"\f573"}.bi-sort-down-alt:before{content:"\f574"}.bi-sort-down:before{content:"\f575"}.bi-sort-numeric-down-alt:before{content:"\f576"}.bi-sort-numeric-down:before{content:"\f577"}.bi-sort-numeric-up-alt:before{content:"\f578"}.bi-sort-numeric-up:before{content:"\f579"}.bi-sort-up-alt:before{content:"\f57a"}.bi-sort-up:before{content:"\f57b"}.bi-soundwave:before{content:"\f57c"}.bi-speaker-fill:before{content:"\f57d"}.bi-speaker:before{content:"\f57e"}.bi-speedometer:before{content:"\f57f"}.bi-speedometer2:before{content:"\f580"}.bi-spellcheck:before{content:"\f581"}.bi-square-fill:before{content:"\f582"}.bi-square-half:before{content:"\f583"}.bi-square:before{content:"\f584"}.bi-stack:before{content:"\f585"}.bi-star-fill:before{content:"\f586"}.bi-star-half:before{content:"\f587"}.bi-star:before{content:"\f588"}.bi-stars:before{content:"\f589"}.bi-stickies-fill:before{content:"\f58a"}.bi-stickies:before{content:"\f58b"}.bi-sticky-fill:before{content:"\f58c"}.bi-sticky:before{content:"\f58d"}.bi-stop-btn-fill:before{content:"\f58e"}.bi-stop-btn:before{content:"\f58f"}.bi-stop-circle-fill:before{content:"\f590"}.bi-stop-circle:before{content:"\f591"}.bi-stop-fill:before{content:"\f592"}.bi-stop:before{content:"\f593"}.bi-stoplights-fill:before{content:"\f594"}.bi-stoplights:before{content:"\f595"}.bi-stopwatch-fill:before{content:"\f596"}.bi-stopwatch:before{content:"\f597"}.bi-subtract:before{content:"\f598"}.bi-suit-club-fill:before{content:"\f599"}.bi-suit-club:before{content:"\f59a"}.bi-suit-diamond-fill:before{content:"\f59b"}.bi-suit-diamond:before{content:"\f59c"}.bi-suit-heart-fill:before{content:"\f59d"}.bi-suit-heart:before{content:"\f59e"}.bi-suit-spade-fill:before{content:"\f59f"}.bi-suit-spade:before{content:"\f5a0"}.bi-sun-fill:before{content:"\f5a1"}.bi-sun:before{content:"\f5a2"}.bi-sunglasses:before{content:"\f5a3"}.bi-sunrise-fill:before{content:"\f5a4"}.bi-sunrise:before{content:"\f5a5"}.bi-sunset-fill:before{content:"\f5a6"}.bi-sunset:before{content:"\f5a7"}.bi-symmetry-horizontal:before{content:"\f5a8"}.bi-symmetry-vertical:before{content:"\f5a9"}.bi-table:before{content:"\f5aa"}.bi-tablet-fill:before{content:"\f5ab"}.bi-tablet-landscape-fill:before{content:"\f5ac"}.bi-tablet-landscape:before{content:"\f5ad"}.bi-tablet:before{content:"\f5ae"}.bi-tag-fill:before{content:"\f5af"}.bi-tag:before{content:"\f5b0"}.bi-tags-fill:before{content:"\f5b1"}.bi-tags:before{content:"\f5b2"}.bi-telegram:before{content:"\f5b3"}.bi-telephone-fill:before{content:"\f5b4"}.bi-telephone-forward-fill:before{content:"\f5b5"}.bi-telephone-forward:before{content:"\f5b6"}.bi-telephone-inbound-fill:before{content:"\f5b7"}.bi-telephone-inbound:before{content:"\f5b8"}.bi-telephone-minus-fill:before{content:"\f5b9"}.bi-telephone-minus:before{content:"\f5ba"}.bi-telephone-outbound-fill:before{content:"\f5bb"}.bi-telephone-outbound:before{content:"\f5bc"}.bi-telephone-plus-fill:before{content:"\f5bd"}.bi-telephone-plus:before{content:"\f5be"}.bi-telephone-x-fill:before{content:"\f5bf"}.bi-telephone-x:before{content:"\f5c0"}.bi-telephone:before{content:"\f5c1"}.bi-terminal-fill:before{content:"\f5c2"}.bi-terminal:before{content:"\f5c3"}.bi-text-center:before{content:"\f5c4"}.bi-text-indent-left:before{content:"\f5c5"}.bi-text-indent-right:before{content:"\f5c6"}.bi-text-left:before{content:"\f5c7"}.bi-text-paragraph:before{content:"\f5c8"}.bi-text-right:before{content:"\f5c9"}.bi-textarea-resize:before{content:"\f5ca"}.bi-textarea-t:before{content:"\f5cb"}.bi-textarea:before{content:"\f5cc"}.bi-thermometer-half:before{content:"\f5cd"}.bi-thermometer-high:before{content:"\f5ce"}.bi-thermometer-low:before{content:"\f5cf"}.bi-thermometer-snow:before{content:"\f5d0"}.bi-thermometer-sun:before{content:"\f5d1"}.bi-thermometer:before{content:"\f5d2"}.bi-three-dots-vertical:before{content:"\f5d3"}.bi-three-dots:before{content:"\f5d4"}.bi-toggle-off:before{content:"\f5d5"}.bi-toggle-on:before{content:"\f5d6"}.bi-toggle2-off:before{content:"\f5d7"}.bi-toggle2-on:before{content:"\f5d8"}.bi-toggles:before{content:"\f5d9"}.bi-toggles2:before{content:"\f5da"}.bi-tools:before{content:"\f5db"}.bi-tornado:before{content:"\f5dc"}.bi-trash-fill:before{content:"\f5dd"}.bi-trash:before{content:"\f5de"}.bi-trash2-fill:before{content:"\f5df"}.bi-trash2:before{content:"\f5e0"}.bi-tree-fill:before{content:"\f5e1"}.bi-tree:before{content:"\f5e2"}.bi-triangle-fill:before{content:"\f5e3"}.bi-triangle-half:before{content:"\f5e4"}.bi-triangle:before{content:"\f5e5"}.bi-trophy-fill:before{content:"\f5e6"}.bi-trophy:before{content:"\f5e7"}.bi-tropical-storm:before{content:"\f5e8"}.bi-truck-flatbed:before{content:"\f5e9"}.bi-truck:before{content:"\f5ea"}.bi-tsunami:before{content:"\f5eb"}.bi-tv-fill:before{content:"\f5ec"}.bi-tv:before{content:"\f5ed"}.bi-twitch:before{content:"\f5ee"}.bi-twitter:before{content:"\f5ef"}.bi-type-bold:before{content:"\f5f0"}.bi-type-h1:before{content:"\f5f1"}.bi-type-h2:before{content:"\f5f2"}.bi-type-h3:before{content:"\f5f3"}.bi-type-italic:before{content:"\f5f4"}.bi-type-strikethrough:before{content:"\f5f5"}.bi-type-underline:before{content:"\f5f6"}.bi-type:before{content:"\f5f7"}.bi-ui-checks-grid:before{content:"\f5f8"}.bi-ui-checks:before{content:"\f5f9"}.bi-ui-radios-grid:before{content:"\f5fa"}.bi-ui-radios:before{content:"\f5fb"}.bi-umbrella-fill:before{content:"\f5fc"}.bi-umbrella:before{content:"\f5fd"}.bi-union:before{content:"\f5fe"}.bi-unlock-fill:before{content:"\f5ff"}.bi-unlock:before{content:"\f600"}.bi-upc-scan:before{content:"\f601"}.bi-upc:before{content:"\f602"}.bi-upload:before{content:"\f603"}.bi-vector-pen:before{content:"\f604"}.bi-view-list:before{content:"\f605"}.bi-view-stacked:before{content:"\f606"}.bi-vinyl-fill:before{content:"\f607"}.bi-vinyl:before{content:"\f608"}.bi-voicemail:before{content:"\f609"}.bi-volume-down-fill:before{content:"\f60a"}.bi-volume-down:before{content:"\f60b"}.bi-volume-mute-fill:before{content:"\f60c"}.bi-volume-mute:before{content:"\f60d"}.bi-volume-off-fill:before{content:"\f60e"}.bi-volume-off:before{content:"\f60f"}.bi-volume-up-fill:before{content:"\f610"}.bi-volume-up:before{content:"\f611"}.bi-vr:before{content:"\f612"}.bi-wallet-fill:before{content:"\f613"}.bi-wallet:before{content:"\f614"}.bi-wallet2:before{content:"\f615"}.bi-watch:before{content:"\f616"}.bi-water:before{content:"\f617"}.bi-whatsapp:before{content:"\f618"}.bi-wifi-1:before{content:"\f619"}.bi-wifi-2:before{content:"\f61a"}.bi-wifi-off:before{content:"\f61b"}.bi-wifi:before{content:"\f61c"}.bi-wind:before{content:"\f61d"}.bi-window-dock:before{content:"\f61e"}.bi-window-sidebar:before{content:"\f61f"}.bi-window:before{content:"\f620"}.bi-wrench:before{content:"\f621"}.bi-x-circle-fill:before{content:"\f622"}.bi-x-circle:before{content:"\f623"}.bi-x-diamond-fill:before{content:"\f624"}.bi-x-diamond:before{content:"\f625"}.bi-x-octagon-fill:before{content:"\f626"}.bi-x-octagon:before{content:"\f627"}.bi-x-square-fill:before{content:"\f628"}.bi-x-square:before{content:"\f629"}.bi-x:before{content:"\f62a"}.bi-youtube:before{content:"\f62b"}.bi-zoom-in:before{content:"\f62c"}.bi-zoom-out:before{content:"\f62d"}.bi-bank:before{content:"\f62e"}.bi-bank2:before{content:"\f62f"}.bi-bell-slash-fill:before{content:"\f630"}.bi-bell-slash:before{content:"\f631"}.bi-cash-coin:before{content:"\f632"}.bi-check-lg:before{content:"\f633"}.bi-coin:before{content:"\f634"}.bi-currency-bitcoin:before{content:"\f635"}.bi-currency-dollar:before{content:"\f636"}.bi-currency-euro:before{content:"\f637"}.bi-currency-exchange:before{content:"\f638"}.bi-currency-pound:before{content:"\f639"}.bi-currency-yen:before{content:"\f63a"}.bi-dash-lg:before{content:"\f63b"}.bi-exclamation-lg:before{content:"\f63c"}.bi-file-earmark-pdf-fill:before{content:"\f63d"}.bi-file-earmark-pdf:before{content:"\f63e"}.bi-file-pdf-fill:before{content:"\f63f"}.bi-file-pdf:before{content:"\f640"}.bi-gender-ambiguous:before{content:"\f641"}.bi-gender-female:before{content:"\f642"}.bi-gender-male:before{content:"\f643"}.bi-gender-trans:before{content:"\f644"}.bi-headset-vr:before{content:"\f645"}.bi-info-lg:before{content:"\f646"}.bi-mastodon:before{content:"\f647"}.bi-messenger:before{content:"\f648"}.bi-piggy-bank-fill:before{content:"\f649"}.bi-piggy-bank:before{content:"\f64a"}.bi-pin-map-fill:before{content:"\f64b"}.bi-pin-map:before{content:"\f64c"}.bi-plus-lg:before{content:"\f64d"}.bi-question-lg:before{content:"\f64e"}.bi-recycle:before{content:"\f64f"}.bi-reddit:before{content:"\f650"}.bi-safe-fill:before{content:"\f651"}.bi-safe2-fill:before{content:"\f652"}.bi-safe2:before{content:"\f653"}.bi-sd-card-fill:before{content:"\f654"}.bi-sd-card:before{content:"\f655"}.bi-skype:before{content:"\f656"}.bi-slash-lg:before{content:"\f657"}.bi-translate:before{content:"\f658"}.bi-x-lg:before{content:"\f659"}.bi-safe:before{content:"\f65a"}.bi-apple:before{content:"\f65b"}.bi-microsoft:before{content:"\f65d"}.bi-windows:before{content:"\f65e"}.bi-behance:before{content:"\f65c"}.bi-dribbble:before{content:"\f65f"}.bi-line:before{content:"\f660"}.bi-medium:before{content:"\f661"}.bi-paypal:before{content:"\f662"}.bi-pinterest:before{content:"\f663"}.bi-signal:before{content:"\f664"}.bi-snapchat:before{content:"\f665"}.bi-spotify:before{content:"\f666"}.bi-stack-overflow:before{content:"\f667"}.bi-strava:before{content:"\f668"}.bi-wordpress:before{content:"\f669"}.bi-vimeo:before{content:"\f66a"}.bi-activity:before{content:"\f66b"}.bi-easel2-fill:before{content:"\f66c"}.bi-easel2:before{content:"\f66d"}.bi-easel3-fill:before{content:"\f66e"}.bi-easel3:before{content:"\f66f"}.bi-fan:before{content:"\f670"}.bi-fingerprint:before{content:"\f671"}.bi-graph-down-arrow:before{content:"\f672"}.bi-graph-up-arrow:before{content:"\f673"}.bi-hypnotize:before{content:"\f674"}.bi-magic:before{content:"\f675"}.bi-person-rolodex:before{content:"\f676"}.bi-person-video:before{content:"\f677"}.bi-person-video2:before{content:"\f678"}.bi-person-video3:before{content:"\f679"}.bi-person-workspace:before{content:"\f67a"}.bi-radioactive:before{content:"\f67b"}.bi-webcam-fill:before{content:"\f67c"}.bi-webcam:before{content:"\f67d"}.bi-yin-yang:before{content:"\f67e"}.bi-bandaid-fill:before{content:"\f680"}.bi-bandaid:before{content:"\f681"}.bi-bluetooth:before{content:"\f682"}.bi-body-text:before{content:"\f683"}.bi-boombox:before{content:"\f684"}.bi-boxes:before{content:"\f685"}.bi-dpad-fill:before{content:"\f686"}.bi-dpad:before{content:"\f687"}.bi-ear-fill:before{content:"\f688"}.bi-ear:before{content:"\f689"}.bi-envelope-check-1:before{content:"\f68a"}.bi-envelope-check-fill:before{content:"\f68b"}.bi-envelope-check:before{content:"\f68c"}.bi-envelope-dash-1:before{content:"\f68d"}.bi-envelope-dash-fill:before{content:"\f68e"}.bi-envelope-dash:before{content:"\f68f"}.bi-envelope-exclamation-1:before{content:"\f690"}.bi-envelope-exclamation-fill:before{content:"\f691"}.bi-envelope-exclamation:before{content:"\f692"}.bi-envelope-plus-fill:before{content:"\f693"}.bi-envelope-plus:before{content:"\f694"}.bi-envelope-slash-1:before{content:"\f695"}.bi-envelope-slash-fill:before{content:"\f696"}.bi-envelope-slash:before{content:"\f697"}.bi-envelope-x-1:before{content:"\f698"}.bi-envelope-x-fill:before{content:"\f699"}.bi-envelope-x:before{content:"\f69a"}.bi-explicit-fill:before{content:"\f69b"}.bi-explicit:before{content:"\f69c"}.bi-git:before{content:"\f69d"}.bi-infinity:before{content:"\f69e"}.bi-list-columns-reverse:before{content:"\f69f"}.bi-list-columns:before{content:"\f6a0"}.bi-meta:before{content:"\f6a1"}.bi-mortorboard-fill:before{content:"\f6a2"}.bi-mortorboard:before{content:"\f6a3"}.bi-nintendo-switch:before{content:"\f6a4"}.bi-pc-display-horizontal:before{content:"\f6a5"}.bi-pc-display:before{content:"\f6a6"}.bi-pc-horizontal:before{content:"\f6a7"}.bi-pc:before{content:"\f6a8"}.bi-playstation:before{content:"\f6a9"}.bi-plus-slash-minus:before{content:"\f6aa"}.bi-projector-fill:before{content:"\f6ab"}.bi-projector:before{content:"\f6ac"}.bi-qr-code-scan:before{content:"\f6ad"}.bi-qr-code:before{content:"\f6ae"}.bi-quora:before{content:"\f6af"}.bi-quote:before{content:"\f6b0"}.bi-robot:before{content:"\f6b1"}.bi-send-check-fill:before{content:"\f6b2"}.bi-send-check:before{content:"\f6b3"}.bi-send-dash-fill:before{content:"\f6b4"}.bi-send-dash:before{content:"\f6b5"}.bi-send-exclamation-1:before{content:"\f6b6"}.bi-send-exclamation-fill:before{content:"\f6b7"}.bi-send-exclamation:before{content:"\f6b8"}.bi-send-fill:before{content:"\f6b9"}.bi-send-plus-fill:before{content:"\f6ba"}.bi-send-plus:before{content:"\f6bb"}.bi-send-slash-fill:before{content:"\f6bc"}.bi-send-slash:before{content:"\f6bd"}.bi-send-x-fill:before{content:"\f6be"}.bi-send-x:before{content:"\f6bf"}.bi-send:before{content:"\f6c0"}.bi-steam:before{content:"\f6c1"}.bi-terminal-dash-1:before{content:"\f6c2"}.bi-terminal-dash:before{content:"\f6c3"}.bi-terminal-plus:before{content:"\f6c4"}.bi-terminal-split:before{content:"\f6c5"}.bi-ticket-detailed-fill:before{content:"\f6c6"}.bi-ticket-detailed:before{content:"\f6c7"}.bi-ticket-fill:before{content:"\f6c8"}.bi-ticket-perforated-fill:before{content:"\f6c9"}.bi-ticket-perforated:before{content:"\f6ca"}.bi-ticket:before{content:"\f6cb"}.bi-tiktok:before{content:"\f6cc"}.bi-window-dash:before{content:"\f6cd"}.bi-window-desktop:before{content:"\f6ce"}.bi-window-fullscreen:before{content:"\f6cf"}.bi-window-plus:before{content:"\f6d0"}.bi-window-split:before{content:"\f6d1"}.bi-window-stack:before{content:"\f6d2"}.bi-window-x:before{content:"\f6d3"}.bi-xbox:before{content:"\f6d4"}.bi-ethernet:before{content:"\f6d5"}.bi-hdmi-fill:before{content:"\f6d6"}.bi-hdmi:before{content:"\f6d7"}.bi-usb-c-fill:before{content:"\f6d8"}.bi-usb-c:before{content:"\f6d9"}.bi-usb-fill:before{content:"\f6da"}.bi-usb-plug-fill:before{content:"\f6db"}.bi-usb-plug:before{content:"\f6dc"}.bi-usb-symbol:before{content:"\f6dd"}.bi-usb:before{content:"\f6de"}.bi-boombox-fill:before{content:"\f6df"}.bi-displayport-1:before{content:"\f6e0"}.bi-displayport:before{content:"\f6e1"}.bi-gpu-card:before{content:"\f6e2"}.bi-memory:before{content:"\f6e3"}.bi-modem-fill:before{content:"\f6e4"}.bi-modem:before{content:"\f6e5"}.bi-motherboard-fill:before{content:"\f6e6"}.bi-motherboard:before{content:"\f6e7"}.bi-optical-audio-fill:before{content:"\f6e8"}.bi-optical-audio:before{content:"\f6e9"}.bi-pci-card:before{content:"\f6ea"}.bi-router-fill:before{content:"\f6eb"}.bi-router:before{content:"\f6ec"}.bi-ssd-fill:before{content:"\f6ed"}.bi-ssd:before{content:"\f6ee"}.bi-thunderbolt-fill:before{content:"\f6ef"}.bi-thunderbolt:before{content:"\f6f0"}.bi-usb-drive-fill:before{content:"\f6f1"}.bi-usb-drive:before{content:"\f6f2"}.bi-usb-micro-fill:before{content:"\f6f3"}.bi-usb-micro:before{content:"\f6f4"}.bi-usb-mini-fill:before{content:"\f6f5"}.bi-usb-mini:before{content:"\f6f6"}.bi-cloud-haze2:before{content:"\f6f7"}.bi-device-hdd-fill:before{content:"\f6f8"}.bi-device-hdd:before{content:"\f6f9"}.bi-device-ssd-fill:before{content:"\f6fa"}.bi-device-ssd:before{content:"\f6fb"}.bi-displayport-fill:before{content:"\f6fc"}.bi-mortarboard-fill:before{content:"\f6fd"}.bi-mortarboard:before{content:"\f6fe"}.bi-terminal-x:before{content:"\f6ff"} \ No newline at end of file diff --git a/old_version/utilities_option_menu/frontend/dist/fonts/bootstrap-icons.b0dc2193.woff b/old_version/utilities_option_menu/frontend/dist/fonts/bootstrap-icons.b0dc2193.woff deleted file mode 100644 index 1f5d54300bbf8cf484834938f323cc9e9ca6fc8d..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_option_menu/frontend/dist/fonts/bootstrap-icons.b0dc2193.woff and /dev/null differ diff --git a/old_version/utilities_option_menu/frontend/dist/fonts/bootstrap-icons.c5787b4a.woff2 b/old_version/utilities_option_menu/frontend/dist/fonts/bootstrap-icons.c5787b4a.woff2 deleted file mode 100644 index b3897eff0770d35ca75185352964f98f1140874d..0000000000000000000000000000000000000000 Binary files a/old_version/utilities_option_menu/frontend/dist/fonts/bootstrap-icons.c5787b4a.woff2 and /dev/null differ diff --git a/old_version/utilities_option_menu/frontend/dist/index.html b/old_version/utilities_option_menu/frontend/dist/index.html deleted file mode 100644 index 1f25a3b92d44127cd4dc8af30cbf93874232a477..0000000000000000000000000000000000000000 --- a/old_version/utilities_option_menu/frontend/dist/index.html +++ /dev/null @@ -1 +0,0 @@ -streamlit_component_template
\ No newline at end of file diff --git a/old_version/utilities_option_menu/frontend/dist/js/app.0d11cb9b.js b/old_version/utilities_option_menu/frontend/dist/js/app.0d11cb9b.js deleted file mode 100644 index e20534954620d7ca7e8e7a7d8639204fce247502..0000000000000000000000000000000000000000 --- a/old_version/utilities_option_menu/frontend/dist/js/app.0d11cb9b.js +++ /dev/null @@ -1,18 +0,0 @@ -(function(e){function t(t){for(var r,o,a=t[0],l=t[1],s=t[2],b=0,d=[];b\n\n\n\n\n\n","\n\n\n","/**\n * Vue.js specific composables\n */\nimport { onMounted, onUpdated } from \"vue\"\nimport { Streamlit } from \"streamlit-component-lib\"\n\nexport function useStreamlit() {\n /**\n * Optional Streamlit Vue-based setup.\n *\n * You are not required call this function on your Streamlit\n * component. If you decide not to call it, you should implement the\n * `onMounted` and `onUpdated` functions in your own component,\n * so that your plugin properly resizes.\n */\n\n onMounted((): void => {\n // After we're rendered for the first time, tell Streamlit that our height\n // has changed.\n Streamlit.setFrameHeight()\n })\n\n onUpdated((): void => {\n // After we're updated, tell Streamlit that our height may have changed.\n Streamlit.setFrameHeight()\n })\n}\n","import { render } from \"./MyComponent.vue?vue&type=template&id=4323f8ce&scoped=true\"\nimport script from \"./MyComponent.vue?vue&type=script&lang=js\"\nexport * from \"./MyComponent.vue?vue&type=script&lang=js\"\n\nimport \"./MyComponent.vue?vue&type=style&index=0&id=4323f8ce&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-4323f8ce\"\n\nexport default script","\n\n\n\n\n","\nimport {\n ref,\n defineComponent,\n onMounted,\n onUpdated,\n onUnmounted,\n onErrorCaptured,\n} from \"vue\"\nimport { Streamlit, RenderData } from \"streamlit-component-lib\"\n\nexport default defineComponent({\n name: \"WithStreamlitConnection\",\n setup() {\n const renderData = ref((undefined as unknown) as RenderData)\n const componentError = ref(\"\")\n\n const onRenderEvent = (event: Event): void => {\n const renderEvent = event as CustomEvent\n renderData.value = renderEvent.detail\n componentError.value = \"\"\n }\n\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n onMounted(() => {\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent)\n Streamlit.setComponentReady()\n })\n onUpdated(() => {\n // If our slot threw an error, we display it in render(). In this\n // case, the slot won't be mounted and therefore won't call\n // `setFrameHeight` on its own. We do it here so that the rendered\n // error will be visible.\n if (componentError.value != \"\") {\n Streamlit.setFrameHeight()\n }\n })\n onUnmounted(() => {\n Streamlit.events.removeEventListener(\n Streamlit.RENDER_EVENT,\n onRenderEvent\n )\n })\n onErrorCaptured(err => {\n componentError.value = String(err)\n })\n\n return {\n renderData,\n componentError,\n }\n },\n})\n","import { render } from \"./WithStreamlitConnection.vue?vue&type=template&id=bef81972&scoped=true\"\nimport script from \"./WithStreamlitConnection.vue?vue&type=script&lang=ts\"\nexport * from \"./WithStreamlitConnection.vue?vue&type=script&lang=ts\"\n\nimport \"./WithStreamlitConnection.vue?vue&type=style&index=0&id=bef81972&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-bef81972\"\n\nexport default script","\nimport { defineComponent } from \"vue\"\nimport MyComponent from \"./MyComponent.vue\"\n\n// \"withStreamlitConnection\" is a scoped slot. It bootstraps the\n// connection between your component and the Streamlit app, and handles\n// passing arguments from Python -> Component.\n//\n// You don't need to edit withStreamlitConnection (but you're welcome to!).\nimport WithStreamlitConnection from \"./streamlit/WithStreamlitConnection.vue\"\n\nexport default defineComponent({\n name: \"App\",\n components: {\n MyComponent,\n WithStreamlitConnection,\n },\n})\n","import { render } from \"./App.vue?vue&type=template&id=07d8329a\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=07d8329a&lang=css\"\nscript.render = render\n\nexport default script","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n"],"sourceRoot":""} \ No newline at end of file diff --git a/old_version/utilities_option_menu/frontend/dist/js/chunk-vendors.1b4b40f9.js b/old_version/utilities_option_menu/frontend/dist/js/chunk-vendors.1b4b40f9.js deleted file mode 100644 index f6a646483aa5d4b157c13fdc05f258952522e127..0000000000000000000000000000000000000000 --- a/old_version/utilities_option_menu/frontend/dist/js/chunk-vendors.1b4b40f9.js +++ /dev/null @@ -1,72 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var r=n("b622"),i=r("toStringTag"),s={};s[i]="z",t.exports="[object z]"===String(s)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"06cf":function(t,e,n){var r=n("83ab"),i=n("d1e7"),s=n("5c6c"),o=n("fc6a"),a=n("c04e"),c=n("5135"),u=n("0cfb"),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=o(t),e=a(e,!0),u)try{return l(t,e)}catch(n){}if(c(t,e))return s(!i.f.call(t,e),t[e])}},"0cfb":function(t,e,n){var r=n("83ab"),i=n("d039"),s=n("cc12");t.exports=!r&&!i((function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a}))},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),i=r("iterator"),s=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){s=!0}};a[i]=function(){return this},Array.from(a,(function(){throw 2}))}catch(c){}t.exports=function(t,e){if(!e&&!s)return!1;var n=!1;try{var r={};r[i]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(c){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),i=n("b622"),s=n("2d00"),o=i("species");t.exports=function(t){return s>=51||!r((function(){var e=[],n=e.constructor={};return n[o]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2266:function(t,e,n){var r=n("825a"),i=n("e95a"),s=n("50c4"),o=n("0366"),a=n("35a1"),c=n("9bdd"),u=function(t,e){this.stopped=t,this.result=e},l=t.exports=function(t,e,n,l,h){var f,d,p,y,b,g,m,v=o(e,n,l?2:1);if(h)f=t;else{if(d=a(t),"function"!=typeof d)throw TypeError("Target is not iterable");if(i(d)){for(p=0,y=s(t.length);y>p;p++)if(b=l?v(r(m=t[p])[0],m[1]):v(t[p]),b&&b instanceof u)return b;return new u(!1)}f=d.call(t)}g=f.next;while(!(m=g.call(f)).done)if(b=c(f,v,m.value,l),"object"==typeof b&&b&&b instanceof u)return b;return new u(!1)};l.stop=function(t){return new u(!0,t)}},"23cb":function(t,e,n){var r=n("a691"),i=Math.max,s=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):s(n,e)}},"23e7":function(t,e,n){var r=n("da84"),i=n("06cf").f,s=n("9112"),o=n("6eeb"),a=n("ce4e"),c=n("e893"),u=n("94ca");t.exports=function(t,e){var n,l,h,f,d,p,y=t.target,b=t.global,g=t.stat;if(l=b?r:g?r[y]||a(y,{}):(r[y]||{}).prototype,l)for(h in e){if(d=e[h],t.noTargetGet?(p=i(l,h),f=p&&p.value):f=l[h],n=u(b?h:y+(g?".":"#")+h,t.forced),!n&&void 0!==f){if(typeof d===typeof f)continue;c(d,f)}(t.sham||f&&f.sham)&&s(d,"sham",!0),o(l,h,d,t)}}},"241c":function(t,e,n){var r=n("ca84"),i=n("7839"),s=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,s)}},2626:function(t,e,n){"use strict";var r=n("d066"),i=n("9bf2"),s=n("b622"),o=n("83ab"),a=s("species");t.exports=function(t){var e=r(t),n=i.f;o&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},"2cf4":function(t,e,n){var r,i,s,o=n("da84"),a=n("d039"),c=n("c6b6"),u=n("0366"),l=n("1be4"),h=n("cc12"),f=n("1cdc"),d=o.location,p=o.setImmediate,y=o.clearImmediate,b=o.process,g=o.MessageChannel,m=o.Dispatch,v=0,_={},w="onreadystatechange",I=function(t){if(_.hasOwnProperty(t)){var e=_[t];delete _[t],e()}},S=function(t){return function(){I(t)}},O=function(t){I(t.data)},T=function(t){o.postMessage(t+"",d.protocol+"//"+d.host)};p&&y||(p=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return _[++v]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(v),v},y=function(t){delete _[t]},"process"==c(b)?r=function(t){b.nextTick(S(t))}:m&&m.now?r=function(t){m.now(S(t))}:g&&!f?(i=new g,s=i.port2,i.port1.onmessage=O,r=u(s.postMessage,s,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||a(T)||"file:"===d.protocol?r=w in h("script")?function(t){l.appendChild(h("script"))[w]=function(){l.removeChild(this),I(t)}}:function(t){setTimeout(S(t),0)}:(r=T,o.addEventListener("message",O,!1))),t.exports={set:p,clear:y}},"2d00":function(t,e,n){var r,i,s=n("da84"),o=n("342f"),a=s.process,c=a&&a.versions,u=c&&c.v8;u?(r=u.split("."),i=r[0]+r[1]):o&&(r=o.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/),r&&(i=r[1]))),t.exports=i&&+i},"320c":function(t,e,n){"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function o(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function a(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(e).map((function(t){return e[t]}));if("0123456789"!==r.join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(t){i[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(s){return!1}}t.exports=a()?Object.assign:function(t,e){for(var n,a,c=o(t),u=1;uc)i.f(t,n=r[c++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3f8c":function(t,e){t.exports={}},"428f":function(t,e,n){var r=n("da84");t.exports=r},"44ad":function(t,e,n){var r=n("d039"),i=n("c6b6"),s="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?s.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),i=n("7c73"),s=n("9bf2"),o=r("unscopables"),a=Array.prototype;void 0==a[o]&&s.f(a,o,{configurable:!0,value:i(null)}),t.exports=function(t){a[o][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},4840:function(t,e,n){var r=n("825a"),i=n("1c0b"),s=n("b622"),o=s("species");t.exports=function(t,e){var n,s=r(t).constructor;return void 0===s||void 0==(n=r(s)[o])?e:i(n)}},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"4cec":function(t,e,n){"use strict";t.exports=n("a93d")},"4d64":function(t,e,n){var r=n("fc6a"),i=n("50c4"),s=n("23cb"),o=function(t){return function(e,n,o){var a,c=r(e),u=i(c.length),l=s(o,u);if(t&&n!=n){while(u>l)if(a=c[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:o(!0),indexOf:o(!1)}},"50c4":function(t,e,n){var r=n("a691"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5692:function(t,e,n){var r=n("c430"),i=n("c6cd");(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(t,e,n){var r=n("d066"),i=n("241c"),s=n("7418"),o=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=i.f(o(t)),n=s.f;return n?e.concat(n(t)):e}},"5c40":function(t,e,n){"use strict";n.d(e,"a",(function(){return qt})),n.d(e,"b",(function(){return et})),n.d(e,"c",(function(){return d})),n.d(e,"d",(function(){return ut})),n.d(e,"e",(function(){return vt})),n.d(e,"f",(function(){return Fe})),n.d(e,"g",(function(){return De})),n.d(e,"h",(function(){return mt})),n.d(e,"i",(function(){return yt})),n.d(e,"j",(function(){return vn})),n.d(e,"k",(function(){return sn})),n.d(e,"l",(function(){return ee})),n.d(e,"m",(function(){return _n})),n.d(e,"n",(function(){return Ht})),n.d(e,"o",(function(){return Vt})),n.d(e,"p",(function(){return $t})),n.d(e,"q",(function(){return Pt})),n.d(e,"r",(function(){return at})),n.d(e,"s",(function(){return K})),n.d(e,"t",(function(){return H})),n.d(e,"u",(function(){return wn})),n.d(e,"v",(function(){return In})),n.d(e,"w",(function(){return Z})),n.d(e,"x",(function(){return Zt})),n.d(e,"y",(function(){return te})),n.d(e,"z",(function(){return Kt})),n.d(e,"A",(function(){return o})),n.d(e,"B",(function(){return Ue})),n.d(e,"C",(function(){return $})),n.d(e,"D",(function(){return G}));var r=n("a1e9"),i=n("9ff4");const s=[];function o(t,...e){Object(r["f"])();const n=s.length?s[s.length-1].component:null,i=n&&n.appContext.config.warnHandler,o=a();if(i)f(i,n,11,[t+e.join(""),n&&n.proxy,o.map(({vnode:t})=>`at <${gn(n,t.type)}>`).join("\n"),o]);else{const n=["[Vue warn]: "+t,...e];o.length&&n.push("\n",...c(o)),console.warn(...n)}Object(r["j"])()}function a(){let t=s[s.length-1];if(!t)return[];const e=[];while(t){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const r=t.component&&t.component.parent;t=r&&r.vnode}return e}function c(t){const e=[];return t.forEach((t,n)=>{e.push(...0===n?[]:["\n"],...u(t))}),e}function u({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",r=!!t.component&&null==t.component.parent,i=" at <"+gn(t.component,t.type,r),s=">"+n;return t.props?[i,...l(t.props),s]:[i+s]}function l(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(n=>{e.push(...h(n,t[n]))}),n.length>3&&e.push(" ..."),e}function h(t,e,n){return Object(i["x"])(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):"number"===typeof e||"boolean"===typeof e||null==e?n?e:[`${t}=${e}`]:Object(r["e"])(e)?(e=h(t,Object(r["m"])(e.value),!0),n?e:[t+"=Ref<",e,">"]):Object(i["n"])(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=Object(r["m"])(e),n?e:[t+"=",e])}function f(t,e,n,r){let i;try{i=r?t(...r):t()}catch(s){p(s,e,n)}return i}function d(t,e,n,r){if(Object(i["n"])(t)){const s=f(t,e,n,r);return s&&Object(i["t"])(s)&&s.catch(t=>{p(t,e,n)}),s}const s=[];for(let i=0;i-1&&(b[e]=null)}function B(t){Object(i["m"])(t)?g.push(...t):S&&S.includes(t,O+1)||g.push(t),j()}function j(){_||w||(w=!0,v=m.then(L))}function D(t){if(g.length){for(S=[...new Set(g)],g.length=0,O=0;Onull==t.id?1/0:t.id;function L(t){for(w=!1,_=!0,b.sort((t,e)=>F(t)-F(e)),I=0;I1?n(a,{attrs:u,slots:c,emit:l}):n(a,null)),t=e.props?u:C(u)}let p=g;if(!1!==e.inheritAttrs&&t){const e=Object.keys(t),{shapeFlag:n}=p;e.length&&(1&n||6&n)&&(1&n&&e.some(i["q"])&&(t=N(t)),p=gt(p,t))}const m=r.scopeId,v=m&&p.scopeId!==m,_=n&&n.type.__scopeId,w=_&&_!==m?_+"-s":null;if(v||w){const t={};v&&(t[m]=""),w&&(t[w]=""),p=gt(p,t)}r.dirs&&(p.dirs=r.dirs),r.transition&&(p.transition=r.transition),g=p}catch(m){p(m,t,1),g=yt(rt)}return E=null,g}const C=t=>{let e;for(const n in t)("class"===n||"style"===n||Object(i["s"])(n))&&((e||(e={}))[n]=t[n]);return e},N=t=>{const e={};for(const n in t)Object(i["q"])(n)||(e[n]=t[n]);return e};function k(t,e,n){const{props:r,children:i}=t,{props:s,children:o,patchFlag:a}=e;if(e.dirs||e.transition)return!0;if(!(n&&a>0))return!(!i&&!o||o&&o.$stable)||r!==s&&(r?!s||V(r,s):!!s);if(1024&a)return!0;if(16&a)return r?V(r,s):!!s;if(8&a){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function z(t,e){e&&!e.isResolved?Object(i["m"])(t)?e.effects.push(...t):e.effects.push(t):B(t)}function $(t,e=E){return e?function(){const n=E;M(e);const r=t.apply(null,arguments);return M(n),r}:t}let Y=null;const W=[];function H(t){W.push(Y=t)}function K(){W.pop(),Y=W[W.length-1]||null}function G(t){return e=>$((function(){H(t);const n=e.apply(this,arguments);return K(),n}))}const q=t=>t.__isTeleport;const J="components";function Z(t){return Q(J,t)||t}const X=Symbol();function Q(t,e,n=!0){const r=E||rn;if(r){const n=r.type;if(t===J){const t=n.displayName||n.name;if(t&&(t===e||t===Object(i["e"])(e)||t===Object(i["f"])(Object(i["e"])(e))))return n}const s=tt(n[t],e)||tt(r.appContext[t],e);return s}}function tt(t,e){return t&&(t[e]||t[Object(i["e"])(e)]||t[Object(i["f"])(Object(i["e"])(e))])}const et=Symbol(void 0),nt=Symbol(void 0),rt=Symbol(void 0),it=Symbol(void 0),st=[];let ot=null;function at(t=!1){st.push(ot=t?null:[])}let ct=1;function ut(t,e,n,r,s){const o=yt(t,e,n,r,s,!0);return o.dynamicChildren=ot||i["a"],st.pop(),ot=st[st.length-1]||null,ot&&ot.push(o),o}function lt(t){return!!t&&!0===t.__v_isVNode}function ht(t,e){return t.type===e.type&&t.key===e.key}const ft="__vInternal",dt=({key:t})=>null!=t?t:null,pt=({ref:t})=>null!=t?Object(i["m"])(t)?t:[E,t]:null,yt=bt;function bt(t,e=null,n=null,s=0,o=null,a=!1){if(t&&t!==X||(t=rt),lt(t)){const r=gt(t,e);return n&&It(r,n),r}if(Object(i["n"])(t)&&"__vccOpts"in t&&(t=t.__vccOpts),e){(Object(r["c"])(e)||ft in e)&&(e=Object(i["h"])({},e));let{class:t,style:n}=e;t&&!Object(i["x"])(t)&&(e.class=Object(i["C"])(t)),Object(i["r"])(n)&&(Object(r["c"])(n)&&!Object(i["m"])(n)&&(n=Object(i["h"])({},n)),e.style=Object(i["D"])(n))}const c=Object(i["x"])(t)?1:P(t)?128:q(t)?64:Object(i["r"])(t)?4:Object(i["n"])(t)?2:0;const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&dt(e),ref:e&&pt(e),scopeId:Y,children:null,component:null,suspense:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null};return It(u,n),ct>0&&!a&&ot&&32!==s&&(s>0||6&c)&&ot.push(u),u}function gt(t,e){const{props:n,patchFlag:r}=t,s=e?n?St(n,e):Object(i["h"])({},e):n;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:s,key:s&&dt(s),ref:e&&e.ref?pt(e):t.ref,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==et?-1===r?16:16|r:r,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,el:t.el,anchor:t.anchor}}function mt(t=" ",e=0){return yt(nt,null,t,e)}function vt(t="",e=!1){return e?(at(),ut(rt,null,t)):yt(rt,null,t)}function _t(t){return null==t||"boolean"===typeof t?yt(rt):Object(i["m"])(t)?yt(et,null,t):"object"===typeof t?null===t.el?t:gt(t):yt(nt,null,String(t))}function wt(t){return null===t.el?t:gt(t)}function It(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if(Object(i["m"])(e))n=16;else if("object"===typeof e){if((1&r||64&r)&&e.default)return void It(t,e.default());{n=32;const r=e._;r||ft in e?3===r&&E&&(1024&E.vnode.patchFlag?(e._=2,t.patchFlag|=1024):e._=1):e._ctx=E}}else Object(i["n"])(e)?(e={default:e,_ctx:E},n=32):(e=String(e),64&r?(n=16,e=[mt(e)]):n=8);t.children=e,t.shapeFlag|=n}function St(...t){const e=Object(i["h"])({},t[0]);for(let n=1;nObject(i["h"])(n,Tt(t))))),e||r?(Object(i["m"])(e)?e.forEach(t=>n[t]=null):Object(i["h"])(n,e),t.__emits=n):t.__emits=void 0}function At(t,e){let n;return!(!Object(i["s"])(e)||!(n=Tt(t)))&&(e=e.replace(/Once$/,""),Object(i["j"])(n,e[2].toLowerCase()+e.slice(3))||Object(i["j"])(n,e.slice(2)))}function xt(t,e,n,s=!1){const o={},a={};Object(i["g"])(a,ft,1),jt(t,e,o,a),n?t.props=s?o:Object(r["k"])(o):t.type.props?t.props=o:t.props=a,t.attrs=a}function Bt(t,e,n,s){const{props:o,attrs:a,vnode:{patchFlag:c}}=t,u=Object(r["m"])(o),[l]=Ft(t.type);if(!(s||c>0)||16&c){let r;jt(t,e,o,a);for(const t in u)e&&(Object(i["j"])(e,t)||(r=Object(i["k"])(t))!==t&&Object(i["j"])(e,r))||(l?!n||void 0===n[t]&&void 0===n[r]||(o[t]=Dt(l,e||i["b"],t,void 0)):delete o[t]);if(a!==u)for(const t in a)e&&Object(i["j"])(e,t)||delete a[t]}else if(8&c){const n=t.vnode.dynamicProps;for(let t=0;t{const[e,s]=Ft(t);Object(i["h"])(n,e),s&&r.push(...s)};t.extends&&(s=!0,e(t.extends)),t.mixins&&(s=!0,t.mixins.forEach(e))}if(!e&&!s)return t.__props=i["a"];if(Object(i["m"])(e))for(let a=0;a-1,a[1]=e<0||t-1||Object(i["j"])(a,"default"))&&r.push(s)}}}}const o=[n,r];return t.__props=o,o}function Lt(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function Et(t,e){return Lt(t)===Lt(e)}function Mt(t,e){if(Object(i["m"])(e)){for(let n=0,r=e.length;n{if(n.isUnmounted)return;Object(r["f"])(),on(n);const s=d(e,n,t,i);return on(null),Object(r["j"])(),s});i?s.unshift(o):s.push(o)}else 0}const Nt=t=>(e,n=rn)=>!cn&&Ct(t,e,n),kt=Nt("bm"),Vt=Nt("m"),Rt=Nt("bu"),Pt=Nt("u"),zt=Nt("bum"),$t=Nt("um"),Yt=Nt("rtg"),Wt=Nt("rtc"),Ht=(t,e=rn)=>{Ct("ec",t,e)};function Kt(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Vt(()=>{t.isMounted=!0}),zt(()=>{t.isUnmounting=!0}),t}const Gt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Function,onEnter:Function,onAfterEnter:Function,onEnterCancelled:Function,onBeforeLeave:Function,onLeave:Function,onAfterLeave:Function,onLeaveCancelled:Function,onBeforeAppear:Function,onAppear:Function,onAfterAppear:Function,onAppearCancelled:Function},setup(t,{slots:e}){const n=sn(),i=Kt();let s;return()=>{const o=e.default&&ee(e.default(),!0);if(!o||!o.length)return;const a=Object(r["m"])(t),{mode:c}=a;const u=o[0];if(i.isLeaving)return Xt(u);const l=Qt(u);if(!l)return Xt(u);const h=l.transition=Zt(l,a,i,n),f=n.subTree,d=f&&Qt(f);let p=!1;const{getTransitionKey:y}=l.type;if(y){const t=y();void 0===s?s=t:t!==s&&(s=t,p=!0)}if(d&&d.type!==rt&&(!ht(l,d)||p)){const t=Zt(d,a,i,n);if(te(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},Xt(u);"in-out"===c&&(t.delayLeave=(t,e,n)=>{const r=Jt(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return u}}},qt=Gt;function Jt(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function Zt(t,{appear:e,persisted:n=!1,onBeforeEnter:r,onEnter:i,onAfterEnter:s,onEnterCancelled:o,onBeforeLeave:a,onLeave:c,onAfterLeave:u,onLeaveCancelled:l,onBeforeAppear:h,onAppear:f,onAfterAppear:p,onAppearCancelled:y},b,g){const m=String(t.key),v=Jt(b,t),_=(t,e)=>{t&&d(t,g,9,e)},w={persisted:n,beforeEnter(n){let i=r;if(!b.isMounted){if(!e)return;i=h||r}n._leaveCb&&n._leaveCb(!0);const s=v[m];s&&ht(t,s)&&s.el._leaveCb&&s.el._leaveCb(),_(i,[n])},enter(t){let n=i,r=s,a=o;if(!b.isMounted){if(!e)return;n=f||i,r=p||s,a=y||o}let c=!1;const u=t._enterCb=e=>{c||(c=!0,_(e?a:r,[t]),w.delayedLeave&&w.delayedLeave(),t._enterCb=void 0)};n?(n(t,u),n.length<=1&&u()):u()},leave(e,n){const r=String(t.key);if(e._enterCb&&e._enterCb(!0),b.isUnmounting)return n();_(a,[e]);let i=!1;const s=e._leaveCb=s=>{i||(i=!0,n(),_(s?l:u,[e]),e._leaveCb=void 0,v[r]===t&&delete v[r])};v[r]=t,c?(c(e,s),c.length<=1&&s()):s()}};return w}function Xt(t){if(ne(t))return t=gt(t),t.children=null,t}function Qt(t){return ne(t)?t.children?t.children[0]:void 0:t}function te(t,e){6&t.shapeFlag&&t.component?te(t.component.subTree,e):t.transition=e}function ee(t,e=!1){let n=[],r=0;for(let i=0;i1)for(let i=0;it.type.__isKeepAlive;RegExp,RegExp;function re(t){return t.displayName||t.name}function ie(t,e){return Object(i["m"])(t)?t.some(t=>ie(t,e)):Object(i["x"])(t)?t.split(",").indexOf(e)>-1:!!t.test&&t.test(e)}function se(t,e){ae(t,"a",e)}function oe(t,e){ae(t,"da",e)}function ae(t,e,n=rn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}t()});if(Ct(e,r,n),n){let t=n.parent;while(t&&t.parent)ne(t.parent.vnode)&&ce(r,e,n,t),t=t.parent}}function ce(t,e,n,r){Ct(e,t,r,!0),$t(()=>{Object(i["E"])(r[e],t)},n)}function ue(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}const le=t=>"_"===t[0]||"$stable"===t,he=t=>Object(i["m"])(t)?t.map(_t):[_t(t)],fe=(t,e,n)=>$(t=>he(e(t)),n),de=(t,e)=>{const n=t._ctx;for(const r in t){if(le(r))continue;const s=t[r];if(Object(i["n"])(s))e[r]=fe(r,s,n);else if(null!=s){0;const t=he(s);e[r]=()=>t}}},pe=(t,e)=>{const n=he(e);t.slots.default=()=>n},ye=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=e,Object(i["g"])(e,"_",n)):de(e,t.slots={})}else t.slots={},e&&pe(t,e);Object(i["g"])(t.slots,ft,1)},be=(t,e)=>{const{vnode:n,slots:r}=t;let s=!0,o=i["b"];if(32&n.shapeFlag){const t=e._;t?1===t?s=!1:Object(i["h"])(r,e):(s=!e.$stable,de(e,r)),o=e}else e&&(pe(t,e),o={default:1});if(s)for(const i in r)le(i)||i in o||delete r[i]};function ge(t,e,n,r){const i=t.dirs,s=e&&e.dirs;for(let o=0;o/svg/.test(t.namespaceURI)&&"foreignObject"!==t.tagName,Oe=t=>8===t.nodeType;function Te(t){const{mt:e,p:n,o:{patchProp:r,nextSibling:s,parentNode:o,remove:a,insert:c,createComment:u}}=t,l=(t,e)=>{Ie=!1,h(e.firstChild,t,null,null),D(),Ie&&console.error("Hydration completed but contains mismatches.")},h=(n,r,i,a,c=!1)=>{const u=Oe(n)&&"["===n.data,l=()=>y(n,r,i,a,u),{type:g,ref:m,shapeFlag:v}=r,_=n.nodeType;r.el=n;let w=null;switch(g){case nt:3!==_?w=l():(n.data!==r.children&&(Ie=!0,n.data=r.children),w=s(n));break;case rt:w=8!==_||u?l():s(n);break;case it:if(1===_){w=n;const t=!r.children.length;for(let e=0;e{e(r,t,null,i,a,Se(t),c)},h=r.type.__asyncLoader;h?h().then(l):l(),w=u?b(n):s(n)}else 64&v?w=8!==_?l():r.type.hydrate(n,r,i,a,c,t,d):128&v&&(w=r.type.hydrate(n,r,i,a,Se(o(n)),c,t,h))}return null!=m&&i&&je(m,null,i,a,r),w},f=(t,e,n,s,o)=>{o=o||!!e.dynamicChildren;const{props:c,patchFlag:u,shapeFlag:l,dirs:h}=e;if(-1!==u){if(c)if(!o||16&u||32&u)for(const e in c)!Object(i["u"])(e)&&Object(i["s"])(e)&&r(t,e,null,c[e]);else c.onClick&&r(t,"onClick",null,c.onClick);let f;if((f=c&&c.onVnodeBeforeMount)&&Ee(f,n,e),h&&ge(e,null,n,"beforeMount"),((f=c&&c.onVnodeMounted)||h)&&z(()=>{f&&Ee(f,n,e),h&&ge(e,null,n,"mounted")},s),16&l&&(!c||!c.innerHTML&&!c.textContent)){let r=d(t.firstChild,e,t,n,s,o);while(r){Ie=!0;const t=r;r=r.nextSibling,a(t)}}else 8&l&&t.textContent!==e.children&&(Ie=!0,t.textContent=e.children)}return t.nextSibling},d=(t,e,r,i,s,o)=>{o=o||!!e.dynamicChildren;const a=e.children,c=a.length;for(let u=0;u{const a=o(t),l=d(s(t),e,a,n,r,i);return l&&Oe(l)&&"]"===l.data?s(e.anchor=l):(Ie=!0,c(e.anchor=u("]"),a,l),l)},y=(t,e,r,i,c)=>{if(Ie=!0,e.el=null,c){const e=b(t);while(1){const n=s(t);if(!n||n===e)break;a(n)}}const u=s(t),l=o(t);return a(t),n(null,e,l,u,r,i,Se(l)),u},b=t=>{let e=0;while(t)if(t=s(t),t&&Oe(t)&&("["===t.data&&e++,"]"===t.data)){if(0===e)return s(t);e--}return t};return[l,h]}function Ae(){}const xe={scheduler:A};const Be=z,je=(t,e,n,s,o)=>{let a;a=o?4&o.shapeFlag?o.component.proxy:o.el:null;const[c,u]=t;const l=e&&e[1],h=c.refs===i["b"]?c.refs={}:c.refs,d=c.setupState;null!=l&&l!==u&&(Object(i["x"])(l)?(h[l]=null,Object(i["j"])(d,l)&&Be(()=>{d[l]=null},s)):Object(r["e"])(l)&&(l.value=null)),Object(i["x"])(u)?(h[u]=a,Object(i["j"])(d,u)&&Be(()=>{d[u]=a},s)):Object(r["e"])(u)?u.value=a:Object(i["n"])(u)&&f(u,n,12,[a,h])};function De(t){return Le(t)}function Fe(t){return Le(t,Te)}function Le(t,e){Ae();const{insert:n,remove:s,patchProp:o,forcePatchProp:a,createElement:c,createText:u,createComment:l,setText:h,setElementText:f,parentNode:d,nextSibling:p,setScopeId:y=i["d"],cloneNode:b,insertStaticContent:g}=t,m=(t,e,n,r=null,i=null,s=null,o=!1,a=!1)=>{t&&!ht(t,e)&&(r=G(t),$(t,i,s,!0),t=null),-2===e.patchFlag&&(a=!1,e.dynamicChildren=null);const{type:c,ref:u,shapeFlag:l}=e;switch(c){case nt:v(t,e,n,r);break;case rt:_(t,e,n,r);break;case it:null==t&&w(e,n,r,o);break;case et:j(t,e,n,r,i,s,o,a);break;default:1&l?I(t,e,n,r,i,s,o,a):6&l?F(t,e,n,r,i,s,o,a):(64&l||128&l)&&c.process(t,e,n,r,i,s,o,a,J)}null!=u&&i&&je(u,t&&t.ref,i,s,e)},v=(t,e,r,i)=>{if(null==t)n(e.el=u(e.children),r,i);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},_=(t,e,r,i)=>{null==t?n(e.el=l(e.children||""),r,i):e.el=t.el},w=(t,e,n,r)=>{[t.el,t.anchor]=g(t.children,e,n,r)},I=(t,e,n,r,i,s,o,a)=>{o=o||"svg"===e.type,null==t?S(e,n,r,i,s,o,a):T(t,e,i,s,o,a)},S=(t,e,r,s,a,u,l)=>{let h,d;const{type:p,props:g,shapeFlag:m,transition:v,scopeId:_,patchFlag:w,dirs:I}=t;if(t.el&&void 0!==b&&-1===w)h=t.el=b(t.el);else{if(h=t.el=c(t.type,u,g&&g.is),8&m?f(h,t.children):16&m&&O(t.children,h,null,s,a,u&&"foreignObject"!==p,l||!!t.dynamicChildren),g){for(const e in g)Object(i["u"])(e)||o(h,e,null,g[e],u,t.children,s,a,K);(d=g.onVnodeBeforeMount)&&Ee(d,s,t)}I&&ge(t,null,s,"beforeMount"),_&&y(h,_);const e=s&&s.type.__scopeId;e&&e!==_&&y(h,e+"-s"),v&&!v.persisted&&v.beforeEnter(h)}n(h,e,r);const S=(!a||a&&a.isResolved)&&v&&!v.persisted;((d=g&&g.onVnodeMounted)||S||I)&&Be(()=>{d&&Ee(d,s,t),S&&v.enter(h),I&&ge(t,null,s,"mounted")},a)},O=(t,e,n,r,i,s,o,a=0)=>{for(let c=a;c{const u=e.el=t.el;let{patchFlag:l,dynamicChildren:h,dirs:d}=e;l|=16&t.patchFlag;const p=t.props||i["b"],y=e.props||i["b"];let b;if((b=y.onVnodeBeforeUpdate)&&Ee(b,n,e,t),d&&ge(e,t,n,"beforeUpdate"),l>0){if(16&l)B(u,e,p,y,n,r,s);else if(2&l&&p.class!==y.class&&o(u,"class",null,y.class,s),4&l&&o(u,"style",p.style,y.style,s),8&l){const i=e.dynamicProps;for(let e=0;e{b&&Ee(b,n,e,t),d&&ge(e,t,n,"updated")},r)},A=(t,e,n,r,i,s)=>{for(let o=0;o{if(n!==r){for(const l in r){if(Object(i["u"])(l))continue;const h=r[l],f=n[l];(h!==f||a&&a(t,l))&&o(t,l,f,h,u,e.children,s,c,K)}if(n!==i["b"])for(const a in n)Object(i["u"])(a)||a in r||o(t,a,n[a],null,u,e.children,s,c,K)}},j=(t,e,r,i,s,o,a,c)=>{const l=e.el=t?t.el:u(""),h=e.anchor=t?t.anchor:u("");let{patchFlag:f,dynamicChildren:d}=e;f>0&&(c=!0),null==t?(n(l,r,i),n(h,r,i),O(e.children,r,h,s,o,a,c)):f>0&&64&f&&d?A(t.dynamicChildren,d,r,s,o,a):N(t,e,r,h,s,o,a,c)},F=(t,e,n,r,i,s,o,a)=>{null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,o,a):L(e,n,r,i,s,o,a):E(t,e,a)},L=(t,e,n,r,i,s,o)=>{const a=t.component=nn(t,r,i);if(ne(t)&&(a.ctx.renderer=J),un(a),a.asyncDep){if(!i)return void 0;if(i.registerDep(a,M),!t.el){const t=a.subTree=yt(rt);_(null,t,e,n)}}else M(a,t,e,n,i,s,o)},E=(t,e,n)=>{const r=e.component=t.component;if(k(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void C(r,e,n);r.next=e,x(r.update),r.update()}else e.component=t.component,e.el=t.el,r.vnode=e},M=(t,e,n,s,o,a,c)=>{t.update=Object(r["b"])((function(){if(t.isMounted){let e,{next:n,bu:r,u:s,parent:u,vnode:l}=t,h=n;0,n?C(t,n,c):n=l;const f=U(t);0;const p=t.subTree;t.subTree=f,n.el=l.el,r&&Object(i["l"])(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&Ee(e,u,n,l),t.refs!==i["b"]&&(t.refs={}),m(p,f,d(p.el),G(p),t,o,a),n.el=f.el,null===h&&R(t,f.el),s&&Be(s,o),(e=n.props&&n.props.onVnodeUpdated)&&Be(()=>{Ee(e,u,n,l)},o)}else{let r;const{el:c,props:u}=e,{bm:l,m:h,a:f,parent:d}=t;0;const p=t.subTree=U(t);0,l&&Object(i["l"])(l),(r=u&&u.onVnodeBeforeMount)&&Ee(r,d,e),c&&X?X(e.el,p,t,o):(m(null,p,n,s,t,o,a),e.el=p.el),h&&Be(h,o),(r=u&&u.onVnodeMounted)&&Be(()=>{Ee(r,d,e)},o),f&&256&e.shapeFlag&&Be(f,o),t.isMounted=!0}}),xe)},C=(t,e,n)=>{e.component=t;const r=t.vnode.props;t.vnode=e,t.next=null,Bt(t,e.props,r,n),be(t,e.children)},N=(t,e,n,r,i,s,o,a=!1)=>{const c=t&&t.children,u=t?t.shapeFlag:0,l=e.children,{patchFlag:h,shapeFlag:d}=e;if(h>0){if(128&h)return void P(c,l,n,r,i,s,o,a);if(256&h)return void V(c,l,n,r,i,s,o,a)}8&d?(16&u&&K(c,i,s),l!==c&&f(n,l)):16&u?16&d?P(c,l,n,r,i,s,o,a):K(c,i,s,!0):(8&u&&f(n,""),16&d&&O(l,n,r,i,s,o,a))},V=(t,e,n,r,s,o,a,c)=>{t=t||i["a"],e=e||i["a"];const u=t.length,l=e.length,h=Math.min(u,l);let f;for(f=0;fl?K(t,s,o,!0,h):O(e,n,r,s,o,a,c,h)},P=(t,e,n,r,s,o,a,c)=>{let u=0;const l=e.length;let h=t.length-1,f=l-1;while(u<=h&&u<=f){const r=t[u],i=e[u]=c?wt(e[u]):_t(e[u]);if(!ht(r,i))break;m(r,i,n,null,s,o,a,c),u++}while(u<=h&&u<=f){const r=t[h],i=e[f]=c?wt(e[f]):_t(e[f]);if(!ht(r,i))break;m(r,i,n,null,s,o,a,c),h--,f--}if(u>h){if(u<=f){const t=f+1,i=tf)while(u<=h)$(t[u],s,o,!0),u++;else{const d=u,p=u,y=new Map;for(u=p;u<=f;u++){const t=e[u]=c?wt(e[u]):_t(e[u]);null!=t.key&&y.set(t.key,u)}let b,g=0;const v=f-p+1;let _=!1,w=0;const I=new Array(v);for(u=0;u=v){$(r,s,o,!0);continue}let i;if(null!=r.key)i=y.get(r.key);else for(b=p;b<=f;b++)if(0===I[b-p]&&ht(r,e[b])){i=b;break}void 0===i?$(r,s,o,!0):(I[i-p]=u+1,i>=w?w=i:_=!0,m(r,e[i],n,null,s,o,a,c),g++)}const S=_?Me(I):i["a"];for(b=S.length-1,u=v-1;u>=0;u--){const t=p+u,i=e[t],c=t+1{const{el:o,type:a,transition:c,children:u,shapeFlag:l}=t;if(6&l)return void z(t.component.subTree,e,r,i);if(128&l)return void t.suspense.move(e,r,i);if(64&l)return void a.move(t,e,r,J);if(a===et){n(o,e,r);for(let t=0;tc.enter(o),s);else{const{leave:t,delayLeave:i,afterLeave:s}=c,a=()=>n(o,e,r),u=()=>{t(o,()=>{a(),s&&s()})};i?i(o,a,u):u()}else n(o,e,r)},$=(t,e,n,r=!1)=>{const{type:i,props:s,ref:o,children:a,dynamicChildren:c,shapeFlag:u,patchFlag:l,dirs:h}=t;if(null!=o&&e&&je(o,null,e,n,null),256&u)return void e.ctx.deactivate(t);const f=1&u&&h;let d;if((d=s&&s.onVnodeBeforeUnmount)&&Ee(d,e,t),6&u)H(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);f&&ge(t,null,e,"beforeUnmount"),c&&(i!==et||l>0&&64&l)?K(c,e,n):16&u&&K(a,e,n),64&u&&t.type.remove(t,J),r&&Y(t)}((d=s&&s.onVnodeUnmounted)||f)&&Be(()=>{d&&Ee(d,e,t),f&&ge(t,null,e,"unmounted")},n)},Y=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===et)return void W(n,r);const o=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,s=()=>e(n,o);r?r(t.el,o,s):s()}else o()},W=(t,e)=>{let n;while(t!==e)n=p(t),s(t),t=n;s(e)},H=(t,e,n)=>{const{bum:s,effects:o,update:a,subTree:c,um:u,da:l,isDeactivated:h}=t;if(s&&Object(i["l"])(s),o)for(let i=0;i{t.isUnmounted=!0},e),!e||e.isResolved||e.isUnmounted||!t.asyncDep||t.asyncResolved||(e.deps--,0===e.deps&&e.resolve())},K=(t,e,n,r=!1,i=0)=>{for(let s=i;s6&t.shapeFlag?G(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),q=(t,e)=>{null==t?e._vnode&&$(e._vnode,null,null,!0):m(e._vnode||null,t,e),D(),e._vnode=t},J={p:m,um:$,m:z,r:Y,mt:L,mc:O,pc:N,pbc:A,n:G,o:t};let Z,X;return e&&([Z,X]=e(J)),{render:q,hydrate:Z,createApp:we(q,Z)}}function Ee(t,e,n,r=null){d(t,e,7,[n,r])}function Me(t){const e=t.slice(),n=[0];let r,i,s,o,a;const c=t.length;for(r=0;r0&&(e[r]=n[s-1]),n[s]=r)}}s=n.length,o=n[s-1];while(s-- >0)n[s]=o,o=e[o];return n}function Ue(t,e){return ke(t,null,e)}const Ce={};function Ne(t,e,n){return ke(t,e,n)}function ke(t,e,{immediate:n,deep:s,flush:o,onTrack:a,onTrigger:c}=i["b"],u=rn){let l,h;if(Object(r["e"])(t)?l=()=>t.value:Object(r["d"])(t)?(l=()=>t,s=!0):l=Object(i["m"])(t)?()=>t.map(t=>Object(r["e"])(t)?t.value:Object(r["d"])(t)?Re(t):Object(i["n"])(t)?f(t,u,2):void 0):Object(i["n"])(t)?e?()=>f(t,u,2):()=>{if(!u||!u.isUnmounted)return h&&h(),f(t,u,3,[p])}:i["d"],e&&s){const t=l;l=()=>Re(t())}const p=t=>{h=m.options.onStop=()=>{f(t,u,4)}};let y=Object(i["m"])(t)?[]:Ce;const b=()=>{if(m.active)if(e){const t=m();(s||Object(i["i"])(t,y))&&(h&&h(),d(e,u,3,[t,y===Ce?void 0:y,p]),y=t)}else m()};let g;"sync"===o?g=b:"pre"===o?(b.id=-1,g=()=>{!u||u.isMounted?A(b):b()}):g=()=>Be(b,u&&u.suspense);const m=Object(r["b"])(l,{lazy:!0,onTrack:a,onTrigger:c,scheduler:g});return pn(m),e?n?b():y=m():m(),()=>{Object(r["l"])(m),u&&Object(i["E"])(u.effects,m)}}function Ve(t,e,n){const r=this.proxy,s=Object(i["x"])(t)?()=>r[t]:t.bind(r);return ke(s,e.bind(r),n,this)}function Re(t,e=new Set){if(!Object(i["r"])(t)||e.has(t))return t;if(e.add(t),Object(i["m"])(t))for(let n=0;n{Re(t.get(r),e)});else if(t instanceof Set)t.forEach(t=>{Re(t,e)});else for(const n in t)Re(t[n],e);return t}function Pe(t,e){if(rn){let n=rn.provides;const r=rn.parent&&rn.parent.provides;r===n&&(n=rn.provides=Object.create(r)),n[t]=e}else 0}function ze(t,e){const n=rn||E;if(n){const r=n.provides;if(t in r)return r[t];if(arguments.length>1)return e}else 0}function $e(t,e,n=[],r=[],s=!1){const{mixins:o,extends:a,data:c,computed:u,methods:l,watch:h,provide:f,inject:d,beforeMount:p,mounted:y,beforeUpdate:b,updated:g,activated:m,deactivated:v,beforeUnmount:_,unmounted:w,render:I,renderTracked:S,renderTriggered:O,errorCaptured:T}=e,A=t.proxy,x=t.ctx,B=t.appContext.mixins;s&&I&&t.render===i["d"]&&(t.render=I),s||(Ye("beforeCreate",e,A,B),He(t,B,n,r)),a&&$e(t,a,n,r,!0),o&&He(t,o,n,r);if(d)if(Object(i["m"])(d))for(let i=0;iKe(t,e,A)),u)for(const j in u){const t=u[j],e=Object(i["n"])(t)?t.bind(A,A):Object(i["n"])(t.get)?t.get.bind(A,A):i["d"];0;const n=!Object(i["n"])(t)&&Object(i["n"])(t.set)?t.set.bind(A):i["d"],r=mn({get:e,set:n});Object.defineProperty(x,j,{enumerable:!0,configurable:!0,get:()=>r.value,set:t=>r.value=t})}if(h&&r.push(h),!s&&r.length&&r.forEach(t=>{for(const e in t)Ge(t[e],x,A,e)}),f){const t=Object(i["n"])(f)?f.call(A):f;for(const e in t)Pe(e,t[e])}s||Ye("created",e,A,B),p&&kt(p.bind(A)),y&&Vt(y.bind(A)),b&&Rt(b.bind(A)),g&&Pt(g.bind(A)),m&&se(m.bind(A)),v&&oe(v.bind(A)),T&&Ht(T.bind(A)),S&&Wt(S.bind(A)),O&&Yt(O.bind(A)),_&&zt(_.bind(A)),w&&$t(w.bind(A))}function Ye(t,e,n,r){We(t,r,n);const i=e.extends&&e.extends[t];i&&i.call(n);const s=e.mixins;s&&We(t,s,n);const o=e[t];o&&o.call(n)}function We(t,e,n){for(let r=0;rn[r];if(Object(i["x"])(t)){const n=e[t];Object(i["n"])(n)&&Ne(s,n)}else Object(i["n"])(t)?Ne(s,t.bind(n)):Object(i["r"])(t)&&(Object(i["m"])(t)?t.forEach(t=>Ge(t,e,n,r)):Ne(s,t.handler.bind(n),t))}function qe(t){const e=t.type,{__merged:n,mixins:r,extends:i}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!r&&!i)return e;const o={};return s.forEach(e=>Je(o,e,t)),i&&Je(o,i,t),r&&r.forEach(e=>Je(o,e,t)),Je(o,e,t),e.__merged=o}function Je(t,e,n){const r=n.appContext.config.optionMergeStrategies;for(const s in e)r&&Object(i["j"])(r,s)?t[s]=r[s](t[s],e[s],n.proxy,s):Object(i["j"])(t,s)||(t[s]=e[s])}const Ze=Object(i["h"])(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>t.parent&&t.parent.proxy,$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>qe(t),$forceUpdate:t=>()=>A(t.update),$nextTick:()=>T,$watch:t=>Ve.bind(t)}),Xe={get({_:t},e){const{ctx:n,setupState:s,data:o,props:a,accessCache:c,type:u,appContext:l}=t;if("__v_skip"===e)return!0;let h;if("$"!==e[0]){const t=c[e];if(void 0!==t)switch(t){case 0:return s[e];case 1:return o[e];case 3:return n[e];case 2:return a[e]}else{if(s!==i["b"]&&Object(i["j"])(s,e))return c[e]=0,s[e];if(o!==i["b"]&&Object(i["j"])(o,e))return c[e]=1,o[e];if((h=Ft(u)[0])&&Object(i["j"])(h,e))return c[e]=2,a[e];if(n!==i["b"]&&Object(i["j"])(n,e))return c[e]=3,n[e];c[e]=4}}const f=Ze[e];let d,p;return f?("$attrs"===e&&Object(r["n"])(t,"get",e),f(t)):(d=u.__cssModules)&&(d=d[e])?d:n!==i["b"]&&Object(i["j"])(n,e)?(c[e]=3,n[e]):(p=l.config.globalProperties,Object(i["j"])(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:s,ctx:o}=t;if(s!==i["b"]&&Object(i["j"])(s,e))s[e]=n;else if(r!==i["b"]&&Object(i["j"])(r,e))r[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(o[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:r,type:s,appContext:o}},a){let c;return void 0!==n[a]||t!==i["b"]&&Object(i["j"])(t,a)||e!==i["b"]&&Object(i["j"])(e,a)||(c=Ft(s)[0])&&Object(i["j"])(c,a)||Object(i["j"])(r,a)||Object(i["j"])(Ze,a)||Object(i["j"])(o.config.globalProperties,a)}};const Qe=Object(i["h"])({},Xe,{get(t,e){if(e!==Symbol.unscopables)return Xe.get(t,e,t)},has(t,e){const n="_"!==e[0]&&!Object(i["o"])(e);return n}});const tn=_e();let en=0;function nn(t,e,n){const r=t.type,s=(e?e.appContext:t.appContext)||tn,o={uid:en++,vnode:t,type:r,parent:e,appContext:s,root:null,next:null,subTree:null,update:null,render:null,proxy:null,withProxy:null,effects:null,provides:e?e.provides:Object.create(s.provides),accessCache:null,renderCache:[],ctx:i["b"],data:i["b"],props:i["b"],attrs:i["b"],slots:i["b"],refs:i["b"],setupState:i["b"],setupContext:null,suspense:n,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,emit:null,emitted:null};return o.ctx={_:o},o.root=e?e.root:o,o.emit=Ot.bind(null,o),o}let rn=null;const sn=()=>rn||E,on=t=>{rn=t};let an,cn=!1;function un(t,e=!1){cn=e;const{props:n,children:r,shapeFlag:i}=t.vnode,s=4&i;xt(t,n,s,e),ye(t,r);const o=s?ln(t,e):void 0;return cn=!1,o}function ln(t,e){const n=t.type;t.accessCache={},t.proxy=new Proxy(t.ctx,Xe);const{setup:s}=n;if(s){const n=t.setupContext=s.length>1?dn(t):null;rn=t,Object(r["f"])();const o=f(s,t,0,[t.props,n]);if(Object(r["j"])(),rn=null,Object(i["t"])(o)){if(e)return o.then(e=>{hn(t,e)});t.asyncDep=o}else hn(t,o)}else fn(t)}function hn(t,e,n){Object(i["n"])(e)?t.render=e:Object(i["r"])(e)&&(t.setupState=Object(r["g"])(e)),fn(t)}function fn(t,e){const n=t.type;t.render||(an&&n.template&&!n.render&&(n.render=an(n.template,{isCustomElement:t.appContext.config.isCustomElement,delimiters:n.delimiters})),t.render=n.render||i["d"],t.render._rc&&(t.withProxy=new Proxy(t.ctx,Qe))),rn=t,$e(t,n),rn=null}function dn(t){return{attrs:t.attrs,slots:t.slots,emit:t.emit}}function pn(t){rn&&(rn.effects||(rn.effects=[])).push(t)}const yn=/(?:^|[-_])(\w)/g,bn=t=>t.replace(yn,t=>t.toUpperCase()).replace(/[-_]/g,"");function gn(t,e,n=!1){let r=Object(i["n"])(e)&&e.displayName||e.name;if(!r&&e.__file){const t=e.__file.match(/([^/\\]+)\.vue$/);t&&(r=t[1])}if(!r&&t&&t.parent){const n=t=>{for(const n in t)if(t[n]===e)return n};r=n(t.parent.type.components)||n(t.appContext.components)}return r?bn(r):n?"App":"Anonymous"}function mn(t){const e=Object(r["a"])(t);return pn(e.effect),e}function vn(t){return Object(i["n"])(t)?{setup:t,name:t.name}:t}function _n(t,e,n){return 2===arguments.length?Object(i["r"])(e)&&!Object(i["m"])(e)?lt(e)?yt(t,null,[e]):yt(t,e):yt(t,null,e):(lt(n)&&(n=[n]),yt(t,e,n))}Symbol("");function wn(t,e){let n;if(Object(i["m"])(t)||Object(i["x"])(t)){n=new Array(t.length);for(let r=0,i=t.length;rl){var d,p=u(arguments[l++]),y=h?s(p).concat(h(p)):s(p),b=y.length,g=0;while(b>g)d=y[g++],r&&!f.call(p,d)||(n[d]=p[d])}return n}:l},"65f0":function(t,e,n){var r=n("861d"),i=n("e8b5"),s=n("b622"),o=s("species");t.exports=function(t,e){var n;return i(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?r(n)&&(n=n[o],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"69f3":function(t,e,n){var r,i,s,o=n("7f9a"),a=n("da84"),c=n("861d"),u=n("9112"),l=n("5135"),h=n("f772"),f=n("d012"),d=a.WeakMap,p=function(t){return s(t)?i(t):r(t,{})},y=function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(o){var b=new d,g=b.get,m=b.has,v=b.set;r=function(t,e){return v.call(b,t,e),e},i=function(t){return g.call(b,t)||{}},s=function(t){return m.call(b,t)}}else{var _=h("state");f[_]=!0,r=function(t,e){return u(t,_,e),e},i=function(t){return l(t,_)?t[_]:{}},s=function(t){return l(t,_)}}t.exports={set:r,get:i,has:s,enforce:p,getterFor:y}},"6eeb":function(t,e,n){var r=n("da84"),i=n("9112"),s=n("5135"),o=n("ce4e"),a=n("8925"),c=n("69f3"),u=c.get,l=c.enforce,h=String(String).split("String");(t.exports=function(t,e,n,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof e||s(n,"name")||i(n,"name",e),l(n).source=h.join("string"==typeof e?e:"")),t!==r?(c?!f&&t[e]&&(u=!0):delete t[e],u?t[e]=n:i(t,e,n)):u?t[e]=n:o(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||a(this)}))},7418:function(t,e){e.f=Object.getOwnPropertySymbols},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,i=n("825a"),s=n("37e8"),o=n("7839"),a=n("d012"),c=n("1be4"),u=n("cc12"),l=n("f772"),h=">",f="<",d="prototype",p="script",y=l("IE_PROTO"),b=function(){},g=function(t){return f+p+h+t+f+"/"+p+h},m=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},v=function(){var t,e=u("iframe"),n="java"+p+":";return e.style.display="none",c.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},_=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}_=r?m(r):v();var t=o.length;while(t--)delete _[d][o[t]];return _()};a[y]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[d]=i(t),n=new b,b[d]=null,n[y]=t):n=_(),void 0===e?n:s(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),i=n("9ed3"),s=n("e163"),o=n("d2bb"),a=n("d44e"),c=n("9112"),u=n("6eeb"),l=n("b622"),h=n("c430"),f=n("3f8c"),d=n("ae93"),p=d.IteratorPrototype,y=d.BUGGY_SAFARI_ITERATORS,b=l("iterator"),g="keys",m="values",v="entries",_=function(){return this};t.exports=function(t,e,n,l,d,w,I){i(n,e,l);var S,O,T,A=function(t){if(t===d&&F)return F;if(!y&&t in j)return j[t];switch(t){case g:return function(){return new n(this,t)};case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this)}},x=e+" Iterator",B=!1,j=t.prototype,D=j[b]||j["@@iterator"]||d&&j[d],F=!y&&D||A(d),L="Array"==e&&j.entries||D;if(L&&(S=s(L.call(new t)),p!==Object.prototype&&S.next&&(h||s(S)===p||(o?o(S,p):"function"!=typeof S[b]&&c(S,b,_)),a(S,x,!0,!0),h&&(f[x]=_))),d==m&&D&&D.name!==m&&(B=!0,F=function(){return D.call(this)}),h&&!I||j[b]===F||c(j,b,F),f[e]=F,d)if(O={values:A(m),keys:w?F:A(g),entries:A(v)},I)for(T in O)(y||B||!(T in j))&&u(j,T,O[T]);else r({target:e,proto:!0,forced:y||B},O);return O}},"7f9a":function(t,e,n){var r=n("da84"),i=n("8925"),s=r.WeakMap;t.exports="function"===typeof s&&/native code/.test(i(s))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"830f":function(t,e,n){"use strict";n.d(e,"a",(function(){return Q}));var r=n("9ff4"),i=n("5c40");n("a1e9");const s="http://www.w3.org/2000/svg",o="undefined"!==typeof document?document:null;let a,c;const u={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n)=>e?o.createElementNS(s,t):o.createElement(t,n?{is:n}:void 0),createText:t=>o.createTextNode(t),createComment:t=>o.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>o.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){return t.cloneNode(!0)},insertStaticContent(t,e,n,r){const i=r?c||(c=o.createElementNS(s,"svg")):a||(a=o.createElement("div"));i.innerHTML=t;const l=i.firstChild;let h=l,f=h;while(h)f=h,u.insert(h,e,n),h=i.firstChild;return[l,f]}};function l(t,e,n){if(null==e&&(e=""),n)t.setAttribute("class",e);else{const n=t._vtc;n&&(e=(e?[e,...n]:[...n]).join(" ")),t.className=e}}function h(t,e,n){const i=t.style;if(n)if(Object(r["x"])(n))e!==n&&(i.cssText=n);else{for(const t in n)d(i,t,n[t]);if(e&&!Object(r["x"])(e))for(const t in e)null==n[t]&&d(i,t,"")}else t.removeAttribute("style")}const f=/\s*!important$/;function d(t,e,n){if(e.startsWith("--"))t.setProperty(e,n);else{const i=b(t,e);f.test(n)?t.setProperty(Object(r["k"])(i),n.replace(f,""),"important"):t[i]=n}}const p=["Webkit","Moz","ms"],y={};function b(t,e){const n=y[e];if(n)return n;let i=Object(r["e"])(e);if("filter"!==i&&i in t)return y[e]=i;i=Object(r["f"])(i);for(let r=0;rdocument.createEvent("Event").timeStamp&&(_=()=>performance.now());let w=0;const I=Promise.resolve(),S=()=>{w=0},O=()=>w||(I.then(S),w=_());function T(t,e,n,r){t.addEventListener(e,n,r)}function A(t,e,n,r){t.removeEventListener(e,n,r)}function x(t,e,n,r,i=null){const s=n&&n.invoker;if(r&&s)n.invoker=null,s.value=r,r.invoker=s;else{const[n,o]=j(e);r?T(t,n,D(r,i),o):s&&A(t,n,s,o)}}const B=/(?:Once|Passive|Capture)$/;function j(t){let e;if(B.test(t)){let n;e={};while(n=t.match(B))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[t.slice(2).toLowerCase(),e]}function D(t,e){const n=t=>{const r=t.timeStamp||_();r>=n.attached-1&&Object(i["c"])(F(t,n.value),e,5,[t])};return n.value=t,t.invoker=n,n.attached=O(),n}function F(t,e){if(Object(r["m"])(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(t=>e=>!e._stopped&&t(e))}return e}const L=/^on[a-z]/,E=(t,e)=>"value"===e,M=(t,e,n,i,s=!1,o,a,c,u)=>{switch(e){case"class":l(t,i,s);break;case"style":h(t,n,i);break;default:Object(r["s"])(e)?Object(r["q"])(e)||x(t,e,n,i,a):U(t,e,i,s)?v(t,e,i,o,a,c,u):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),m(t,e,i,s));break}};function U(t,e,n,i){return i?"innerHTML"===e||!!(e in t&&L.test(e)&&Object(r["n"])(n)):"spellcheck"!==e&&"draggable"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&((!L.test(e)||!Object(r["x"])(n))&&e in t))}const C="transition",N="animation",k=(t,{slots:e})=>Object(i["m"])(i["a"],R(t),e);k.displayName="Transition";const V={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};k.props=Object(r["h"])({},i["a"].props,V);function R(t){let{name:e="v",type:n,css:i=!0,duration:s,enterFromClass:o=e+"-enter-from",enterActiveClass:a=e+"-enter-active",enterToClass:c=e+"-enter-to",appearFromClass:u=o,appearActiveClass:l=a,appearToClass:h=c,leaveFromClass:f=e+"-leave-from",leaveActiveClass:d=e+"-leave-active",leaveToClass:p=e+"-leave-to"}=t;const y={};for(const r in t)r in V||(y[r]=t[r]);if(!i)return y;const b=P(s),g=b&&b[0],m=b&&b[1],{onBeforeEnter:v,onEnter:_,onEnterCancelled:w,onLeave:I,onLeaveCancelled:S,onBeforeAppear:O=v,onAppear:T=_,onAppearCancelled:A=w}=y,x=(t,e,n)=>{Y(t,e?h:c),Y(t,e?l:a),n&&n()},B=(t,e)=>{Y(t,p),Y(t,d),e&&e()},j=t=>(e,r)=>{const i=t?T:_,s=()=>x(e,t,r);i&&i(e,s),W(()=>{Y(e,t?u:o),$(e,t?h:c),i&&i.length>1||(g?setTimeout(s,g):H(e,n,s))})};return Object(r["h"])(y,{onBeforeEnter(t){v&&v(t),$(t,a),$(t,o)},onBeforeAppear(t){O&&O(t),$(t,l),$(t,u)},onEnter:j(!1),onAppear:j(!0),onLeave(t,e){const r=()=>B(t,e);$(t,d),$(t,f),W(()=>{Y(t,f),$(t,p),I&&I.length>1||(m?setTimeout(r,m):H(t,n,r))}),I&&I(t,r)},onEnterCancelled(t){x(t,!1),w&&w(t)},onAppearCancelled(t){x(t,!0),A&&A(t)},onLeaveCancelled(t){B(t),S&&S(t)}})}function P(t){if(null==t)return null;if(Object(r["r"])(t))return[z(t.enter),z(t.leave)];{const e=z(t);return[e,e]}}function z(t){const e=Object(r["G"])(t);return e}function $(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.add(e)),(t._vtc||(t._vtc=new Set)).add(e)}function Y(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.remove(e));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function W(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}function H(t,e,n){const{type:r,timeout:i,propCount:s}=K(t,e);if(!r)return n();const o=r+"end";let a=0;const c=()=>{t.removeEventListener(o,u),n()},u=e=>{e.target===t&&++a>=s&&c()};setTimeout(()=>{a(n[t]||"").split(", "),i=r(C+"Delay"),s=r(C+"Duration"),o=G(i,s),a=r(N+"Delay"),c=r(N+"Duration"),u=G(a,c);let l=null,h=0,f=0;e===C?o>0&&(l=C,h=o,f=s.length):e===N?u>0&&(l=N,h=u,f=c.length):(h=Math.max(o,u),l=h>0?o>u?C:N:null,f=l?l===C?s.length:c.length:0);const d=l===C&&/\b(transform|all)(,|$)/.test(n[C+"Property"]);return{type:l,timeout:h,propCount:f,hasTransform:d}}function G(t,e){while(t.lengthq(e)+q(t[n])))}function q(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}new WeakMap,new WeakMap;const J=Object(r["h"])({patchProp:M,forcePatchProp:E},u);let Z;function X(){return Z||(Z=Object(i["g"])(J))}const Q=(...t)=>{const e=X().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=tt(t);if(!i)return;const s=e._component;Object(r["n"])(s)||s.render||s.template||(s.template=i.innerHTML),i.innerHTML="";const o=n(i);return i.removeAttribute("v-cloak"),i.setAttribute("data-v-app",""),o},e};function tt(t){if(Object(r["x"])(t)){const e=document.querySelector(t);return e}return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),i=n("9bf2"),s=n("5c6c");t.exports=function(t,e,n){var o=r(e);o in t?i.f(t,o,s(0,n)):t[o]=n}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),i=n("9bf2"),s=n("5c6c");t.exports=r?function(t,e,n){return i.f(t,e,s(1,n))}:function(t,e,n){return t[e]=n,t}},"94ca":function(t,e,n){var r=n("d039"),i=/#|\.prototype\./,s=function(t,e){var n=a[o(t)];return n==u||n!=c&&("function"==typeof e?r(e):!!e)},o=s.normalize=function(t){return String(t).replace(i,".").toLowerCase()},a=s.data={},c=s.NATIVE="N",u=s.POLYFILL="P";t.exports=s},"99af":function(t,e,n){"use strict";var r=n("23e7"),i=n("d039"),s=n("e8b5"),o=n("861d"),a=n("7b0b"),c=n("50c4"),u=n("8418"),l=n("65f0"),h=n("1dde"),f=n("b622"),d=n("2d00"),p=f("isConcatSpreadable"),y=9007199254740991,b="Maximum allowed index exceeded",g=d>=51||!i((function(){var t=[];return t[p]=!1,t.concat()[0]!==t})),m=h("concat"),v=function(t){if(!o(t))return!1;var e=t[p];return void 0!==e?!!e:s(t)},_=!g||!m;r({target:"Array",proto:!0,forced:_},{concat:function(t){var e,n,r,i,s,o=a(this),h=l(o,0),f=0;for(e=-1,r=arguments.length;ey)throw TypeError(b);for(n=0;n=y)throw TypeError(b);u(h,f++,s)}return h.length=f,h}})},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(o){var s=t["return"];throw void 0!==s&&r(s.call(t)),o}}},"9bf2":function(t,e,n){var r=n("83ab"),i=n("0cfb"),s=n("825a"),o=n("c04e"),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(s(t),e=o(e,!0),s(n),i)try{return a(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,i=n("7c73"),s=n("5c6c"),o=n("d44e"),a=n("3f8c"),c=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=i(r,{next:s(1,n)}),o(t,u,!1,!0),a[u]=c,t}},"9ff4":function(t,e,n){"use strict";(function(t){function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,"a",(function(){return S})),n.d(e,"b",(function(){return I})),n.d(e,"c",(function(){return T})),n.d(e,"d",(function(){return O})),n.d(e,"e",(function(){return K})),n.d(e,"f",(function(){return J})),n.d(e,"g",(function(){return Q})),n.d(e,"h",(function(){return j})),n.d(e,"i",(function(){return Z})),n.d(e,"j",(function(){return L})),n.d(e,"k",(function(){return q})),n.d(e,"l",(function(){return X})),n.d(e,"m",(function(){return E})),n.d(e,"n",(function(){return U})),n.d(e,"o",(function(){return s})),n.d(e,"p",(function(){return y})),n.d(e,"q",(function(){return B})),n.d(e,"r",(function(){return k})),n.d(e,"s",(function(){return x})),n.d(e,"t",(function(){return V})),n.d(e,"u",(function(){return Y})),n.d(e,"v",(function(){return b})),n.d(e,"w",(function(){return a})),n.d(e,"x",(function(){return C})),n.d(e,"y",(function(){return N})),n.d(e,"z",(function(){return m})),n.d(e,"A",(function(){return v})),n.d(e,"B",(function(){return r})),n.d(e,"C",(function(){return f})),n.d(e,"D",(function(){return c})),n.d(e,"E",(function(){return D})),n.d(e,"F",(function(){return _})),n.d(e,"G",(function(){return tt})),n.d(e,"H",(function(){return z}));const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl",s=r(i);const o="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",a=r(o);function c(t){if(E(t)){const e={};for(let n=0;n{if(t){const n=t.split(l);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function f(t){let e="";if(C(t))e=t;else if(E(t))for(let n=0;nm(t,e))}const _=t=>null==t?"":k(t)?JSON.stringify(t,w,2):String(t),w=(t,e)=>e instanceof Map?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[e,n])=>(t[e+" =>"]=n,t),{})}:e instanceof Set?{[`Set(${e.size})`]:[...e.values()]}:!k(e)||E(e)||$(e)?e:String(e),I={},S=[],O=()=>{},T=()=>!1,A=/^on[^a-z]/,x=t=>A.test(t),B=t=>t.startsWith("onUpdate:"),j=Object.assign,D=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},F=Object.prototype.hasOwnProperty,L=(t,e)=>F.call(t,e),E=Array.isArray,M=t=>t instanceof Date,U=t=>"function"===typeof t,C=t=>"string"===typeof t,N=t=>"symbol"===typeof t,k=t=>null!==t&&"object"===typeof t,V=t=>k(t)&&U(t.then)&&U(t.catch),R=Object.prototype.toString,P=t=>R.call(t),z=t=>P(t).slice(8,-1),$=t=>"[object Object]"===P(t),Y=r("key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),W=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},H=/-(\w)/g,K=W(t=>t.replace(H,(t,e)=>e?e.toUpperCase():"")),G=/\B([A-Z])/g,q=W(t=>t.replace(G,"-$1").toLowerCase()),J=W(t=>t.charAt(0).toUpperCase()+t.slice(1)),Z=(t,e)=>t!==e&&(t===t||e===e),X=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},tt=t=>{const e=parseFloat(t);return isNaN(e)?t:e}}).call(this,n("c8ba"))},a1e9:function(t,e,n){"use strict";n.d(e,"a",(function(){return Ot})),n.d(e,"b",(function(){return l})),n.d(e,"c",(function(){return yt})),n.d(e,"d",(function(){return dt})),n.d(e,"e",(function(){return mt})),n.d(e,"f",(function(){return g})),n.d(e,"g",(function(){return St})),n.d(e,"h",(function(){return ut})),n.d(e,"i",(function(){return vt})),n.d(e,"j",(function(){return v})),n.d(e,"k",(function(){return lt})),n.d(e,"l",(function(){return h})),n.d(e,"m",(function(){return bt})),n.d(e,"n",(function(){return _})),n.d(e,"o",(function(){return w})),n.d(e,"p",(function(){return wt}));var r=n("9ff4");const i=new WeakMap,s=[];let o;const a=Symbol(""),c=Symbol("");function u(t){return t&&!0===t._isEffect}function l(t,e=r["b"]){u(t)&&(t=t.raw);const n=d(t,e);return e.lazy||n(),n}function h(t){t.active&&(p(t),t.options.onStop&&t.options.onStop(),t.active=!1)}let f=0;function d(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!s.includes(n)){p(n);try{return m(),s.push(n),o=n,t()}finally{s.pop(),v(),o=s[s.length-1]}}};return n.id=f++,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}function p(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach(t=>h.add(t))};if("clear"===e)l.forEach(f);else if("length"===n&&Object(r["m"])(t))l.forEach((t,e)=>{("length"===e||e>=s)&&f(t)});else{void 0!==n&&f(l.get(n));const i="add"===e||"delete"===e&&!Object(r["m"])(t);(i||"set"===e&&t instanceof Map)&&f(l.get(Object(r["m"])(t)?"length":a)),i&&t instanceof Map&&f(l.get(c))}const d=t=>{t.options.scheduler?t.options.scheduler(t):t()};h.forEach(d)}const I=new Set(Object.getOwnPropertyNames(Symbol).map(t=>Symbol[t]).filter(r["y"])),S=B(),O=B(!1,!0),T=B(!0),A=B(!0,!0),x={};function B(t=!1,e=!1){return function(n,i,s){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_raw"===i&&s===(t?n["__v_readonly"]:n["__v_reactive"]))return n;const o=Object(r["m"])(n);if(o&&Object(r["j"])(x,i))return Reflect.get(x,i,s);const a=Reflect.get(n,i,s);return(Object(r["y"])(i)?I.has(i):"__proto__"===i||"__v_isRef"===i)?a:(t||_(n,"get",i),e?a:mt(a)?o?a:a.value:Object(r["r"])(a)?t?ht(a):ut(a):a)}}["includes","indexOf","lastIndexOf"].forEach(t=>{x[t]=function(...e){const n=bt(this);for(let t=0,i=this.length;tObject(r["r"])(t)?ut(t):t),V=t=>Object(r["r"])(t)?ht(t):t,R=t=>t,P=t=>Reflect.getPrototypeOf(t);function z(t,e,n){t=bt(t);const r=bt(e);e!==r&&_(t,"get",e),_(t,"get",r);const{has:i,get:s}=P(t);return i.call(t,e)?n(s.call(t,e)):i.call(t,r)?n(s.call(t,r)):void 0}function $(t){const e=bt(this),n=bt(t);t!==n&&_(e,"has",t),_(e,"has",n);const r=P(e).has;return r.call(e,t)||r.call(e,n)}function Y(t){return t=bt(t),_(t,"iterate",a),Reflect.get(P(t),"size",t)}function W(t){t=bt(t);const e=bt(this),n=P(e),r=n.has.call(e,t),i=n.add.call(e,t);return r||w(e,"add",t,t),i}function H(t,e){e=bt(e);const n=bt(this),{has:i,get:s,set:o}=P(n);let a=i.call(n,t);a||(t=bt(t),a=i.call(n,t));const c=s.call(n,t),u=o.call(n,t,e);return a?Object(r["i"])(e,c)&&w(n,"set",t,e,c):w(n,"add",t,e),u}function K(t){const e=bt(this),{has:n,get:r,delete:i}=P(e);let s=n.call(e,t);s||(t=bt(t),s=n.call(e,t));const o=r?r.call(e,t):void 0,a=i.call(e,t);return s&&w(e,"delete",t,void 0,o),a}function G(){const t=bt(this),e=0!==t.size,n=void 0,r=P(t).clear.call(t);return e&&w(t,"clear",void 0,void 0,n),r}function q(t,e){return function(n,r){const i=this,s=bt(i),o=t?V:e?R:k;function c(t,e){return n.call(r,o(t),o(e),i)}return!t&&_(s,"iterate",a),P(s).forEach.call(s,c)}}function J(t,e,n){return function(...r){const i=bt(this),s=i instanceof Map,o="entries"===t||t===Symbol.iterator&&s,u="keys"===t&&s,l=P(i)[t].apply(i,r),h=e?V:n?R:k;return!e&&_(i,"iterate",u?c:a),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:o?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function Z(t){return function(...e){return"delete"!==t&&this}}const X={get(t){return z(this,t,k)},get size(){return Y(this)},has:$,add:W,set:H,delete:K,clear:G,forEach:q(!1,!1)},Q={get(t){return z(this,t,R)},get size(){return Y(this)},has:$,add:W,set:H,delete:K,clear:G,forEach:q(!1,!0)},tt={get(t){return z(this,t,V)},get size(){return Y(this)},has:$,add:Z("add"),set:Z("set"),delete:Z("delete"),clear:Z("clear"),forEach:q(!0,!1)},et=["keys","values","entries",Symbol.iterator];function nt(t,e){const n=e?Q:t?tt:X;return(e,i,s)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get(Object(r["j"])(n,i)&&i in e?n:e,i,s)}et.forEach(t=>{X[t]=J(t,!1,!1),tt[t]=J(t,!0,!1),Q[t]=J(t,!1,!0)});const rt={get:nt(!1,!1)},it={get:nt(!1,!0)},st={get:nt(!0,!1)};const ot=new Set([Set,Map,WeakMap,WeakSet]),at=Object(r["B"])("Object,Array,Map,Set,WeakMap,WeakSet"),ct=t=>!t["__v_skip"]&&at(Object(r["H"])(t))&&!Object.isFrozen(t);function ut(t){return t&&t["__v_isReadonly"]?t:ft(t,!1,U,rt)}function lt(t){return ft(t,!1,N,it)}function ht(t){return ft(t,!0,C,st)}function ft(t,e,n,i){if(!Object(r["r"])(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const s=e?"__v_readonly":"__v_reactive";if(Object(r["j"])(t,s))return t[s];if(!ct(t))return t;const o=new Proxy(t,ot.has(t.constructor)?i:n);return Object(r["g"])(t,s,o),o}function dt(t){return pt(t)?dt(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function pt(t){return!(!t||!t["__v_isReadonly"])}function yt(t){return dt(t)||pt(t)}function bt(t){return t&&bt(t["__v_raw"])||t}const gt=t=>Object(r["r"])(t)?ut(t):t;function mt(t){return!!t&&!0===t.__v_isRef}function vt(t){return _t(t)}function _t(t,e=!1){if(mt(t))return t;let n=e?t:gt(t);const i={__v_isRef:!0,get value(){return _(i,"get","value"),n},set value(s){Object(r["i"])(bt(s),t)&&(t=s,n=e?s:gt(s),w(i,"set","value",s))}};return i}function wt(t){return mt(t)?t.value:t}const It={get:(t,e,n)=>wt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return mt(i)&&!mt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function St(t){return dt(t)?t:new Proxy(t,It)}function Ot(t){let e,n;Object(r["n"])(t)?(e=t,n=r["d"]):(e=t.get,n=t.set);let i,s,o=!0;const a=l(e,{lazy:!0,scheduler:()=>{o||(o=!0,w(s,"set","value"))}});return s={__v_isRef:!0,["__v_isReadonly"]:Object(r["n"])(t)||!t.set,effect:a,get value(){return o&&(i=a(),o=!1),_(s,"get","value"),i},set value(t){n(t)}},s}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),i=n("c430"),s=n("fea9"),o=n("d039"),a=n("d066"),c=n("4840"),u=n("cdf9"),l=n("6eeb"),h=!!s&&o((function(){s.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:h},{finally:function(t){var e=c(this,a("Promise")),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}}),i||"function"!=typeof s||s.prototype["finally"]||l(s.prototype,"finally",a("Promise").prototype["finally"])},a93d:function(t,e,n){"use strict"; -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var r="function"===typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,s=r?Symbol.for("react.portal"):60106,o=r?Symbol.for("react.fragment"):60107,a=r?Symbol.for("react.strict_mode"):60108,c=r?Symbol.for("react.profiler"):60114,u=r?Symbol.for("react.provider"):60109,l=r?Symbol.for("react.context"):60110,h=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,d=r?Symbol.for("react.forward_ref"):60112,p=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,b=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,m=r?Symbol.for("react.block"):60121,v=r?Symbol.for("react.fundamental"):60117,_=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function I(t){if("object"===typeof t&&null!==t){var e=t.$$typeof;switch(e){case i:switch(t=t.type,t){case h:case f:case o:case c:case a:case p:return t;default:switch(t=t&&t.$$typeof,t){case l:case d:case g:case b:case u:return t;default:return e}}case s:return e}}}function S(t){return I(t)===f}e.AsyncMode=h,e.ConcurrentMode=f,e.ContextConsumer=l,e.ContextProvider=u,e.Element=i,e.ForwardRef=d,e.Fragment=o,e.Lazy=g,e.Memo=b,e.Portal=s,e.Profiler=c,e.StrictMode=a,e.Suspense=p,e.isAsyncMode=function(t){return S(t)||I(t)===h},e.isConcurrentMode=S,e.isContextConsumer=function(t){return I(t)===l},e.isContextProvider=function(t){return I(t)===u},e.isElement=function(t){return"object"===typeof t&&null!==t&&t.$$typeof===i},e.isForwardRef=function(t){return I(t)===d},e.isFragment=function(t){return I(t)===o},e.isLazy=function(t){return I(t)===g},e.isMemo=function(t){return I(t)===b},e.isPortal=function(t){return I(t)===s},e.isProfiler=function(t){return I(t)===c},e.isStrictMode=function(t){return I(t)===a},e.isSuspense=function(t){return I(t)===p},e.isValidElementType=function(t){return"string"===typeof t||"function"===typeof t||t===o||t===f||t===c||t===a||t===p||t===y||"object"===typeof t&&null!==t&&(t.$$typeof===g||t.$$typeof===b||t.$$typeof===u||t.$$typeof===l||t.$$typeof===d||t.$$typeof===v||t.$$typeof===_||t.$$typeof===w||t.$$typeof===m)},e.typeOf=I},ab5b:function(t,e,n){"use strict";t.exports=n("be24")},ab8b:function(t,e,n){},ae40:function(t,e,n){var r=n("83ab"),i=n("d039"),s=n("5135"),o=Object.defineProperty,a={},c=function(t){throw t};t.exports=function(t,e){if(s(a,t))return a[t];e||(e={});var n=[][t],u=!!s(e,"ACCESSORS")&&e.ACCESSORS,l=s(e,0)?e[0]:c,h=s(e,1)?e[1]:void 0;return a[t]=!!n&&!i((function(){if(u&&!r)return!0;var t={length:-1};u?o(t,1,{enumerable:!0,get:c}):t[1]=1,n.call(t,l,h)}))}},ae93:function(t,e,n){"use strict";var r,i,s,o=n("e163"),a=n("9112"),c=n("5135"),u=n("b622"),l=n("c430"),h=u("iterator"),f=!1,d=function(){return this};[].keys&&(s=[].keys(),"next"in s?(i=o(o(s)),i!==Object.prototype&&(r=i)):f=!0),void 0==r&&(r={}),l||c(r,h)||a(r,h,d),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:f}},b575:function(t,e,n){var r,i,s,o,a,c,u,l,h=n("da84"),f=n("06cf").f,d=n("c6b6"),p=n("2cf4").set,y=n("1cdc"),b=h.MutationObserver||h.WebKitMutationObserver,g=h.process,m=h.Promise,v="process"==d(g),_=f(h,"queueMicrotask"),w=_&&_.value;w||(r=function(){var t,e;v&&(t=g.domain)&&t.exit();while(i){e=i.fn,i=i.next;try{e()}catch(n){throw i?o():s=void 0,n}}s=void 0,t&&t.enter()},v?o=function(){g.nextTick(r)}:b&&!y?(a=!0,c=document.createTextNode(""),new b(r).observe(c,{characterData:!0}),o=function(){c.data=a=!a}):m&&m.resolve?(u=m.resolve(void 0),l=u.then,o=function(){l.call(u,r)}):o=function(){p.call(h,r)}),t.exports=w||function(t){var e={fn:t,next:void 0};s&&(s.next=e),i||(i=e,o()),s=e}},b622:function(t,e,n){var r=n("da84"),i=n("5692"),s=n("5135"),o=n("90e3"),a=n("4930"),c=n("fdbf"),u=i("wks"),l=r.Symbol,h=c?l:l&&l.withoutSetter||o;t.exports=function(t){return s(u,t)||(a&&s(l,t)?u[t]=l[t]:u[t]=h("Symbol."+t)),u[t]}},be24:function(t,e,n){"use strict"; -/** @license React v16.13.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var r=n("320c"),i="function"===typeof Symbol&&Symbol.for,s=i?Symbol.for("react.element"):60103,o=i?Symbol.for("react.portal"):60106,a=i?Symbol.for("react.fragment"):60107,c=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,l=i?Symbol.for("react.provider"):60109,h=i?Symbol.for("react.context"):60110,f=i?Symbol.for("react.forward_ref"):60112,d=i?Symbol.for("react.suspense"):60113,p=i?Symbol.for("react.memo"):60115,y=i?Symbol.for("react.lazy"):60116,b="function"===typeof Symbol&&Symbol.iterator;function g(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;nL.length&&L.push(t)}function U(t,e,n,r){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var a=!1;if(null===t)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case s:case o:a=!0}}if(a)return n(r,t,""===e?"."+N(t,0):e),1;if(a=0,e=""===e?".":e+":",Array.isArray(t))for(var c=0;cc)r(a,n=e[c++])&&(~s(u,n)||u.push(n));return u}},cc12:function(t,e,n){var r=n("da84"),i=n("861d"),s=r.document,o=i(s)&&i(s.createElement);t.exports=function(t){return o?s.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),i=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},cd74:function(t,e,n){},cdf9:function(t,e,n){var r=n("825a"),i=n("861d"),s=n("f069");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=s.f(t),o=n.resolve;return o(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),i=n("9112");t.exports=function(t,e){try{i(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),i=n("da84"),s=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?s(r[t])||s(i[t]):r[t]&&r[t][e]||i[t]&&i[t][e]}},d092:function(t,e,n){"use strict";n.d(e,"a",(function(){return Vh}));var r={};n.r(r),n.d(r,"memcpy",(function(){return jt})),n.d(r,"joinUint8Arrays",(function(){return Dt})),n.d(r,"toArrayBufferView",(function(){return Ft})),n.d(r,"toInt8Array",(function(){return Lt})),n.d(r,"toInt16Array",(function(){return Et})),n.d(r,"toInt32Array",(function(){return Mt})),n.d(r,"toBigInt64Array",(function(){return Ut})),n.d(r,"toUint8Array",(function(){return Ct})),n.d(r,"toUint16Array",(function(){return Nt})),n.d(r,"toUint32Array",(function(){return kt})),n.d(r,"toBigUint64Array",(function(){return Vt})),n.d(r,"toFloat32Array",(function(){return Rt})),n.d(r,"toFloat64Array",(function(){return Pt})),n.d(r,"toUint8ClampedArray",(function(){return zt})),n.d(r,"toArrayBufferViewIterator",(function(){return Yt})),n.d(r,"toInt8ArrayIterator",(function(){return Wt})),n.d(r,"toInt16ArrayIterator",(function(){return Ht})),n.d(r,"toInt32ArrayIterator",(function(){return Kt})),n.d(r,"toUint8ArrayIterator",(function(){return Gt})),n.d(r,"toUint16ArrayIterator",(function(){return qt})),n.d(r,"toUint32ArrayIterator",(function(){return Jt})),n.d(r,"toFloat32ArrayIterator",(function(){return Zt})),n.d(r,"toFloat64ArrayIterator",(function(){return Xt})),n.d(r,"toUint8ClampedArrayIterator",(function(){return Qt})),n.d(r,"toArrayBufferViewAsyncIterator",(function(){return te})),n.d(r,"toInt8ArrayAsyncIterator",(function(){return ee})),n.d(r,"toInt16ArrayAsyncIterator",(function(){return ne})),n.d(r,"toInt32ArrayAsyncIterator",(function(){return re})),n.d(r,"toUint8ArrayAsyncIterator",(function(){return ie})),n.d(r,"toUint16ArrayAsyncIterator",(function(){return se})),n.d(r,"toUint32ArrayAsyncIterator",(function(){return oe})),n.d(r,"toFloat32ArrayAsyncIterator",(function(){return ae})),n.d(r,"toFloat64ArrayAsyncIterator",(function(){return ce})),n.d(r,"toUint8ClampedArrayAsyncIterator",(function(){return ue})),n.d(r,"rebaseValueOffsets",(function(){return le})),n.d(r,"compareArrayLike",(function(){return he}));var i={};n.r(i),n.d(i,"getBool",(function(){return Ee})),n.d(i,"getBit",(function(){return Me})),n.d(i,"setBool",(function(){return Ue})),n.d(i,"truncateBitmap",(function(){return Ce})),n.d(i,"packBools",(function(){return Ne})),n.d(i,"iterateBits",(function(){return ke})),n.d(i,"popcnt_bit_range",(function(){return Ve})),n.d(i,"popcnt_array",(function(){return Re})),n.d(i,"popcnt_uint32",(function(){return Pe}));var s={};n.r(s),n.d(s,"uint16ToFloat64",(function(){return gr})),n.d(s,"float64ToUint16",(function(){return mr}));var o={};n.r(o),n.d(o,"isArrowBigNumSymbol",(function(){return Sr})),n.d(o,"bignumToString",(function(){return jr})),n.d(o,"bignumToBigInt",(function(){return Dr})),n.d(o,"BN",(function(){return Lr}));var a={};n.r(a),n.d(a,"clampIndex",(function(){return yi})),n.d(a,"clampRange",(function(){return gi})),n.d(a,"createElementComparator",(function(){return _i}));var c={};n.r(c),n.d(c,"BaseInt64",(function(){return mo})),n.d(c,"Uint64",(function(){return vo})),n.d(c,"Int64",(function(){return _o})),n.d(c,"Int128",(function(){return wo}));n("da6a");var u=n("ab5b"),l=n.n(u);const h=new WeakMap,f=new WeakMap;function d(t){const e=h.get(t);return console.assert(null!=e,"'this' is expected an Event object, but got",t),e}function p(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"===typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!==typeof console&&"function"===typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function y(t,e){h.set(this,{eventTarget:t,event:e,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:e.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});const n=Object.keys(e);for(let r=0;r0){const t=new Array(arguments.length);for(let e=0;e57343)i.push(s);else if(56320<=s&&s<=57343)i.push(65533);else if(55296<=s&&s<=56319)if(r===n-1)i.push(65533);else{var o=t.charCodeAt(r+1);if(56320<=o&&o<=57343){var a=1023&s,c=1023&o;i.push(65536+(a<<10)+c),r+=1}else i.push(65533)}r+=1}return i}function V(t){for(var e="",n=0;n>10),56320+(1023&r)))}return e}U.Offset,U.Table,U.SIZEOF_SHORT=2,U.SIZEOF_INT=4,U.FILE_IDENTIFIER_LENGTH=4,U.Encoding={UTF8_BYTES:1,UTF16_STRING:2},U.int32=new Int32Array(2),U.float32=new Float32Array(U.int32.buffer),U.float64=new Float64Array(U.int32.buffer),U.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],U.Long=function(t,e){this.low=0|t,this.high=0|e},U.Long.create=function(t,e){return 0==t&&0==e?U.Long.ZERO:new U.Long(t,e)},U.Long.prototype.toFloat64=function(){return(this.low>>>0)+4294967296*this.high},U.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},U.Long.ZERO=new U.Long(0,0),U.Builder=function(t){if(t)e=t;else var e=1024;this.bb=U.ByteBuffer.allocate(e),this.space=e,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},U.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},U.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},U.Builder.prototype.dataBuffer=function(){return this.bb},U.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},U.Builder.prototype.prep=function(t,e){t>this.minalign&&(this.minalign=t);var n=1+~(this.bb.capacity()-this.space+e)&t-1;while(this.space=0&&0==this.vtable[e];e--);for(var n=e+1;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);var r=2;this.addInt16(t-this.object_start);var i=(n+r)*U.SIZEOF_SHORT;this.addInt16(i);var s=0,o=this.space;t:for(e=0;e=0;r--)this.writeInt8(n.charCodeAt(r))}this.prep(this.minalign,U.SIZEOF_INT),this.addOffset(t),this.bb.setPosition(this.space)},U.Builder.prototype.requiredField=function(t,e){var n=this.bb.capacity()-t,r=n-this.bb.readInt32(n),i=0!=this.bb.readInt16(r+e);if(!i)throw new Error("FlatBuffers: field "+e+" must be set")},U.Builder.prototype.startVector=function(t,e,n){this.notNested(),this.vector_num_elems=e,this.prep(U.SIZEOF_INT,t*e),this.prep(n,t*e)},U.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},U.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var e=t;else{e=[];var n=0;while(n=56320)r=i;else{var s=t.charCodeAt(n++);r=(i<<10)+s+-56613888}r<128?e.push(r):(r<2048?e.push(r>>6&31|192):(r<65536?e.push(r>>12&15|224):e.push(r>>18&7|240,r>>12&63|128),e.push(r>>6&63|128)),e.push(63&r|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);n=0;for(var o=this.space,a=this.bb.bytes();n>24},U.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},U.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},U.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},U.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},U.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},U.ByteBuffer.prototype.readInt64=function(t){return new U.Long(this.readInt32(t),this.readInt32(t+4))},U.ByteBuffer.prototype.readUint64=function(t){return new U.Long(this.readUint32(t),this.readUint32(t+4))},U.ByteBuffer.prototype.readFloat32=function(t){return U.int32[0]=this.readInt32(t),U.float32[0]},U.ByteBuffer.prototype.readFloat64=function(t){return U.int32[U.isLittleEndian?0:1]=this.readInt32(t),U.int32[U.isLittleEndian?1:0]=this.readInt32(t+4),U.float64[0]},U.ByteBuffer.prototype.writeInt8=function(t,e){this.bytes_[t]=e},U.ByteBuffer.prototype.writeUint8=function(t,e){this.bytes_[t]=e},U.ByteBuffer.prototype.writeInt16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},U.ByteBuffer.prototype.writeUint16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},U.ByteBuffer.prototype.writeInt32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},U.ByteBuffer.prototype.writeUint32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},U.ByteBuffer.prototype.writeInt64=function(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)},U.ByteBuffer.prototype.writeUint64=function(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)},U.ByteBuffer.prototype.writeFloat32=function(t,e){U.float32[0]=e,this.writeInt32(t,U.int32[0])},U.ByteBuffer.prototype.writeFloat64=function(t,e){U.float64[0]=e,this.writeInt32(t,U.int32[U.isLittleEndian?0:1]),this.writeInt32(t+4,U.int32[U.isLittleEndian?1:0])},U.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length>10),56320+(1023&s)))}return r},U.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},U.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+U.SIZEOF_INT},U.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},U.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=U.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: file identifier must be length "+U.FILE_IDENTIFIER_LENGTH);for(var e=0;e>6*n)+r];while(n>0){var s=e>>6*(n-1);i.push(128|63&s),n-=1}return i}}K.prototype={decode:function(t,e){var n;n="object"===typeof t&&t instanceof ArrayBuffer?new Uint8Array(t):"object"===typeof t&&"buffer"in t&&t.buffer instanceof ArrayBuffer?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(0),e=N(e),this._streaming||(this._decoder=new q({fatal:this._fatal}),this._BOMseen=!1),this._streaming=Boolean(e["stream"]);var r,i=new P(n),s=[];while(!i.endOfStream()){if(r=this._decoder.handler(i,i.read()),r===z)break;null!==r&&(Array.isArray(r)?s.push.apply(s,r):s.push(r))}if(!this._streaming){do{if(r=this._decoder.handler(i,i.read()),r===z)break;null!==r&&(Array.isArray(r)?s.push.apply(s,r):s.push(r))}while(!i.endOfStream());this._decoder=null}return s.length&&(-1===["utf-8"].indexOf(this.encoding)||this._ignoreBOM||this._BOMseen||(65279===s[0]?(this._BOMseen=!0,s.shift()):this._BOMseen=!0)),V(s)}},G.prototype={encode:function(t,e){t=t?String(t):"",e=N(e),this._streaming||(this._encoder=new J(this._options)),this._streaming=Boolean(e["stream"]);var n,r=[],i=new P(k(t));while(!i.endOfStream()){if(n=this._encoder.handler(i,i.read()),n===z)break;Array.isArray(n)?r.push.apply(r,n):r.push(n)}if(!this._streaming){while(1){if(n=this._encoder.handler(i,i.read()),n===z)break;Array.isArray(n)?r.push.apply(r,n):r.push(n)}this._encoder=null}return new Uint8Array(r)}};const Z="function"===typeof Buffer?Buffer:null,X="function"===typeof TextDecoder&&"function"===typeof TextEncoder,Q=(t=>{if(X||!Z){const e=new t("utf-8");return t=>e.decode(t)}return t=>{const{buffer:e,byteOffset:n,length:r}=Ct(t);return Z.from(e,n,r).toString()}})("undefined"!==typeof TextDecoder?TextDecoder:K),tt=(t=>{if(X||!Z){const e=new t;return t=>e.encode(t)}return(t="")=>Ct(Z.from(t,"utf8"))})("undefined"!==typeof TextEncoder?TextEncoder:G),et=Object.freeze({done:!0,value:void 0});class nt{constructor(t){this._json=t}get schema(){return this._json["schema"]}get batches(){return this._json["batches"]||[]}get dictionaries(){return this._json["dictionaries"]||[]}}class rt{tee(){return this._getDOMStream().tee()}pipe(t,e){return this._getNodeStream().pipe(t,e)}pipeTo(t,e){return this._getDOMStream().pipeTo(t,e)}pipeThrough(t,e){return this._getDOMStream().pipeThrough(t,e)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}}class it extends rt{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}get closed(){return this._closedPromise}async cancel(t){await this.return(t)}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){const{resolvers:t}=this;while(t.length>0)t.shift().resolve(et);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return fe.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return fe.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}async throw(t){return await this.abort(t),et}async return(t){return await this.close(),et}async read(t){return(await this.next(t,"read")).value}async peek(t){return(await this.next(t,"peek")).value}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,e)=>{this.resolvers.push({resolve:t,reject:e})}):Promise.resolve(et)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(this+" is closed")}}const[st,ot]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},"undefined"!==typeof BigInt?[BigInt,!0]:[e,!1]})(),[at,ct]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return"undefined"!==typeof BigInt64Array?[BigInt64Array,!0]:[e,!1]})(),[ut,lt]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return"undefined"!==typeof BigUint64Array?[BigUint64Array,!0]:[e,!1]})(),ht=t=>"number"===typeof t,ft=t=>"boolean"===typeof t,dt=t=>"function"===typeof t,pt=t=>null!=t&&Object(t)===t,yt=t=>pt(t)&&dt(t.then),bt=t=>pt(t)&&dt(t[Symbol.iterator]),gt=t=>pt(t)&&dt(t[Symbol.asyncIterator]),mt=t=>pt(t)&&pt(t["schema"]),vt=t=>pt(t)&&"done"in t&&"value"in t,_t=t=>pt(t)&&dt(t["stat"])&&ht(t["fd"]),wt=t=>pt(t)&&St(t["body"]),It=t=>pt(t)&&dt(t["abort"])&&dt(t["getWriter"])&&!(t instanceof rt),St=t=>pt(t)&&dt(t["cancel"])&&dt(t["getReader"])&&!(t instanceof rt),Ot=t=>pt(t)&&dt(t["end"])&&dt(t["write"])&&ft(t["writable"])&&!(t instanceof rt),Tt=t=>pt(t)&&dt(t["read"])&&dt(t["pipe"])&&ft(t["readable"])&&!(t instanceof rt);var At=U.ByteBuffer;const xt="undefined"!==typeof SharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;function Bt(t){let e,n,r,i,s=t[0]?[t[0]]:[];for(let o,a,c=0,u=0,l=t.length;++ct+e.byteLength,0),a=0,c=-1,u=Math.min(e||1/0,o);for(let l=s.length;++cFt(Int8Array,t),Et=t=>Ft(Int16Array,t),Mt=t=>Ft(Int32Array,t),Ut=t=>Ft(at,t),Ct=t=>Ft(Uint8Array,t),Nt=t=>Ft(Uint16Array,t),kt=t=>Ft(Uint32Array,t),Vt=t=>Ft(ut,t),Rt=t=>Ft(Float32Array,t),Pt=t=>Ft(Float64Array,t),zt=t=>Ft(Uint8ClampedArray,t),$t=t=>(t.next(),t);function*Yt(t,e){const n=function*(t){yield t},r="string"===typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof xt?n(e):bt(e)?e:n(e);yield*$t(function*(e){let n=null;do{n=e.next(yield Ft(t,n))}while(!n.done)}(r[Symbol.iterator]()))}const Wt=t=>Yt(Int8Array,t),Ht=t=>Yt(Int16Array,t),Kt=t=>Yt(Int32Array,t),Gt=t=>Yt(Uint8Array,t),qt=t=>Yt(Uint16Array,t),Jt=t=>Yt(Uint32Array,t),Zt=t=>Yt(Float32Array,t),Xt=t=>Yt(Float64Array,t),Qt=t=>Yt(Uint8ClampedArray,t);async function*te(t,e){if(yt(e))return yield*te(t,await e);const n=async function*(t){yield await t},r=async function*(t){yield*$t(function*(t){let e=null;do{e=t.next(yield e&&e.value)}while(!e.done)}(t[Symbol.iterator]()))},i="string"===typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof xt?n(e):bt(e)?r(e):gt(e)?e:n(e);yield*$t(async function*(e){let n=null;do{n=await e.next(yield Ft(t,n))}while(!n.done)}(i[Symbol.asyncIterator]()))}const ee=t=>te(Int8Array,t),ne=t=>te(Int16Array,t),re=t=>te(Int32Array,t),ie=t=>te(Uint8Array,t),se=t=>te(Uint16Array,t),oe=t=>te(Uint32Array,t),ae=t=>te(Float32Array,t),ce=t=>te(Float64Array,t),ue=t=>te(Uint8ClampedArray,t);function le(t,e,n){if(0!==t){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function he(t,e){let n=0,r=t.length;if(r!==e.length)return!1;if(r>0)do{if(t[n]!==e[n])return!1}while(++n(t.next(),t);function*pe(t){let e,n,r,i,s=!1,o=[],a=0;function c(){return"peek"===r?Dt(o,i)[0]:([n,o,a]=Dt(o,i),n)}({cmd:r,size:i}=yield null);let u=Gt(t)[Symbol.iterator]();try{do{if(({done:e,value:n}=isNaN(i-a)?u.next(void 0):u.next(i-a)),!e&&n.byteLength>0&&(o.push(n),a+=n.byteLength),e||i<=a)do{({cmd:r,size:i}=yield c())}while(i0&&(o.push(n),a+=n.byteLength),e||i<=a)do{({cmd:r,size:i}=yield c())}while(i0&&(o.push(Ct(e)),a+=e.byteLength),i||r<=a)do{({cmd:n,size:r}=yield c())}while(r{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=this.byobReader=this.defaultReader=null}async cancel(t){const{reader:e,source:n}=this;e&&await e["cancel"](t).catch(()=>{}),n&&n["locked"]&&this.releaseLock()}async read(t){if(0===t)return{done:null==this.reader,value:new Uint8Array(0)};const e=this.supportsBYOB&&"number"===typeof t?await this.readFromBYOBReader(t):await this.getDefaultReader().read();return!e.done&&(e.value=Ct(e)),e}getDefaultReader(){return this.byobReader&&this.releaseLock(),this.defaultReader||(this.defaultReader=this.source["getReader"](),this.defaultReader["closed"].catch(()=>{})),this.reader=this.defaultReader}getBYOBReader(){return this.defaultReader&&this.releaseLock(),this.byobReader||(this.byobReader=this.source["getReader"]({mode:"byob"}),this.byobReader["closed"].catch(()=>{})),this.reader=this.byobReader}async readFromBYOBReader(t){return await me(this.getBYOBReader(),new ArrayBuffer(t),0,t)}}async function me(t,e,n,r){if(n>=r)return{done:!1,value:new Uint8Array(e,0,r)};const{done:i,value:s}=await t.read(new Uint8Array(e,n,r-n));return(n+=s.byteLength){let n,r=t=>n([e,t]);return[e,r,new Promise(i=>(n=i)&&t["once"](e,r))]};async function*_e(t){let e,n,r,i=[],s="error",o=!1,a=null,c=0,u=[];function l(){return"peek"===e?Dt(u,n)[0]:([r,u,c]=Dt(u,n),r)}if(({cmd:e,size:n}=yield null),t["isTTY"])return yield new Uint8Array(0);try{i[0]=ve(t,"end"),i[1]=ve(t,"error");do{if(i[2]=ve(t,"readable"),[s,a]=await Promise.race(i.map(t=>t[2])),"error"===s)break;if((o="end"===s)||(isFinite(n-c)?(r=Ct(t["read"](n-c)),r.byteLength0&&(u.push(r),c+=r.byteLength)),o||n<=c)do{({cmd:e,size:n}=yield l())}while(n{for(const[n,o]of e)t["off"](n,o);try{const e=t["destroy"];e&&e.call(t,n),n=void 0}catch(s){n=s||n}finally{null!=n?i(n):r()}})}}class we{}var Ie,Se;(function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["V1"]=0]="V1",t[t["V2"]=1]="V2",t[t["V3"]=2]="V3",t[t["V4"]=3]="V4"})(e=t.MetadataVersion||(t.MetadataVersion={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))})(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["Sparse"]=0]="Sparse",t[t["Dense"]=1]="Dense"})(e=t.UnionMode||(t.UnionMode={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["HALF"]=0]="HALF",t[t["SINGLE"]=1]="SINGLE",t[t["DOUBLE"]=2]="DOUBLE"})(e=t.Precision||(t.Precision={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["DAY"]=0]="DAY",t[t["MILLISECOND"]=1]="MILLISECOND"})(e=t.DateUnit||(t.DateUnit={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["SECOND"]=0]="SECOND",t[t["MILLISECOND"]=1]="MILLISECOND",t[t["MICROSECOND"]=2]="MICROSECOND",t[t["NANOSECOND"]=3]="NANOSECOND"})(e=t.TimeUnit||(t.TimeUnit={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["YEAR_MONTH"]=0]="YEAR_MONTH",t[t["DAY_TIME"]=1]="DAY_TIME"})(e=t.IntervalUnit||(t.IntervalUnit={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["NONE"]=0]="NONE",t[t["Null"]=1]="Null",t[t["Int"]=2]="Int",t[t["FloatingPoint"]=3]="FloatingPoint",t[t["Binary"]=4]="Binary",t[t["Utf8"]=5]="Utf8",t[t["Bool"]=6]="Bool",t[t["Decimal"]=7]="Decimal",t[t["Date"]=8]="Date",t[t["Time"]=9]="Time",t[t["Timestamp"]=10]="Timestamp",t[t["Interval"]=11]="Interval",t[t["List"]=12]="List",t[t["Struct_"]=13]="Struct_",t[t["Union"]=14]="Union",t[t["FixedSizeBinary"]=15]="FixedSizeBinary",t[t["FixedSizeList"]=16]="FixedSizeList",t[t["Map"]=17]="Map",t[t["Duration"]=18]="Duration",t[t["LargeBinary"]=19]="LargeBinary",t[t["LargeUtf8"]=20]="LargeUtf8",t[t["LargeList"]=21]="LargeList"})(e=t.Type||(t.Type={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["Little"]=0]="Little",t[t["Big"]=1]="Big"})(e=t.Endianness||(t.Endianness={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNull(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){let e=t.endObject();return e}static createNull(t){return e.startNull(t),e.endNull(t)}}t.Null=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsStruct_(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){let e=t.endObject();return e}static createStruct_(t){return e.startStruct_(t),e.endStruct_(t)}}t.Struct_=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){let e=t.endObject();return e}static createList(t){return e.startList(t),e.endList(t)}}t.List=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeList(t){t.startObject(0)}static endLargeList(t){let e=t.endObject();return e}static createLargeList(t){return e.startLargeList(t),e.endLargeList(t)}}t.LargeList=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}listSize(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeList(t){let e=t.endObject();return e}static createFixedSizeList(t,n){return e.startFixedSizeList(t),e.addListSize(t,n),e.endFixedSizeList(t)}}t.FixedSizeList=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMap(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){let t=this.bb.__offset(this.bb_pos,4);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startMap(t){t.startObject(1)}static addKeysSorted(t,e){t.addFieldInt8(0,+e,0)}static endMap(t){let e=t.endObject();return e}static createMap(t,n){return e.startMap(t),e.addKeysSorted(t,n),e.endMap(t)}}t.Map=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnion(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}mode(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.UnionMode.Sparse}typeIds(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+4*t):0}typeIdsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.UnionMode.Sparse)}static addTypeIds(t,e){t.addFieldOffset(1,e,0)}static createTypeIdsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addInt32(e[n]);return t.endVector()}static startTypeIdsVector(t,e){t.startVector(4,e,4)}static endUnion(t){let e=t.endObject();return e}static createUnion(t,e,r){return n.startUnion(t),n.addMode(t,e),n.addTypeIds(t,r),n.endUnion(t)}}e.Union=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInt(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){let t=this.bb.__offset(this.bb_pos,6);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startInt(t){t.startObject(2)}static addBitWidth(t,e){t.addFieldInt32(0,e,0)}static addIsSigned(t,e){t.addFieldInt8(1,+e,0)}static endInt(t){let e=t.endObject();return e}static createInt(t,n,r){return e.startInt(t),e.addBitWidth(t,n),e.addIsSigned(t,r),e.endInt(t)}}t.Int=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFloatingPoint(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}precision(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.Precision.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.Precision.HALF)}static endFloatingPoint(t){let e=t.endObject();return e}static createFloatingPoint(t,e){return n.startFloatingPoint(t),n.addPrecision(t,e),n.endFloatingPoint(t)}}e.FloatingPoint=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){let e=t.endObject();return e}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}}t.Utf8=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){let e=t.endObject();return e}static createBinary(t){return e.startBinary(t),e.endBinary(t)}}t.Binary=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeUtf8(t){t.startObject(0)}static endLargeUtf8(t){let e=t.endObject();return e}static createLargeUtf8(t){return e.startLargeUtf8(t),e.endLargeUtf8(t)}}t.LargeUtf8=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeBinary(t){t.startObject(0)}static endLargeBinary(t){let e=t.endObject();return e}static createLargeBinary(t){return e.startLargeBinary(t),e.endLargeBinary(t)}}t.LargeBinary=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeBinary(t){let e=t.endObject();return e}static createFixedSizeBinary(t,n){return e.startFixedSizeBinary(t),e.addByteWidth(t,n),e.endFixedSizeBinary(t)}}t.FixedSizeBinary=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBool(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){let e=t.endObject();return e}static createBool(t){return e.startBool(t),e.endBool(t)}}t.Bool=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDecimal(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}static startDecimal(t){t.startObject(2)}static addPrecision(t,e){t.addFieldInt32(0,e,0)}static addScale(t,e){t.addFieldInt32(1,e,0)}static endDecimal(t){let e=t.endObject();return e}static createDecimal(t,n,r){return e.startDecimal(t),e.addPrecision(t,n),e.addScale(t,r),e.endDecimal(t)}}t.Decimal=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDate(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.DateUnit.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.DateUnit.MILLISECOND)}static endDate(t){let e=t.endObject();return e}static createDate(t,e){return n.startDate(t),n.addUnit(t,e),n.endDate(t)}}e.Date=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTime(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.TimeUnit.MILLISECOND}bitWidth(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}static addBitWidth(t,e){t.addFieldInt32(1,e,32)}static endTime(t){let e=t.endObject();return e}static createTime(t,e,r){return n.startTime(t),n.addUnit(t,e),n.addBitWidth(t,r),n.endTime(t)}}e.Time=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTimestamp(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.TimeUnit.SECOND}timezone(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.TimeUnit.SECOND)}static addTimezone(t,e){t.addFieldOffset(1,e,0)}static endTimestamp(t){let e=t.endObject();return e}static createTimestamp(t,e,r){return n.startTimestamp(t),n.addUnit(t,e),n.addTimezone(t,r),n.endTimestamp(t)}}e.Timestamp=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInterval(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH)}static endInterval(t){let e=t.endObject();return e}static createInterval(t,e){return n.startInterval(t),n.addUnit(t,e),n.endInterval(t)}}e.Interval=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDuration(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}unit(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.TimeUnit.MILLISECOND}static startDuration(t){t.startObject(1)}static addUnit(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}static endDuration(t){let e=t.endObject();return e}static createDuration(t,e){return n.startDuration(t),n.addUnit(t,e),n.endDuration(t)}}e.Duration=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKeyValue(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}key(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}value(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,e){t.addFieldOffset(0,e,0)}static addValue(t,e){t.addFieldOffset(1,e,0)}static endKeyValue(t){let e=t.endObject();return e}static createKeyValue(t,n,r){return e.startKeyValue(t),e.addKey(t,n),e.addValue(t,r),e.endKeyValue(t)}}t.KeyValue=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryEncoding(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}indexType(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.apache.arrow.flatbuf.Int).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isOrdered(){let t=this.bb.__offset(this.bb_pos,8);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startDictionaryEncoding(t){t.startObject(3)}static addId(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addIndexType(t,e){t.addFieldOffset(1,e,0)}static addIsOrdered(t,e){t.addFieldInt8(2,+e,0)}static endDictionaryEncoding(t){let e=t.endObject();return e}static createDictionaryEncoding(t,e,r,i){return n.startDictionaryEncoding(t),n.addId(t,e),n.addIndexType(t,r),n.addIsOrdered(t,i),n.endDictionaryEncoding(t)}}e.DictionaryEncoding=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsField(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):t.apache.arrow.flatbuf.Type.NONE}type(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(t,this.bb_pos+e):null}dictionary(e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new t.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new t.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new t.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,e){t.addFieldOffset(0,e,0)}static addNullable(t,e){t.addFieldInt8(1,+e,0)}static addTypeType(e,n){e.addFieldInt8(2,n,t.apache.arrow.flatbuf.Type.NONE)}static addType(t,e){t.addFieldOffset(3,e,0)}static addDictionary(t,e){t.addFieldOffset(4,e,0)}static addChildren(t,e){t.addFieldOffset(5,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(6,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endField(t){let e=t.endObject();return e}static createField(t,e,r,i,s,o,a,c){return n.startField(t),n.addName(t,e),n.addNullable(t,r),n.addTypeType(t,i),n.addType(t,s),n.addDictionary(t,o),n.addChildren(t,a),n.addCustomMetadata(t,c),n.endField(t)}}e.Field=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static createBuffer(t,e,n){return t.prep(8,16),t.writeInt64(n),t.writeInt64(e),t.offset()}}t.Buffer=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSchema(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):t.apache.arrow.flatbuf.Endianness.Little}fields(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new t.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(3)}static addEndianness(e,n){e.addFieldInt16(0,n,t.apache.arrow.flatbuf.Endianness.Little)}static addFields(t,e){t.addFieldOffset(1,e,0)}static createFieldsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startFieldsVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(2,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endSchema(t){let e=t.endObject();return e}static finishSchemaBuffer(t,e){t.finish(e)}static createSchema(t,e,r,i){return n.startSchema(t),n.addEndianness(t,e),n.addFields(t,r),n.addCustomMetadata(t,i),n.endSchema(t)}}e.Schema=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Ie||(Ie={})),function(t){(function(t){(function(t){(function(t){t.Schema=Ie.apache.arrow.flatbuf.Schema})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Se||(Se={})),function(t){(function(t){(function(t){(function(t){let e;(function(t){t[t["NONE"]=0]="NONE",t[t["Schema"]=1]="Schema",t[t["DictionaryBatch"]=2]="DictionaryBatch",t[t["RecordBatch"]=3]="RecordBatch",t[t["Tensor"]=4]="Tensor",t[t["SparseTensor"]=5]="SparseTensor"})(e=t.MessageHeader||(t.MessageHeader={}))})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Se||(Se={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static createFieldNode(t,e,n){return t.prep(8,16),t.writeInt64(n),t.writeInt64(e),t.offset()}}t.FieldNode=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Se||(Se={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRecordBatch(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}length(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}nodes(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.apache.arrow.flatbuf.FieldNode).__init(this.bb.__vector(this.bb_pos+r)+16*e,this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,e){let n=this.bb.__offset(this.bb_pos,8);return n?(e||new Ie.apache.arrow.flatbuf.Buffer).__init(this.bb.__vector(this.bb_pos+n)+16*t,this.bb):null}buffersLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startRecordBatch(t){t.startObject(3)}static addLength(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addNodes(t,e){t.addFieldOffset(1,e,0)}static startNodesVector(t,e){t.startVector(16,e,8)}static addBuffers(t,e){t.addFieldOffset(2,e,0)}static startBuffersVector(t,e){t.startVector(16,e,8)}static endRecordBatch(t){let e=t.endObject();return e}static createRecordBatch(t,e,r,i){return n.startRecordBatch(t),n.addLength(t,e),n.addNodes(t,r),n.addBuffers(t,i),n.endRecordBatch(t)}}e.RecordBatch=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Se||(Se={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryBatch(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}data(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.apache.arrow.flatbuf.RecordBatch).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){let t=this.bb.__offset(this.bb_pos,8);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startDictionaryBatch(t){t.startObject(3)}static addId(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addData(t,e){t.addFieldOffset(1,e,0)}static addIsDelta(t,e){t.addFieldInt8(2,+e,0)}static endDictionaryBatch(t){let e=t.endObject();return e}static createDictionaryBatch(t,e,r,i){return n.startDictionaryBatch(t),n.addId(t,e),n.addData(t,r),n.addIsDelta(t,i),n.endDictionaryBatch(t)}}e.DictionaryBatch=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Se||(Se={})),function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMessage(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Ie.apache.arrow.flatbuf.MetadataVersion.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):t.apache.arrow.flatbuf.MessageHeader.NONE}header(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}customMetadata(t,e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new Ie.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,e){t.addFieldInt16(0,e,Ie.apache.arrow.flatbuf.MetadataVersion.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,t.apache.arrow.flatbuf.MessageHeader.NONE)}static addHeader(t,e){t.addFieldOffset(2,e,0)}static addBodyLength(t,e){t.addFieldInt64(3,e,t.createLong(0,0))}static addCustomMetadata(t,e){t.addFieldOffset(4,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endMessage(t){let e=t.endObject();return e}static finishMessageBuffer(t,e){t.finish(e)}static createMessage(t,e,r,i,s,o){return n.startMessage(t),n.addVersion(t,e),n.addHeaderType(t,r),n.addHeader(t,i),n.addBodyLength(t,s),n.addCustomMetadata(t,o),n.endMessage(t)}}e.Message=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Se||(Se={}));Ie.apache.arrow.flatbuf.Type;var Oe,Te,Ae=Ie.apache.arrow.flatbuf.DateUnit,xe=Ie.apache.arrow.flatbuf.TimeUnit,Be=Ie.apache.arrow.flatbuf.Precision,je=Ie.apache.arrow.flatbuf.UnionMode,De=Ie.apache.arrow.flatbuf.IntervalUnit,Fe=Se.apache.arrow.flatbuf.MessageHeader,Le=Ie.apache.arrow.flatbuf.MetadataVersion;function Ee(t,e,n,r){return 0!==(n&1<>r}function Ue(t,e,n){return n?!!(t[e>>3]|=1<>3]&=~(1<0||n.byteLength>3):Ne(ke(n,t,e,null,Ee)).subarray(0,r)),i}return n}function Ne(t){let e=[],n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);let s=new Uint8Array(e.length+7&-8);return s.set(e),s}function*ke(t,e,n,r,i){let s=e%8,o=e>>3,a=0,c=n;for(;c>0;s=0){let e=t[o++];do{yield i(r,a++,e,s)}while(--c>0&&++s<8)}}function Ve(t,e,n){if(n-e<=0)return 0;if(n-e<8){let r=0;for(const i of ke(t,e,n-e,t,Me))r+=i;return r}const r=n>>3<<3,i=e+(e%8===0?0:8-e%8);return Ve(t,e,i)+Ve(t,r,n)+Re(t,i>>3,r-i>>3)}function Re(t,e,n){let r=0,i=0|e;const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=void 0===n?t.byteLength:i+n;while(o-i>=4)r+=Pe(s.getUint32(i)),i+=4;while(o-i>=2)r+=Pe(s.getUint16(i)),i+=2;while(o-i>=1)r+=Pe(s.getUint8(i)),i+=1;return r}function Pe(t){let e=0|t;return e-=e>>>1&1431655765,e=(858993459&e)+(e>>>2&858993459),16843009*(e+(e>>>4)&252645135)>>>24}(function(t){t[t["NONE"]=0]="NONE",t[t["Null"]=1]="Null",t[t["Int"]=2]="Int",t[t["Float"]=3]="Float",t[t["Binary"]=4]="Binary",t[t["Utf8"]=5]="Utf8",t[t["Bool"]=6]="Bool",t[t["Decimal"]=7]="Decimal",t[t["Date"]=8]="Date",t[t["Time"]=9]="Time",t[t["Timestamp"]=10]="Timestamp",t[t["Interval"]=11]="Interval",t[t["List"]=12]="List",t[t["Struct"]=13]="Struct",t[t["Union"]=14]="Union",t[t["FixedSizeBinary"]=15]="FixedSizeBinary",t[t["FixedSizeList"]=16]="FixedSizeList",t[t["Map"]=17]="Map",t[t["Dictionary"]=-1]="Dictionary",t[t["Int8"]=-2]="Int8",t[t["Int16"]=-3]="Int16",t[t["Int32"]=-4]="Int32",t[t["Int64"]=-5]="Int64",t[t["Uint8"]=-6]="Uint8",t[t["Uint16"]=-7]="Uint16",t[t["Uint32"]=-8]="Uint32",t[t["Uint64"]=-9]="Uint64",t[t["Float16"]=-10]="Float16",t[t["Float32"]=-11]="Float32",t[t["Float64"]=-12]="Float64",t[t["DateDay"]=-13]="DateDay",t[t["DateMillisecond"]=-14]="DateMillisecond",t[t["TimestampSecond"]=-15]="TimestampSecond",t[t["TimestampMillisecond"]=-16]="TimestampMillisecond",t[t["TimestampMicrosecond"]=-17]="TimestampMicrosecond",t[t["TimestampNanosecond"]=-18]="TimestampNanosecond",t[t["TimeSecond"]=-19]="TimeSecond",t[t["TimeMillisecond"]=-20]="TimeMillisecond",t[t["TimeMicrosecond"]=-21]="TimeMicrosecond",t[t["TimeNanosecond"]=-22]="TimeNanosecond",t[t["DenseUnion"]=-23]="DenseUnion",t[t["SparseUnion"]=-24]="SparseUnion",t[t["IntervalDayTime"]=-25]="IntervalDayTime",t[t["IntervalYearMonth"]=-26]="IntervalYearMonth"})(Oe||(Oe={})),function(t){t[t["OFFSET"]=0]="OFFSET",t[t["DATA"]=1]="DATA",t[t["VALIDITY"]=2]="VALIDITY",t[t["TYPE"]=3]="TYPE"}(Te||(Te={}));class ze{visitMany(t,...e){return t.map((t,n)=>this.visit(t,...e.map(t=>t[n])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,e=!0){return $e(this,t,e)}visitNull(t,...e){return null}visitBool(t,...e){return null}visitInt(t,...e){return null}visitFloat(t,...e){return null}visitUtf8(t,...e){return null}visitBinary(t,...e){return null}visitFixedSizeBinary(t,...e){return null}visitDate(t,...e){return null}visitTimestamp(t,...e){return null}visitTime(t,...e){return null}visitDecimal(t,...e){return null}visitList(t,...e){return null}visitStruct(t,...e){return null}visitUnion(t,...e){return null}visitDictionary(t,...e){return null}visitInterval(t,...e){return null}visitFixedSizeList(t,...e){return null}visitMap(t,...e){return null}}function $e(t,e,n=!0){let r=null,i=Oe.NONE;switch(e instanceof Yn||e instanceof we?i=Ye(e.type):e instanceof un?i=Ye(e):"number"!==typeof(i=e)&&(i=Oe[e]),i){case Oe.Null:r=t.visitNull;break;case Oe.Bool:r=t.visitBool;break;case Oe.Int:r=t.visitInt;break;case Oe.Int8:r=t.visitInt8||t.visitInt;break;case Oe.Int16:r=t.visitInt16||t.visitInt;break;case Oe.Int32:r=t.visitInt32||t.visitInt;break;case Oe.Int64:r=t.visitInt64||t.visitInt;break;case Oe.Uint8:r=t.visitUint8||t.visitInt;break;case Oe.Uint16:r=t.visitUint16||t.visitInt;break;case Oe.Uint32:r=t.visitUint32||t.visitInt;break;case Oe.Uint64:r=t.visitUint64||t.visitInt;break;case Oe.Float:r=t.visitFloat;break;case Oe.Float16:r=t.visitFloat16||t.visitFloat;break;case Oe.Float32:r=t.visitFloat32||t.visitFloat;break;case Oe.Float64:r=t.visitFloat64||t.visitFloat;break;case Oe.Utf8:r=t.visitUtf8;break;case Oe.Binary:r=t.visitBinary;break;case Oe.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case Oe.Date:r=t.visitDate;break;case Oe.DateDay:r=t.visitDateDay||t.visitDate;break;case Oe.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case Oe.Timestamp:r=t.visitTimestamp;break;case Oe.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case Oe.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case Oe.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case Oe.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case Oe.Time:r=t.visitTime;break;case Oe.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case Oe.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case Oe.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case Oe.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case Oe.Decimal:r=t.visitDecimal;break;case Oe.List:r=t.visitList;break;case Oe.Struct:r=t.visitStruct;break;case Oe.Union:r=t.visitUnion;break;case Oe.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case Oe.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case Oe.Dictionary:r=t.visitDictionary;break;case Oe.Interval:r=t.visitInterval;break;case Oe.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case Oe.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case Oe.FixedSizeList:r=t.visitFixedSizeList;break;case Oe.Map:r=t.visitMap;break}if("function"===typeof r)return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${Oe[i]}'`)}function Ye(t){switch(t.typeId){case Oe.Null:return Oe.Null;case Oe.Int:const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?Oe.Int8:Oe.Uint8;case 16:return n?Oe.Int16:Oe.Uint16;case 32:return n?Oe.Int32:Oe.Uint32;case 64:return n?Oe.Int64:Oe.Uint64}return Oe.Int;case Oe.Float:switch(t.precision){case Be.HALF:return Oe.Float16;case Be.SINGLE:return Oe.Float32;case Be.DOUBLE:return Oe.Float64}return Oe.Float;case Oe.Binary:return Oe.Binary;case Oe.Utf8:return Oe.Utf8;case Oe.Bool:return Oe.Bool;case Oe.Decimal:return Oe.Decimal;case Oe.Time:switch(t.unit){case xe.SECOND:return Oe.TimeSecond;case xe.MILLISECOND:return Oe.TimeMillisecond;case xe.MICROSECOND:return Oe.TimeMicrosecond;case xe.NANOSECOND:return Oe.TimeNanosecond}return Oe.Time;case Oe.Timestamp:switch(t.unit){case xe.SECOND:return Oe.TimestampSecond;case xe.MILLISECOND:return Oe.TimestampMillisecond;case xe.MICROSECOND:return Oe.TimestampMicrosecond;case xe.NANOSECOND:return Oe.TimestampNanosecond}return Oe.Timestamp;case Oe.Date:switch(t.unit){case Ae.DAY:return Oe.DateDay;case Ae.MILLISECOND:return Oe.DateMillisecond}return Oe.Date;case Oe.Interval:switch(t.unit){case De.DAY_TIME:return Oe.IntervalDayTime;case De.YEAR_MONTH:return Oe.IntervalYearMonth}return Oe.Interval;case Oe.Map:return Oe.Map;case Oe.List:return Oe.List;case Oe.Struct:return Oe.Struct;case Oe.Union:switch(t.mode){case je.Dense:return Oe.DenseUnion;case je.Sparse:return Oe.SparseUnion}return Oe.Union;case Oe.FixedSizeBinary:return Oe.FixedSizeBinary;case Oe.FixedSizeList:return Oe.FixedSizeList;case Oe.Dictionary:return Oe.Dictionary}throw new Error(`Unrecognized type '${Oe[t.typeId]}'`)}ze.prototype.visitInt8=null,ze.prototype.visitInt16=null,ze.prototype.visitInt32=null,ze.prototype.visitInt64=null,ze.prototype.visitUint8=null,ze.prototype.visitUint16=null,ze.prototype.visitUint32=null,ze.prototype.visitUint64=null,ze.prototype.visitFloat16=null,ze.prototype.visitFloat32=null,ze.prototype.visitFloat64=null,ze.prototype.visitDateDay=null,ze.prototype.visitDateMillisecond=null,ze.prototype.visitTimestampSecond=null,ze.prototype.visitTimestampMillisecond=null,ze.prototype.visitTimestampMicrosecond=null,ze.prototype.visitTimestampNanosecond=null,ze.prototype.visitTimeSecond=null,ze.prototype.visitTimeMillisecond=null,ze.prototype.visitTimeMicrosecond=null,ze.prototype.visitTimeNanosecond=null,ze.prototype.visitDenseUnion=null,ze.prototype.visitSparseUnion=null,ze.prototype.visitIntervalDayTime=null,ze.prototype.visitIntervalYearMonth=null;class We extends ze{compareSchemas(t,e){return t===e||e instanceof t.constructor&&cn.compareFields(t.fields,e.fields)}compareFields(t,e){return t===e||Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((t,n)=>cn.compareField(t,e[n]))}compareField(t,e){return t===e||e instanceof t.constructor&&t.name===e.name&&t.nullable===e.nullable&&cn.visit(t.type,e.type)}}function He(t,e){return e instanceof t.constructor}function Ke(t,e){return t===e||He(t,e)}function Ge(t,e){return t===e||He(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function qe(t,e){return t===e||He(t,e)&&t.precision===e.precision}function Je(t,e){return t===e||He(t,e)&&t.byteWidth===e.byteWidth}function Ze(t,e){return t===e||He(t,e)&&t.unit===e.unit}function Xe(t,e){return t===e||He(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function Qe(t,e){return t===e||He(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function tn(t,e){return t===e||He(t,e)&&t.children.length===e.children.length&&cn.compareFields(t.children,e.children)}function en(t,e){return t===e||He(t,e)&&t.children.length===e.children.length&&cn.compareFields(t.children,e.children)}function nn(t,e){return t===e||He(t,e)&&t.mode===e.mode&&t.typeIds.every((t,n)=>t===e.typeIds[n])&&cn.compareFields(t.children,e.children)}function rn(t,e){return t===e||He(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&cn.visit(t.indices,e.indices)&&cn.visit(t.dictionary,e.dictionary)}function sn(t,e){return t===e||He(t,e)&&t.unit===e.unit}function on(t,e){return t===e||He(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&cn.compareFields(t.children,e.children)}function an(t,e){return t===e||He(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&cn.compareFields(t.children,e.children)}We.prototype.visitNull=Ke,We.prototype.visitBool=Ke,We.prototype.visitInt=Ge,We.prototype.visitInt8=Ge,We.prototype.visitInt16=Ge,We.prototype.visitInt32=Ge,We.prototype.visitInt64=Ge,We.prototype.visitUint8=Ge,We.prototype.visitUint16=Ge,We.prototype.visitUint32=Ge,We.prototype.visitUint64=Ge,We.prototype.visitFloat=qe,We.prototype.visitFloat16=qe,We.prototype.visitFloat32=qe,We.prototype.visitFloat64=qe,We.prototype.visitUtf8=Ke,We.prototype.visitBinary=Ke,We.prototype.visitFixedSizeBinary=Je,We.prototype.visitDate=Ze,We.prototype.visitDateDay=Ze,We.prototype.visitDateMillisecond=Ze,We.prototype.visitTimestamp=Xe,We.prototype.visitTimestampSecond=Xe,We.prototype.visitTimestampMillisecond=Xe,We.prototype.visitTimestampMicrosecond=Xe,We.prototype.visitTimestampNanosecond=Xe,We.prototype.visitTime=Qe,We.prototype.visitTimeSecond=Qe,We.prototype.visitTimeMillisecond=Qe,We.prototype.visitTimeMicrosecond=Qe,We.prototype.visitTimeNanosecond=Qe,We.prototype.visitDecimal=Ke,We.prototype.visitList=tn,We.prototype.visitStruct=en,We.prototype.visitUnion=nn,We.prototype.visitDenseUnion=nn,We.prototype.visitSparseUnion=nn,We.prototype.visitDictionary=rn,We.prototype.visitInterval=sn,We.prototype.visitIntervalDayTime=sn,We.prototype.visitIntervalYearMonth=sn,We.prototype.visitFixedSizeList=on,We.prototype.visitMap=an;const cn=new We;class un{static isNull(t){return t&&t.typeId===Oe.Null}static isInt(t){return t&&t.typeId===Oe.Int}static isFloat(t){return t&&t.typeId===Oe.Float}static isBinary(t){return t&&t.typeId===Oe.Binary}static isUtf8(t){return t&&t.typeId===Oe.Utf8}static isBool(t){return t&&t.typeId===Oe.Bool}static isDecimal(t){return t&&t.typeId===Oe.Decimal}static isDate(t){return t&&t.typeId===Oe.Date}static isTime(t){return t&&t.typeId===Oe.Time}static isTimestamp(t){return t&&t.typeId===Oe.Timestamp}static isInterval(t){return t&&t.typeId===Oe.Interval}static isList(t){return t&&t.typeId===Oe.List}static isStruct(t){return t&&t.typeId===Oe.Struct}static isUnion(t){return t&&t.typeId===Oe.Union}static isFixedSizeBinary(t){return t&&t.typeId===Oe.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===Oe.FixedSizeList}static isMap(t){return t&&t.typeId===Oe.Map}static isDictionary(t){return t&&t.typeId===Oe.Dictionary}get typeId(){return Oe.NONE}compareTo(t){return cn.visit(this,t)}}un[Symbol.toStringTag]=(t=>(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(un.prototype);class ln extends un{toString(){return"Null"}get typeId(){return Oe.Null}}ln[Symbol.toStringTag]=(t=>t[Symbol.toStringTag]="Null")(ln.prototype);class hn extends un{constructor(t,e){super(),this.isSigned=t,this.bitWidth=e}get typeId(){return Oe.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?Int32Array:Uint32Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}hn[Symbol.toStringTag]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(hn.prototype);class fn extends hn{constructor(){super(!0,8)}}class dn extends hn{constructor(){super(!0,16)}}class pn extends hn{constructor(){super(!0,32)}}class yn extends hn{constructor(){super(!0,64)}}class bn extends hn{constructor(){super(!1,8)}}class gn extends hn{constructor(){super(!1,16)}}class mn extends hn{constructor(){super(!1,32)}}class vn extends hn{constructor(){super(!1,64)}}Object.defineProperty(fn.prototype,"ArrayType",{value:Int8Array}),Object.defineProperty(dn.prototype,"ArrayType",{value:Int16Array}),Object.defineProperty(pn.prototype,"ArrayType",{value:Int32Array}),Object.defineProperty(yn.prototype,"ArrayType",{value:Int32Array}),Object.defineProperty(bn.prototype,"ArrayType",{value:Uint8Array}),Object.defineProperty(gn.prototype,"ArrayType",{value:Uint16Array}),Object.defineProperty(mn.prototype,"ArrayType",{value:Uint32Array}),Object.defineProperty(vn.prototype,"ArrayType",{value:Uint32Array});class _n extends un{constructor(t){super(),this.precision=t}get typeId(){return Oe.Float}get ArrayType(){switch(this.precision){case Be.HALF:return Uint16Array;case Be.SINGLE:return Float32Array;case Be.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return"Float"+(this.precision<<5||16)}}_n[Symbol.toStringTag]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(_n.prototype);class wn extends _n{constructor(){super(Be.HALF)}}class In extends _n{constructor(){super(Be.SINGLE)}}class Sn extends _n{constructor(){super(Be.DOUBLE)}}Object.defineProperty(wn.prototype,"ArrayType",{value:Uint16Array}),Object.defineProperty(In.prototype,"ArrayType",{value:Float32Array}),Object.defineProperty(Sn.prototype,"ArrayType",{value:Float64Array});class On extends un{constructor(){super()}get typeId(){return Oe.Binary}toString(){return"Binary"}}On[Symbol.toStringTag]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(On.prototype);class Tn extends un{constructor(){super()}get typeId(){return Oe.Utf8}toString(){return"Utf8"}}Tn[Symbol.toStringTag]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Tn.prototype);class An extends un{constructor(){super()}get typeId(){return Oe.Bool}toString(){return"Bool"}}An[Symbol.toStringTag]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(An.prototype);class xn extends un{constructor(t,e){super(),this.scale=t,this.precision=e}get typeId(){return Oe.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}xn[Symbol.toStringTag]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(xn.prototype);class Bn extends un{constructor(t){super(),this.unit=t}get typeId(){return Oe.Date}toString(){return`Date${32*(this.unit+1)}<${Ae[this.unit]}>`}}Bn[Symbol.toStringTag]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Bn.prototype);class jn extends Bn{constructor(){super(Ae.DAY)}}class Dn extends Bn{constructor(){super(Ae.MILLISECOND)}}class Fn extends un{constructor(t,e){super(),this.unit=t,this.bitWidth=e}get typeId(){return Oe.Time}toString(){return`Time${this.bitWidth}<${xe[this.unit]}>`}}Fn[Symbol.toStringTag]=(t=>(t.unit=null,t.bitWidth=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Time"))(Fn.prototype);class Ln extends un{constructor(t,e){super(),this.unit=t,this.timezone=e}get typeId(){return Oe.Timestamp}toString(){return`Timestamp<${xe[this.unit]}${this.timezone?", "+this.timezone:""}>`}}Ln[Symbol.toStringTag]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Ln.prototype);class En extends un{constructor(t){super(),this.unit=t}get typeId(){return Oe.Interval}toString(){return`Interval<${De[this.unit]}>`}}En[Symbol.toStringTag]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(En.prototype);class Mn extends un{constructor(t){super(),this.children=[t]}get typeId(){return Oe.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}Mn[Symbol.toStringTag]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Mn.prototype);class Un extends un{constructor(t){super(),this.children=t}get typeId(){return Oe.Struct}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}}Un[Symbol.toStringTag]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(Un.prototype);class Cn extends un{constructor(t,e,n){super(),this.mode=t,this.children=n,this.typeIds=e=Int32Array.from(e),this.typeIdToChildIndex=e.reduce((t,e,n)=>(t[e]=n)&&t||t,Object.create(null))}get typeId(){return Oe.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>""+t.type).join(" | ")}>`}}Cn[Symbol.toStringTag]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Cn.prototype);class Nn extends un{constructor(t){super(),this.byteWidth=t}get typeId(){return Oe.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}Nn[Symbol.toStringTag]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Nn.prototype);class kn extends un{constructor(t,e){super(),this.listSize=t,this.children=[e]}get typeId(){return Oe.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}kn[Symbol.toStringTag]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(kn.prototype);class Vn extends un{constructor(t,e=!1){super(),this.children=[t],this.keysSorted=e}get typeId(){return Oe.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}}Vn[Symbol.toStringTag]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))(Vn.prototype);const Rn=(t=>()=>++t)(-1);class Pn extends un{constructor(t,e,n,r){super(),this.indices=e,this.dictionary=t,this.isOrdered=r||!1,this.id=null==n?Rn():"number"===typeof n?n:n.low}get typeId(){return Oe.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}function zn(t){let e=t;switch(t.typeId){case Oe.Decimal:return 4;case Oe.Timestamp:return 2;case Oe.Date:return 1+e.unit;case Oe.Interval:return 1+e.unit;case Oe.Int:return+(e.bitWidth>32)+1;case Oe.Time:return+(e.bitWidth>32)+1;case Oe.FixedSizeList:return e.listSize;case Oe.FixedSizeBinary:return e.byteWidth;default:return 1}}Pn[Symbol.toStringTag]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Pn.prototype);const $n=-1;class Yn{constructor(t,e,n,r,i,s,o){let a;this.type=t,this.dictionary=o,this.offset=Math.floor(Math.max(e||0,0)),this.length=Math.floor(Math.max(n||0,0)),this._nullCount=Math.floor(Math.max(r||0,-1)),this.childData=(s||[]).map(t=>t instanceof Yn?t:t.data),i instanceof Yn?(this.stride=i.stride,this.values=i.values,this.typeIds=i.typeIds,this.nullBitmap=i.nullBitmap,this.valueOffsets=i.valueOffsets):(this.stride=zn(t),i&&((a=i[0])&&(this.valueOffsets=a),(a=i[1])&&(this.values=a),(a=i[2])&&(this.nullBitmap=a),(a=i[3])&&(this.typeIds=a)))}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let t=0,{valueOffsets:e,values:n,nullBitmap:r,typeIds:i}=this;return e&&(t+=e.byteLength),n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),this.childData.reduce((t,e)=>t+e.byteLength,t)}get nullCount(){let t,e=this._nullCount;return e<=$n&&(t=this.nullBitmap)&&(this._nullCount=e=this.length-Ve(t,this.offset,this.offset+this.length)),e}clone(t,e=this.offset,n=this.length,r=this._nullCount,i=this,s=this.childData){return new Yn(t,e,n,r,i,s,this.dictionary)}slice(t,e){const{stride:n,typeId:r,childData:i}=this,s=+(0===this._nullCount)-1,o=16===r?n:1,a=this._sliceBuffers(t,e,n,r);return this.clone(this.type,this.offset+t,e,s,a,!i.length||this.valueOffsets?i:this._sliceChildren(i,o*t,o*e))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Oe.Null)return this.clone(this.type,0,t,0);const{length:e,nullCount:n}=this,r=new Uint8Array((t+63&-64)>>3).fill(255,0,e>>3);r[e>>3]=(1<0&&r.set(Ce(this.offset,e,this.nullBitmap),0);const i=this.buffers;return i[Te.VALIDITY]=r,this.clone(this.type,0,t,n+(t-e),i)}_sliceBuffers(t,e,n,r){let i,{buffers:s}=this;return(i=s[Te.TYPE])&&(s[Te.TYPE]=i.subarray(t,t+e)),(i=s[Te.OFFSET])&&(s[Te.OFFSET]=i.subarray(t,t+e+1))||(i=s[Te.DATA])&&(s[Te.DATA]=6===r?i:i.subarray(n*t,n*(t+e))),s}_sliceChildren(t,e,n){return t.map(t=>t.slice(e,n))}static new(t,e,n,r,i,s,o){switch(i instanceof Yn?i=i.buffers:i||(i=[]),t.typeId){case Oe.Null:return Yn.Null(t,e,n);case Oe.Int:return Yn.Int(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Dictionary:return Yn.Dictionary(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[],o);case Oe.Float:return Yn.Float(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Bool:return Yn.Bool(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Decimal:return Yn.Decimal(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Date:return Yn.Date(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Time:return Yn.Time(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Timestamp:return Yn.Timestamp(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Interval:return Yn.Interval(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.FixedSizeBinary:return Yn.FixedSizeBinary(t,e,n,r||0,i[Te.VALIDITY],i[Te.DATA]||[]);case Oe.Binary:return Yn.Binary(t,e,n,r||0,i[Te.VALIDITY],i[Te.OFFSET]||[],i[Te.DATA]||[]);case Oe.Utf8:return Yn.Utf8(t,e,n,r||0,i[Te.VALIDITY],i[Te.OFFSET]||[],i[Te.DATA]||[]);case Oe.List:return Yn.List(t,e,n,r||0,i[Te.VALIDITY],i[Te.OFFSET]||[],(s||[])[0]);case Oe.FixedSizeList:return Yn.FixedSizeList(t,e,n,r||0,i[Te.VALIDITY],(s||[])[0]);case Oe.Struct:return Yn.Struct(t,e,n,r||0,i[Te.VALIDITY],s||[]);case Oe.Map:return Yn.Map(t,e,n,r||0,i[Te.VALIDITY],i[Te.OFFSET]||[],(s||[])[0]);case Oe.Union:return Yn.Union(t,e,n,r||0,i[Te.VALIDITY],i[Te.TYPE]||[],i[Te.OFFSET]||s,s)}throw new Error("Unrecognized typeId "+t.typeId)}static Null(t,e,n){return new Yn(t,e,n,0)}static Int(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Dictionary(t,e,n,r,i,s,o){return new Yn(t,e,n,r,[void 0,Ft(t.indices.ArrayType,s),Ct(i)],[],o)}static Float(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Bool(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Decimal(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Date(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Time(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Timestamp(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Interval(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static FixedSizeBinary(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,Ft(t.ArrayType,s),Ct(i)])}static Binary(t,e,n,r,i,s,o){return new Yn(t,e,n,r,[Mt(s),Ct(o),Ct(i)])}static Utf8(t,e,n,r,i,s,o){return new Yn(t,e,n,r,[Mt(s),Ct(o),Ct(i)])}static List(t,e,n,r,i,s,o){return new Yn(t,e,n,r,[Mt(s),void 0,Ct(i)],[o])}static FixedSizeList(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,void 0,Ct(i)],[s])}static Struct(t,e,n,r,i,s){return new Yn(t,e,n,r,[void 0,void 0,Ct(i)],s)}static Map(t,e,n,r,i,s,o){return new Yn(t,e,n,r,[Mt(s),void 0,Ct(i)],[o])}static Union(t,e,n,r,i,s,o,a){const c=[void 0,void 0,Ct(i),Ft(t.ArrayType,s)];return t.mode===je.Sparse?new Yn(t,e,n,r,c,o):(c[Te.OFFSET]=Mt(o),new Yn(t,e,n,r,c,a))}}Yn.prototype.childData=Object.freeze([]);const Wn=void 0;function Hn(t){if(null===t)return"null";if(t===Wn)return"undefined";switch(typeof t){case"number":return""+t;case"bigint":return""+t;case"string":return`"${t}"`}return"function"===typeof t[Symbol.toPrimitive]?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t)}function Kn(t){if(!t||t.length<=0)return function(t){return!0};let e="",n=t.filter(t=>t===t);return n.length>0&&(e=`\n switch (x) {${n.map(t=>`\n case ${Gn(t)}:`).join("")}\n return false;\n }`),t.length!==n.length&&(e="if (x !== x) return false;\n"+e),new Function("x",e+"\nreturn true;")}function Gn(t){return"bigint"!==typeof t?Hn(t):ot?Hn(t)+"n":`"${Hn(t)}"`}const qn=(t,e)=>(t*e+63&-64||64)/e,Jn=(t,e=0)=>t.length>=e?t.subarray(0,e):jt(new t.constructor(e),t,0);class Zn{constructor(t,e=1){this.buffer=t,this.stride=e,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t.constructor,this._resize(this.length=t.length/e|0)}get byteLength(){return this.length*this.stride*this.BYTES_PER_ELEMENT|0}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,e){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;const e=this.stride,n=this.length*e,r=this.buffer.length;n>=r&&this._resize(qn(0===r?1*n:2*n,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=qn(t*this.stride,this.BYTES_PER_ELEMENT);const e=Jn(this.buffer,t);return this.clear(),e}clear(){return this.length=0,this._resize(0),this}_resize(t){return this.buffer=jt(new this.ArrayType(t),this.buffer)}}Zn.prototype.offset=0;class Xn extends Zn{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,e){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=e,this}}class Qn extends Xn{constructor(t=new Uint8Array(0)){super(t,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,e){const{buffer:n}=this.reserve(t-this.length+1),r=t>>3,i=t%8,s=n[r]>>i&1;return e?0===s&&(n[r]|=1<this.length&&this.set(t-1,0),super.flush(t+1)}}class er extends Zn{get ArrayType64(){return this._ArrayType64||(this._ArrayType64=this.buffer instanceof Int32Array?at:ut)}set(t,e){switch(this.reserve(t-this.length+1),typeof e){case"bigint":this.buffer64[t]=e;break;case"number":this.buffer[t*this.stride]=e;break;default:this.buffer.set(e,t*this.stride)}return this}_resize(t){const e=super._resize(t),n=e.byteLength/(this.BYTES_PER_ELEMENT*this.stride);return ot&&(this.buffer64=new this.ArrayType64(e.buffer,e.byteOffset,n)),e}}class nr{constructor({type:t,nullValues:e}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=e,this.stride=zn(t),this._nulls=new Qn,e&&e.length>0&&(this._isValid=Kn(e))}static new(t){}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t){throw new Error('"throughDOM" not available in this environment')}static throughIterable(t){return sr(t)}static throughAsyncIterable(t){return or(t)}toVector(){return we.new(this.flush())}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),this._typeIds&&(t+=this._typeIds.byteLength),this.children.reduce((t,e)=>t+e.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((t,e)=>t+e.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,e){return this.setValid(t,this.isValid(e))&&this.setValue(t,e),this}setValue(t,e){this._setValue(this,t,e)}setValid(t,e){return this.length=this._nulls.set(t,+e).length,e}addChild(t,e=""+this.numChildren){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(t){return this.children[t]||null}flush(){const t=[],e=this._values,n=this._offsets,r=this._typeIds,{length:i,nullCount:s}=this;r?(t[Te.TYPE]=r.flush(i),n&&(t[Te.OFFSET]=n.flush(i))):n?(e&&(t[Te.DATA]=e.flush(n.last())),t[Te.OFFSET]=n.flush(i)):e&&(t[Te.DATA]=e.flush(i)),s>0&&(t[Te.VALIDITY]=this._nulls.flush(i));const o=Yn.new(this.type,0,i,s,t,this.children.map(t=>t.flush()));return this.clear(),o}finish(){return this.finished=!0,this.children.forEach(t=>t.finish()),this}clear(){return this.length=0,this._offsets&&this._offsets.clear(),this._values&&this._values.clear(),this._nulls&&this._nulls.clear(),this._typeIds&&this._typeIds.clear(),this.children.forEach(t=>t.clear()),this}}nr.prototype.length=1,nr.prototype.stride=1,nr.prototype.children=null,nr.prototype.finished=!1,nr.prototype.nullValues=null,nr.prototype._isValid=()=>!0;class rr extends nr{constructor(t){super(t),this._values=new Xn(new this.ArrayType(0),this.stride)}setValue(t,e){const n=this._values;return n.reserve(t-n.length+1),super.setValue(t,e)}}class ir extends nr{constructor(t){super(t),this._pendingLength=0,this._offsets=new tr}setValue(t,e){const n=this._pending||(this._pending=new Map),r=n.get(t);r&&(this._pendingLength-=r.length),this._pendingLength+=e.length,n.set(t,e)}setValid(t,e){return!!super.setValid(t,e)||((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){const t=this._pending,e=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,e),this}}function sr(t){const{["queueingStrategy"]:e="count"}=t,{["highWaterMark"]:n=("bytes"!==e?1e3:16384)}=t,r="bytes"!==e?"length":"byteLength";return function*(e){let i=0,s=nr.new(t);for(const t of e)s.append(t)[r]>=n&&++i&&(yield s.toVector());(s.finish().length>0||0===i)&&(yield s.toVector())}}function or(t){const{["queueingStrategy"]:e="count"}=t,{["highWaterMark"]:n=("bytes"!==e?1e3:16384)}=t,r="bytes"!==e?"length":"byteLength";return async function*(e){let i=0,s=nr.new(t);for await(const t of e)s.append(t)[r]>=n&&++i&&(yield s.toVector());(s.finish().length>0||0===i)&&(yield s.toVector())}}class ar extends nr{constructor(t){super(t),this._values=new Qn}setValue(t,e){this._values.set(t,+e)}}class cr extends nr{setValue(t,e){}setValid(t,e){return this.length=Math.max(t+1,this.length),e}}class ur extends rr{}class lr extends ur{}class hr extends ur{}class fr extends rr{}class dr extends nr{constructor({type:t,nullValues:e,dictionaryHashFunction:n}){super({type:new Pn(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=nr.new({type:this.type.indices,nullValues:e}),this.dictionary=nr.new({type:this.type.dictionary,nullValues:null}),"function"===typeof n&&(this.valueToKey=n)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,e){const n=this.indices;return e=n.setValid(t,e),this.length=n.length,e}setValue(t,e){let n=this._keysToIndices,r=this.valueToKey(e),i=n[r];return void 0===i&&(n[r]=i=this._dictionaryOffset+this.dictionary.append(e).length-1),this.indices.setValue(t,i)}flush(){const t=this.type,e=this._dictionary,n=this.dictionary.toVector(),r=this.indices.flush().clone(t);return r.dictionary=e?e.concat(n):n,this.finished||(this._dictionaryOffset+=n.length),this._dictionary=r.dictionary,this.clear(),r}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return"string"===typeof t?t:""+t}}class pr extends rr{}const yr=new Float64Array(1),br=new Uint32Array(yr.buffer);function gr(t){let e=(31744&t)>>10,n=(1023&t)/1024,r=(-1)**((32768&t)>>15);switch(e){case 31:return r*(n?NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*2**(e-15)*(1+n)}function mr(t){if(t!==t)return 32256;yr[0]=t;let e=(2147483648&br[1])>>16&65535,n=2146435072&br[1],r=0;return n>=1089470464?br[0]>0?n=31744:(n=(2080374784&n)>>16,r=(1048575&br[1])>>10):n<=1056964608?(r=1048576+(1048575&br[1]),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=512+(1048575&br[1])>>10),e|n|65535&r}class vr extends rr{}class _r extends vr{setValue(t,e){this._values.set(t,mr(e))}}class wr extends vr{setValue(t,e){this._values.set(t,e)}}class Ir extends vr{setValue(t,e){this._values.set(t,e)}}const Sr=Symbol.for("isArrowBigNum");function Or(t,...e){return 0===e.length?Object.setPrototypeOf(Ft(this["TypedArray"],t),this.constructor.prototype):Object.setPrototypeOf(new this["TypedArray"](t,...e),this.constructor.prototype)}function Tr(...t){return Or.apply(this,t)}function Ar(...t){return Or.apply(this,t)}function xr(...t){return Or.apply(this,t)}function Br(t){let e,n,{buffer:r,byteOffset:i,length:s,signed:o}=t,a=new Int32Array(r,i,s),c=0,u=0,l=a.length;while(u>>=0),c+=(n>>>0)+e*u**32;return c}let jr,Dr;function Fr(t){let e="",n=new Uint32Array(2),r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer),s=-1,o=r.length-1;do{for(n[0]=r[s=0];s8===t.byteLength?new t["BigIntArray"](t.buffer,t.byteOffset,1)[0]:Fr(t),jr=t=>8===t.byteLength?""+new t["BigIntArray"](t.buffer,t.byteOffset,1)[0]:Fr(t)):(jr=Fr,Dr=jr);class Lr{constructor(t,e){return Lr.new(t,e)}static new(t,e){switch(e){case!0:return new Tr(t);case!1:return new Ar(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case at:return new Tr(t)}return 16===t.byteLength?new xr(t):new Ar(t)}static signed(t){return new Tr(t)}static unsigned(t){return new Ar(t)}static decimal(t){return new xr(t)}}class Er extends rr{setValue(t,e){this._values.set(t,e)}}class Mr extends Er{}class Ur extends Er{}class Cr extends Er{}class Nr extends Er{constructor(t){t["nullValues"]&&(t["nullValues"]=t["nullValues"].map(zr)),super(t),this._values=new er(new Int32Array(0),2)}get values64(){return this._values.buffer64}isValid(t){return super.isValid(zr(t))}}class kr extends Er{}class Vr extends Er{}class Rr extends Er{}class Pr extends Er{constructor(t){t["nullValues"]&&(t["nullValues"]=t["nullValues"].map(zr)),super(t),this._values=new er(new Uint32Array(0),2)}get values64(){return this._values.buffer64}isValid(t){return super.isValid(zr(t))}}const zr=(t=>e=>(ArrayBuffer.isView(e)&&(t.buffer=e.buffer,t.byteOffset=e.byteOffset,t.byteLength=e.byteLength,e=Dr(t),t.buffer=null),e))({BigIntArray:at});class $r extends rr{}class Yr extends $r{}class Wr extends $r{}class Hr extends $r{}class Kr extends $r{}class Gr extends rr{}class qr extends Gr{}class Jr extends Gr{}class Zr extends Gr{}class Xr extends Gr{}class Qr extends rr{}class ti extends Qr{}class ei extends Qr{}class ni extends ir{constructor(t){super(t),this._values=new Zn(new Uint8Array(0))}get byteLength(){let t=this._pendingLength+4*this.length;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,e){return super.setValue(t,Ct(e))}_flushPending(t,e){const n=this._offsets,r=this._values.reserve(e).buffer;let i,s=0,o=0,a=0;for([s,i]of t)void 0===i?n.set(s,0):(o=i.length,r.set(i,a),n.set(s,o),a+=o)}}class ri extends ir{constructor(t){super(t),this._values=new Zn(new Uint8Array(0))}get byteLength(){let t=this._pendingLength+4*this.length;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,e){return super.setValue(t,tt(e))}_flushPending(t,e){}}ri.prototype._flushPending=ni.prototype._flushPending;class ii{get length(){return this._values.length}get(t){return this._values[t]}clear(){return this._values=null,this}bind(t){return t instanceof we?t:(this._values=t,this)}}const si=Symbol.for("parent"),oi=Symbol.for("rowIndex"),ai=Symbol.for("keyToIdx"),ci=Symbol.for("idxToVal"),ui=Symbol.for("nodejs.util.inspect.custom");class li{constructor(t,e){this[si]=t,this.size=e}entries(){return this[Symbol.iterator]()}has(t){return void 0!==this.get(t)}get(t){let e=void 0;if(null!==t&&void 0!==t){const n=this[ai]||(this[ai]=new Map);let r=n.get(t);if(void 0!==r){const t=this[ci]||(this[ci]=new Array(this.size));void 0!==(e=t[r])||(t[r]=e=this.getValue(r))}else if((r=this.getIndex(t))>-1){n.set(t,r);const i=this[ci]||(this[ci]=new Array(this.size));void 0!==(e=i[r])||(i[r]=e=this.getValue(r))}}return e}set(t,e){if(null!==t&&void 0!==t){const n=this[ai]||(this[ai]=new Map);let r=n.get(t);if(void 0===r&&n.set(t,r=this.getIndex(t)),r>-1){const t=this[ci]||(this[ci]=new Array(this.size));t[r]=this.setValue(r,e)}}return this}clear(){throw new Error(`Clearing ${this[Symbol.toStringTag]} not supported.`)}delete(t){throw new Error(`Deleting ${this[Symbol.toStringTag]} values not supported.`)}*[Symbol.iterator](){const t=this.keys(),e=this.values(),n=this[ai]||(this[ai]=new Map),r=this[ci]||(this[ci]=new Array(this.size));for(let i,s,o,a,c=0;!(o=t.next()).done&&!(a=e.next()).done;++c)i=o.value,s=a.value,r[c]=s,n.has(i)||n.set(i,c),yield[i,s]}forEach(t,e){const n=this.keys(),r=this.values(),i=void 0===e?t:(n,r,i)=>t.call(e,n,r,i),s=this[ai]||(this[ai]=new Map),o=this[ci]||(this[ci]=new Array(this.size));for(let a,c,u,l,h=0;!(u=n.next()).done&&!(l=r.next()).done;++h)a=u.value,c=l.value,o[h]=c,s.has(a)||s.set(a,h),i(c,a,this)}toArray(){return[...this.values()]}toJSON(){const t={};return this.forEach((e,n)=>t[n]=e),t}inspect(){return this.toString()}[ui](){return this.toString()}toString(){const t=[];return this.forEach((e,n)=>{n=Hn(n),e=Hn(e),t.push(`${n}: ${e}`)}),`{ ${t.join(", ")} }`}}li[Symbol.toStringTag]=(t=>(Object.defineProperties(t,{size:{writable:!0,enumerable:!1,configurable:!1,value:0},[si]:{writable:!0,enumerable:!1,configurable:!1,value:null},[oi]:{writable:!0,enumerable:!1,configurable:!1,value:-1}}),t[Symbol.toStringTag]="Row"))(li.prototype);class hi extends li{constructor(t){return super(t,t.length),pi(this)}keys(){return this[si].getChildAt(0)[Symbol.iterator]()}values(){return this[si].getChildAt(1)[Symbol.iterator]()}getKey(t){return this[si].getChildAt(0).get(t)}getIndex(t){return this[si].getChildAt(0).indexOf(t)}getValue(t){return this[si].getChildAt(1).get(t)}setValue(t,e){this[si].getChildAt(1).set(t,e)}}class fi extends li{constructor(t){return super(t,t.type.children.length),di(this)}*keys(){for(const t of this[si].type.children)yield t.name}*values(){for(const t of this[si].type.children)yield this[t.name]}getKey(t){return this[si].type.children[t].name}getIndex(t){return this[si].type.children.findIndex(e=>e.name===t)}getValue(t){return this[si].getChildAt(t).get(this[oi])}setValue(t,e){return this[si].getChildAt(t).set(this[oi],e)}}Object.setPrototypeOf(li.prototype,Map.prototype);const di=(()=>{const t={enumerable:!0,configurable:!1,get:null,set:null};return e=>{let n=-1,r=e[ai]||(e[ai]=new Map);const i=t=>function(){return this.get(t)},s=t=>function(e){return this.set(t,e)};for(const o of e.keys())r.set(o,++n),t.get=i(o),t.set=s(o),e.hasOwnProperty(o)||(t.enumerable=!0,Object.defineProperty(e,o,t)),e.hasOwnProperty(n)||(t.enumerable=!1,Object.defineProperty(e,n,t));return t.get=t.set=null,e}})(),pi=(()=>{if("undefined"===typeof Proxy)return di;const t=li.prototype.has,e=li.prototype.get,n=li.prototype.set,r=li.prototype.getKey,i={isExtensible(){return!1},deleteProperty(){return!1},preventExtensions(){return!0},ownKeys(t){return[...t.keys()].map(t=>""+t)},has(t,e){switch(e){case"getKey":case"getIndex":case"getValue":case"setValue":case"toArray":case"toJSON":case"inspect":case"constructor":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"toLocaleString":case"valueOf":case"size":case"has":case"get":case"set":case"clear":case"delete":case"keys":case"values":case"entries":case"forEach":case"__proto__":case"__defineGetter__":case"__defineSetter__":case"hasOwnProperty":case"__lookupGetter__":case"__lookupSetter__":case Symbol.iterator:case Symbol.toStringTag:case si:case oi:case ci:case ai:case ui:return!0}return"number"!==typeof e||t.has(e)||(e=t.getKey(e)),t.has(e)},get(n,i,s){switch(i){case"getKey":case"getIndex":case"getValue":case"setValue":case"toArray":case"toJSON":case"inspect":case"constructor":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"toLocaleString":case"valueOf":case"size":case"has":case"get":case"set":case"clear":case"delete":case"keys":case"values":case"entries":case"forEach":case"__proto__":case"__defineGetter__":case"__defineSetter__":case"hasOwnProperty":case"__lookupGetter__":case"__lookupSetter__":case Symbol.iterator:case Symbol.toStringTag:case si:case oi:case ci:case ai:case ui:return Reflect.get(n,i,s)}return"number"!==typeof i||t.call(s,i)||(i=r.call(s,i)),e.call(s,i)},set(e,i,s,o){switch(i){case si:case oi:case ci:case ai:return Reflect.set(e,i,s,o);case"getKey":case"getIndex":case"getValue":case"setValue":case"toArray":case"toJSON":case"inspect":case"constructor":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"toLocaleString":case"valueOf":case"size":case"has":case"get":case"set":case"clear":case"delete":case"keys":case"values":case"entries":case"forEach":case"__proto__":case"__defineGetter__":case"__defineSetter__":case"hasOwnProperty":case"__lookupGetter__":case"__lookupSetter__":case Symbol.iterator:case Symbol.toStringTag:return!1}return"number"!==typeof i||t.call(o,i)||(i=r.call(o,i)),!!t.call(o,i)&&!!n.call(o,i,s)}};return t=>new Proxy(t,i)})();function yi(t,e,n){const r=t.length,i=e>-1?e:r+e%r;return n?n(t,i):i}let bi;function gi(t,e,n,r){let{length:i=0}=t,s="number"!==typeof e?0:e,o="number"!==typeof n?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const mi=ot?st(0):0,vi=t=>t!==t;function _i(t){let e=typeof t;if("object"!==e||null===t)return vi(t)?vi:"bigint"!==e?e=>e===t:e=>mi+e===t;if(t instanceof Date){const e=t.valueOf();return t=>t instanceof Date&&t.valueOf()===e}return ArrayBuffer.isView(t)?e=>!!e&&he(t,e):t instanceof Map?Ii(t):Array.isArray(t)?wi(t):t instanceof we?Si(t):Oi(t)}function wi(t){const e=[];for(let n=-1,r=t.length;++nn[++e]=_i(t)),Ti(n)}function Si(t){const e=[];for(let n=-1,r=t.length;++n!1;const n=[];for(let r=-1,i=e.length;++r{if(!n||"object"!==typeof n)return!1;switch(n.constructor){case Array:return Ai(t,n);case Map:case hi:case fi:return Bi(t,n,n.keys());case Object:case void 0:return Bi(t,n,e||Object.keys(n))}return n instanceof we&&xi(t,n)}}function Ai(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r`}get data(){return this._chunks[0]?this._chunks[0].data:null}get ArrayType(){return this._type.ArrayType}get numChildren(){return this._numChildren}get stride(){return this._chunks[0]?this._chunks[0].stride:1}get byteLength(){return this._chunks.reduce((t,e)=>t+e.byteLength,0)}get nullCount(){let t=this._nullCount;return t<0&&(this._nullCount=t=this._chunks.reduce((t,{nullCount:e})=>t+e,0)),t}get indices(){if(un.isDictionary(this._type)){if(!this._indices){const t=this._chunks;this._indices=1===t.length?t[0].indices:ji.concat(...t.map(t=>t.indices))}return this._indices}return null}get dictionary(){return un.isDictionary(this._type)?this._chunks[this._chunks.length-1].data.dictionary:null}*[Symbol.iterator](){for(const t of this._chunks)yield*t}clone(t=this._chunks){return new ji(this._type,t)}concat(...t){return this.clone(ji.flatten(this,...t))}slice(t,e){return gi(this,t,e,this._sliceInternal)}getChildAt(t){if(t<0||t>=this._numChildren)return null;let e,n,r,i=this._children||(this._children=[]);return(e=i[t])?e:(n=(this._type.children||[])[t])&&(r=this._chunks.map(e=>e.getChildAt(t)).filter(t=>null!=t),r.length>0)?i[t]=new ji(n.type,r):null}search(t,e){let n=t,r=this._chunkOffsets,i=r.length-1;if(n<0)return null;if(n>=r[i])return null;if(i<=1)return e?e(this,0,n):[0,n];let s=0,o=0,a=0;do{if(s+1===i)return e?e(this,s,n-o):[s,n-o];a=s+(i-s)/2|0,n>=r[a]?s=a:i=a}while(n=(o=r[s]));return null}isValid(t){return!!this.search(t,this.isValidInternal)}get(t){return this.search(t,this.getInternal)}set(t,e){this.search(t,({chunks:t},n,r)=>t[n].set(r,e))}indexOf(t,e){return e&&"number"===typeof e?this.search(e,(e,n,r)=>this.indexOfInternal(e,n,r,t)):this.indexOfInternal(this,0,Math.max(0,e||0),t)}toArray(){const{chunks:t}=this,e=t.length;let n=this._type.ArrayType;if(e<=0)return new n(0);if(e<=1)return t[0].toArray();let r=0,i=new Array(e);for(let a=-1;++a=n)break;if(e>=c+a)continue;if(c>=e&&c+a<=n){r.push(t);continue}const u=Math.max(0,e-c),l=Math.min(n-c,a);r.push(t.slice(u,l))}return t.clone(r)}}function Di(t){let e=new Uint32Array((t||[]).length+1),n=e[0]=0,r=e.length;for(let i=0;++i(e.set(t,n),n+t.length),Li=(t,e,n)=>{let r=n;for(let i=-1,s=t.length;++it>0)&&(t=t.clone({nullable:!0}));return new Ei(t,r)}get field(){return this._field}get name(){return this._field.name}get nullable(){return this._field.nullable}get metadata(){return this._field.metadata}clone(t=this._chunks){return new Ei(this._field,t)}getChildAt(t){if(t<0||t>=this.numChildren)return null;let e,n,r,i=this._children||(this._children=[]);return(e=i[t])?e:(n=(this.type.children||[])[t])&&(r=this._chunks.map(e=>e.getChildAt(t)).filter(t=>null!=t),r.length>0)?i[t]=new Ei(n,r):null}}class Mi extends Ei{constructor(t,e,n){super(t,[e],n),this._chunk=e}search(t,e){return e?e(this,0,t):[0,t]}isValid(t){return this._chunk.isValid(t)}get(t){return this._chunk.get(t)}set(t,e){this._chunk.set(t,e)}indexOf(t,e){return this._chunk.indexOf(t,e)}}const Ui=Array.isArray,Ci=(t,e)=>Pi(t,e,[],0),Ni=t=>{const[e,n]=Wi(t,[[],[]]);return n.map((t,n)=>t instanceof Ei?Ei.new(t.field.clone(e[n]),t):t instanceof we?Ei.new(e[n],t):Ei.new(e[n],[]))},ki=t=>Wi(t,[[],[]]),Vi=(t,e)=>zi(t,e,[],0),Ri=(t,e)=>$i(t,e,[],0);function Pi(t,e,n,r){let i,s=r,o=-1,a=e.length;while(++oi.getChildAt(e)),n,s).length:i instanceof we&&(n[s++]=i);return n}const Yi=(t,[e,n],r)=>(t[0][r]=e,t[1][r]=n,t);function Wi(t,e){let n,r;switch(r=t.length){case 0:return e;case 1:if(n=e[0],!t[0])return e;if(Ui(t[0]))return Wi(t[0],e);t[0]instanceof Yn||t[0]instanceof we||t[0]instanceof un||([n,t]=Object.entries(t[0]).reduce(Yi,e));break;default:Ui(n=t[r-1])?t=Ui(t[0])?t[0]:t.slice(0,r-1):(t=Ui(t[0])?t[0]:t,n=[])}let i,s,o=-1,a=-1,c=-1,u=t.length,[l,h]=e;while(++c`${e}: ${t}`).join(", ")} }>`}compareTo(t){return cn.compareSchemas(this,t)}select(...t){const e=t.reduce((t,e)=>(t[e]=!0)&&t,Object.create(null));return new Hi(this.fields.filter(t=>e[t.name]),this.metadata)}selectAt(...t){return new Hi(t.map(t=>this.fields[t]).filter(Boolean),this.metadata)}assign(...t){const e=t[0]instanceof Hi?t[0]:new Hi(Ci(Ki,t)),n=[...this.fields],r=Gi(Gi(new Map,this.metadata),e.metadata),i=e.fields.filter(t=>{const e=n.findIndex(e=>e.name===t.name);return!~e||(n[e]=t.clone({metadata:Gi(Gi(new Map,n[e].metadata),t.metadata)}))&&!1}),s=qi(i,new Map);return new Hi([...n,...i],r,new Map([...this.dictionaries,...s]))}}class Ki{constructor(t,e,n=!1,r){this.name=t,this.type=e,this.nullable=n,this.metadata=r||new Map}static new(...t){let[e,n,r,i]=t;return t[0]&&"object"===typeof t[0]&&(({name:e}=t[0]),void 0===n&&(n=t[0].type),void 0===r&&(r=t[0].nullable),void 0===i&&(i=t[0].metadata)),new Ki(""+e,n,r,i)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}compareTo(t){return cn.compareField(this,t)}clone(...t){let[e,n,r,i]=t;return t[0]&&"object"===typeof t[0]?({name:e=this.name,type:n=this.type,nullable:r=this.nullable,metadata:i=this.metadata}=t[0]):[e=this.name,n=this.type,r=this.nullable,i=this.metadata]=t,Ki.new(e,n,r,i)}}function Gi(t,e){return new Map([...t||new Map,...e||new Map])}function qi(t,e=new Map){for(let n=-1,r=t.length;++n0&&qi(i.children,e)}return e}Hi.prototype.fields=null,Hi.prototype.metadata=null,Hi.prototype.dictionaries=null,Ki.prototype.type=null,Ki.prototype.name=null,Ki.prototype.nullable=null,Ki.prototype.metadata=null;class Ji extends ir{constructor(t){super(t),this._run=new ii,this._offsets=new tr}addChild(t,e="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new Mn(new Ki(e,t.type,!0)),this.numChildren-1}clear(){return this._run.clear(),super.clear()}_flushPending(t){const e=this._run,n=this._offsets,r=this._setValue;let i,s=0;for([s,i]of t)void 0===i?n.set(s,0):(n.set(s,i.length),r(this,s,e.bind(i)))}}class Zi extends nr{constructor(){super(...arguments),this._run=new ii}setValue(t,e){super.setValue(t,this._run.bind(e))}addChild(t,e="0"){if(this.numChildren>0)throw new Error("FixedSizeListBuilder can only have one child.");const n=this.children.push(t);return this.type=new kn(this.type.listSize,new Ki(e,t.type,!0)),n}clear(){return this._run.clear(),super.clear()}}class Xi extends ir{set(t,e){return super.set(t,e)}setValue(t,e){e=e instanceof Map?e:new Map(Object.entries(e));const n=this._pending||(this._pending=new Map),r=n.get(t);r&&(this._pendingLength-=r.size),this._pendingLength+=e.size,n.set(t,e)}addChild(t,e=""+this.numChildren){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new Vn(new Ki(e,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){const e=this._offsets,n=this._setValue;t.forEach((t,r)=>{void 0===t?e.set(r,0):(e.set(r,t.size),n(this,r,t))})}}class Qi extends nr{addChild(t,e=""+this.numChildren){const n=this.children.push(t);return this.type=new Un([...this.type.children,new Ki(e,t.type,!0)]),n}}class ts extends nr{constructor(t){super(t),this._typeIds=new Xn(new Int8Array(0),1),"function"===typeof t["valueToChildTypeId"]&&(this._valueToChildTypeId=t["valueToChildTypeId"])}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,e){return this.set(this.length,t,e)}set(t,e,n){return void 0===n&&(n=this._valueToChildTypeId(this,e,t)),this.setValid(t,this.isValid(e))&&this.setValue(t,e,n),this}setValue(t,e,n){this._typeIds.set(t,n),super.setValue(t,e)}addChild(t,e=""+this.children.length){const n=this.children.push(t),{type:{children:r,mode:i,typeIds:s}}=this,o=[...r,new Ki(e,t.type)];return this.type=new Cn(i,[...s,n],o),n}_valueToChildTypeId(t,e,n){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}}class es extends ts{}class ns extends ts{constructor(t){super(t),this._offsets=new Xn(new Int32Array(0))}setValue(t,e,n){const r=this.type.typeIdToChildIndex[n];return this._offsets.set(t,this.getChildAt(r).length),super.setValue(t,e,n)}}class rs extends ze{}const is=(t,e,n)=>{t[e]=n/864e5|0},ss=(t,e,n)=>{t[e]=n%4294967296|0,t[e+1]=n/4294967296|0},os=(t,e,n)=>{t[e]=1e3*n%4294967296|0,t[e+1]=1e3*n/4294967296|0},as=(t,e,n)=>{t[e]=1e6*n%4294967296|0,t[e+1]=1e6*n/4294967296|0},cs=(t,e,n,r)=>{const{[n]:i,[n+1]:s}=e;null!=i&&null!=s&&t.set(r.subarray(0,s-i),i)},us=({offset:t,values:e},n,r)=>{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{is(t,e,n.valueOf())},hs=({values:t},e,n)=>{ss(t,2*e,n.valueOf())},fs=({stride:t,values:e},n,r)=>{e[t*n]=r},ds=({stride:t,values:e},n,r)=>{e[t*n]=mr(r)},ps=(t,e,n)=>{switch(typeof n){case"bigint":t.values64[e]=n;break;case"number":t.values[e*t.stride]=n;break;default:const r=n,{stride:i,ArrayType:s}=t,o=Ft(s,r);t.values.set(o.subarray(0,i),i*e)}},ys=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},bs=({values:t,valueOffsets:e},n,r)=>cs(t,e,n,r),gs=({values:t,valueOffsets:e},n,r)=>{cs(t,e,n,tt(r))},ms=(t,e,n)=>{t.type.bitWidth<64?fs(t,e,n):ps(t,e,n)},vs=(t,e,n)=>{t.type.precision!==Be.HALF?fs(t,e,n):ds(t,e,n)},_s=(t,e,n)=>{t.type.unit===Ae.DAY?ls(t,e,n):hs(t,e,n)},ws=({values:t},e,n)=>ss(t,2*e,n/1e3),Is=({values:t},e,n)=>ss(t,2*e,n),Ss=({values:t},e,n)=>os(t,2*e,n),Os=({values:t},e,n)=>as(t,2*e,n),Ts=(t,e,n)=>{switch(t.type.unit){case xe.SECOND:return ws(t,e,n);case xe.MILLISECOND:return Is(t,e,n);case xe.MICROSECOND:return Ss(t,e,n);case xe.NANOSECOND:return Os(t,e,n)}},As=({values:t,stride:e},n,r)=>{t[e*n]=r},xs=({values:t,stride:e},n,r)=>{t[e*n]=r},Bs=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},js=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},Ds=(t,e,n)=>{switch(t.type.unit){case xe.SECOND:return As(t,e,n);case xe.MILLISECOND:return xs(t,e,n);case xe.MICROSECOND:return Bs(t,e,n);case xe.NANOSECOND:return js(t,e,n)}},Fs=({values:t},e,n)=>{t.set(n.subarray(0,4),4*e)},Ls=(t,e,n)=>{const r=t.getChildAt(0),i=t.valueOffsets;for(let s=-1,o=i[e],a=i[e+1];o{const r=t.getChildAt(0),i=t.valueOffsets,s=n instanceof Map?[...n]:Object.entries(n);for(let o=-1,a=i[e],c=i[e+1];a(n,r,i)=>n&&n.set(t,e[i]),Us=(t,e)=>(n,r,i)=>n&&n.set(t,e.get(i)),Cs=(t,e)=>(n,r,i)=>n&&n.set(t,e.get(r.name)),Ns=(t,e)=>(n,r,i)=>n&&n.set(t,e[r.name]),ks=(t,e,n)=>{const r=n instanceof Map?Cs(e,n):n instanceof we?Us(e,n):Array.isArray(n)?Ms(e,n):Ns(e,n);t.type.children.forEach((e,n)=>r(t.getChildAt(n),e,n))},Vs=(t,e,n)=>{t.type.mode===je.Dense?Rs(t,e,n):Ps(t,e,n)},Rs=(t,e,n)=>{const r=t.typeIdToChildIndex[t.typeIds[e]],i=t.getChildAt(r);i&&i.set(t.valueOffsets[e],n)},Ps=(t,e,n)=>{const r=t.typeIdToChildIndex[t.typeIds[e]],i=t.getChildAt(r);i&&i.set(e,n)},zs=(t,e,n)=>{const r=t.getKey(e);null!==r&&t.setValue(r,n)},$s=(t,e,n)=>{t.type.unit===De.DAY_TIME?Ys(t,e,n):Ws(t,e,n)},Ys=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},Ws=({values:t},e,n)=>{t[e]=12*n[0]+n[1]%12},Hs=(t,e,n)=>{const r=t.getChildAt(0),{stride:i}=t;for(let s=-1,o=e*i;++s0){const r=t["children"]||[],i={nullValues:t["nullValues"]},s=Array.isArray(r)?(t,e)=>r[e]||i:({name:t})=>r[t]||i;e.children.forEach((t,e)=>{const{type:r}=t,i=s(t,e);n.children.push(Js({...i,type:r}))})}return n}var Zs;nr.new=Js,Object.keys(Oe).map(t=>Oe[t]).filter(t=>"number"===typeof t&&t!==Oe.NONE).forEach(t=>{const e=qs.visit(t);e.prototype._setValue=Ks.getVisitFn(t)}),ri.prototype._setValue=Ks.visitBinary,function(t){(function(e){(function(e){(function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFooter(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Ie.apache.arrow.flatbuf.MetadataVersion.V1}schema(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new Ie.apache.arrow.flatbuf.Schema).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}dictionaries(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new t.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+r)+24*e,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(e,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new t.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+r)+24*e,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(4)}static addVersion(t,e){t.addFieldInt16(0,e,Ie.apache.arrow.flatbuf.MetadataVersion.V1)}static addSchema(t,e){t.addFieldOffset(1,e,0)}static addDictionaries(t,e){t.addFieldOffset(2,e,0)}static startDictionariesVector(t,e){t.startVector(24,e,8)}static addRecordBatches(t,e){t.addFieldOffset(3,e,0)}static startRecordBatchesVector(t,e){t.startVector(24,e,8)}static endFooter(t){let e=t.endObject();return e}static finishFooterBuffer(t,e){t.finish(e)}static createFooter(t,e,r,i,s){return n.startFooter(t),n.addVersion(t,e),n.addSchema(t,r),n.addDictionaries(t,i),n.addRecordBatches(t,s),n.endFooter(t)}}e.Footer=n})(e.flatbuf||(e.flatbuf={}))})(e.arrow||(e.arrow={}))})(t.apache||(t.apache={}))}(Zs||(Zs={})),function(t){(function(t){(function(t){(function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static createBlock(t,e,n,r){return t.prep(8,24),t.writeInt64(r),t.pad(4),t.writeInt32(n),t.writeInt64(e),t.offset()}}t.Block=e})(t.flatbuf||(t.flatbuf={}))})(t.arrow||(t.arrow={}))})(t.apache||(t.apache={}))}(Zs||(Zs={}));var Xs=U.Long,Qs=U.Builder,to=U.ByteBuffer,eo=Zs.apache.arrow.flatbuf.Block,no=Zs.apache.arrow.flatbuf.Footer;class ro{constructor(t,e=Le.V4,n,r){this.schema=t,this.version=e,n&&(this._recordBatches=n),r&&(this._dictionaryBatches=r)}static decode(t){t=new to(Ct(t));const e=no.getRootAsFooter(t),n=Hi.decode(e.schema());return new io(n,e)}static encode(t){const e=new Qs,n=Hi.encode(e,t.schema);no.startRecordBatchesVector(e,t.numRecordBatches),[...t.recordBatches()].slice().reverse().forEach(t=>so.encode(e,t));const r=e.endVector();no.startDictionariesVector(e,t.numDictionaries),[...t.dictionaryBatches()].slice().reverse().forEach(t=>so.encode(e,t));const i=e.endVector();return no.startFooter(e),no.addSchema(e,n),no.addVersion(e,Le.V4),no.addRecordBatches(e,r),no.addDictionaries(e,i),no.finishFooterBuffer(e,no.endFooter(e)),e.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let t,e=-1,n=this.numRecordBatches;++e=0&&t=0&&t=0&&t=0&&t0)return super.write(t)}toString(t=!1){return t?Q(this.toUint8Array(!0)):this.toUint8Array(!1).then(Q)}toUint8Array(t=!1){return t?Dt(this._values)[0]:(async()=>{let t=[],e=0;for await(const n of this)t.push(n),e+=n.byteLength;return Dt(t,e)[0]})()}}class ao{constructor(t){t&&(this.source=new uo(fe.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class co{constructor(t){t instanceof co?this.source=t.source:t instanceof oo?this.source=new lo(fe.fromAsyncIterable(t)):Tt(t)?this.source=new lo(fe.fromNodeStream(t)):St(t)?this.source=new lo(fe.fromDOMStream(t)):wt(t)?this.source=new lo(fe.fromDOMStream(t.body)):bt(t)?this.source=new lo(fe.fromIterable(t)):(yt(t)||gt(t))&&(this.source=new lo(fe.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class uo{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,"peek").value}read(t){return this.next(t,"read").value}next(t,e="read"){return this.source.next({cmd:e,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||et)}return(t){return Object.create(this.source.return&&this.source.return(t)||et)}}class lo{constructor(t){this.source=t,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}async cancel(t){await this.return(t)}get closed(){return this._closedPromise}async read(t){return(await this.next(t,"read")).value}async peek(t){return(await this.next(t,"peek")).value}async next(t,e="read"){return await this.source.next({cmd:e,size:t})}async throw(t){const e=this.source.throw&&await this.source.throw(t)||et;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(e)}async return(t){const e=this.source.return&&await this.source.return(t)||et;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(e)}}class ho extends ao{constructor(t,e){super(),this.position=0,this.buffer=Ct(t),this.size="undefined"===typeof e?this.buffer.byteLength:e}readInt32(t){const{buffer:e,byteOffset:n}=this.readAt(t,4);return new DataView(e,n).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t{this.size=(await t.stat()).size,delete this._pending})()}async readInt32(t){const{buffer:e,byteOffset:n}=await this.readAt(t,4);return new DataView(e,n).getInt32(0,!0)}async seek(t){return this._pending&&await this._pending,this.position=Math.min(t,this.size),t>>16,65535&this.buffer[1],this.buffer[0]>>>16,65535&this.buffer[0]]),n=new Uint32Array([t.buffer[1]>>>16,65535&t.buffer[1],t.buffer[0]>>>16,65535&t.buffer[0]]);let r=e[3]*n[3];this.buffer[0]=65535&r;let i=r>>>16;return r=e[2]*n[3],i+=r,r=e[3]*n[2]>>>0,i+=r,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0>>16,this.buffer[1]+=e[1]*n[3]+e[2]*n[2]+e[3]*n[1],this.buffer[1]+=e[0]*n[3]+e[1]*n[2]+e[2]*n[1]+e[3]*n[0]<<16,this}_plus(t){const e=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],e>>0&&++this.buffer[1],this.buffer[0]=e}lessThan(t){return this.buffer[1]>>0,e[2]=this.buffer[2]+t.buffer[2]>>>0,e[1]=this.buffer[1]+t.buffer[1]>>>0,e[0]=this.buffer[0]+t.buffer[0]>>>0,e[0]>>0&&++e[1],e[1]>>0&&++e[2],e[2]>>0&&++e[3],this.buffer[3]=e[3],this.buffer[2]=e[2],this.buffer[1]=e[1],this.buffer[0]=e[0],this}hex(){return`${yo(this.buffer[3])} ${yo(this.buffer[2])} ${yo(this.buffer[1])} ${yo(this.buffer[0])}`}static multiply(t,e){let n=new wo(new Uint32Array(t.buffer));return n.times(e)}static add(t,e){let n=new wo(new Uint32Array(t.buffer));return n.plus(e)}static from(t,e=new Uint32Array(4)){return wo.fromString("string"===typeof t?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(4)){return wo.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(4)){const n=t.startsWith("-"),r=t.length;let i=new wo(e);for(let s=n?1:0;s0&&this.readData(t,n)||new Uint8Array(0)}readOffsets(t,e){return this.readData(t,e)}readTypeIds(t,e){return this.readData(t,e)}readData(t,{length:e,offset:n}=this.nextBufferRange()){return this.bytes.subarray(n,n+e)}readDictionary(t){return this.dictionaries.get(t.id)}}class So extends Io{constructor(t,e,n,r){super(new Uint8Array(0),e,n,r),this.sources=t}readNullBitmap(t,e,{offset:n}=this.nextBufferRange()){return e<=0?new Uint8Array(0):Ne(this.sources[n])}readOffsets(t,{offset:e}=this.nextBufferRange()){return Ft(Uint8Array,Ft(Int32Array,this.sources[e]))}readTypeIds(t,{offset:e}=this.nextBufferRange()){return Ft(Uint8Array,Ft(t.ArrayType,this.sources[e]))}readData(t,{offset:e}=this.nextBufferRange()){const{sources:n}=this;return un.isTimestamp(t)||(un.isInt(t)||un.isTime(t))&&64===t.bitWidth||un.isDate(t)&&t.unit===Ae.MILLISECOND?Ft(Uint8Array,_o.convertArray(n[e])):un.isDecimal(t)?Ft(Uint8Array,wo.convertArray(n[e])):un.isBinary(t)||un.isFixedSizeBinary(t)?Oo(n[e]):un.isBool(t)?Ne(n[e]):un.isUtf8(t)?tt(n[e].join("")):Ft(Uint8Array,Ft(t.ArrayType,n[e].map(t=>+t)))}}function Oo(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=parseInt(e.substr(r,2),16);return n}var To=U.Long,Ao=Ie.apache.arrow.flatbuf.Null,xo=Ie.apache.arrow.flatbuf.Int,Bo=Ie.apache.arrow.flatbuf.FloatingPoint,jo=Ie.apache.arrow.flatbuf.Binary,Do=Ie.apache.arrow.flatbuf.Bool,Fo=Ie.apache.arrow.flatbuf.Utf8,Lo=Ie.apache.arrow.flatbuf.Decimal,Eo=Ie.apache.arrow.flatbuf.Date,Mo=Ie.apache.arrow.flatbuf.Time,Uo=Ie.apache.arrow.flatbuf.Timestamp,Co=Ie.apache.arrow.flatbuf.Interval,No=Ie.apache.arrow.flatbuf.List,ko=Ie.apache.arrow.flatbuf.Struct_,Vo=Ie.apache.arrow.flatbuf.Union,Ro=Ie.apache.arrow.flatbuf.DictionaryEncoding,Po=Ie.apache.arrow.flatbuf.FixedSizeBinary,zo=Ie.apache.arrow.flatbuf.FixedSizeList,$o=Ie.apache.arrow.flatbuf.Map;class Yo extends ze{visit(t,e){return null==t||null==e?void 0:super.visit(t,e)}visitNull(t,e){return Ao.startNull(e),Ao.endNull(e)}visitInt(t,e){return xo.startInt(e),xo.addBitWidth(e,t.bitWidth),xo.addIsSigned(e,t.isSigned),xo.endInt(e)}visitFloat(t,e){return Bo.startFloatingPoint(e),Bo.addPrecision(e,t.precision),Bo.endFloatingPoint(e)}visitBinary(t,e){return jo.startBinary(e),jo.endBinary(e)}visitBool(t,e){return Do.startBool(e),Do.endBool(e)}visitUtf8(t,e){return Fo.startUtf8(e),Fo.endUtf8(e)}visitDecimal(t,e){return Lo.startDecimal(e),Lo.addScale(e,t.scale),Lo.addPrecision(e,t.precision),Lo.endDecimal(e)}visitDate(t,e){return Eo.startDate(e),Eo.addUnit(e,t.unit),Eo.endDate(e)}visitTime(t,e){return Mo.startTime(e),Mo.addUnit(e,t.unit),Mo.addBitWidth(e,t.bitWidth),Mo.endTime(e)}visitTimestamp(t,e){const n=t.timezone&&e.createString(t.timezone)||void 0;return Uo.startTimestamp(e),Uo.addUnit(e,t.unit),void 0!==n&&Uo.addTimezone(e,n),Uo.endTimestamp(e)}visitInterval(t,e){return Co.startInterval(e),Co.addUnit(e,t.unit),Co.endInterval(e)}visitList(t,e){return No.startList(e),No.endList(e)}visitStruct(t,e){return ko.startStruct_(e),ko.endStruct_(e)}visitUnion(t,e){Vo.startTypeIdsVector(e,t.typeIds.length);const n=Vo.createTypeIdsVector(e,t.typeIds);return Vo.startUnion(e),Vo.addMode(e,t.mode),Vo.addTypeIds(e,n),Vo.endUnion(e)}visitDictionary(t,e){const n=this.visit(t.indices,e);return Ro.startDictionaryEncoding(e),Ro.addId(e,new To(t.id,0)),Ro.addIsOrdered(e,t.isOrdered),void 0!==n&&Ro.addIndexType(e,n),Ro.endDictionaryEncoding(e)}visitFixedSizeBinary(t,e){return Po.startFixedSizeBinary(e),Po.addByteWidth(e,t.byteWidth),Po.endFixedSizeBinary(e)}visitFixedSizeList(t,e){return zo.startFixedSizeList(e),zo.addListSize(e,t.listSize),zo.endFixedSizeList(e)}visitMap(t,e){return $o.startMap(e),$o.addKeysSorted(e,t.keysSorted),$o.endMap(e)}}const Wo=new Yo;function Ho(t,e=new Map){return new Hi(qo(t,e),ea(t["customMetadata"]),e)}function Ko(t){return new ma(t["count"],Zo(t["columns"]),Xo(t["columns"]))}function Go(t){return new va(Ko(t["data"]),t["id"],t["isDelta"])}function qo(t,e){return(t["fields"]||[]).filter(Boolean).map(t=>Ki.fromJSON(t,e))}function Jo(t,e){return(t["children"]||[]).filter(Boolean).map(t=>Ki.fromJSON(t,e))}function Zo(t){return(t||[]).reduce((t,e)=>[...t,new wa(e["count"],Qo(e["VALIDITY"])),...Zo(e["children"])],[])}function Xo(t,e=[]){for(let n=-1,r=(t||[]).length;++nt+ +(0===e),0)}function ta(t,e){let n,r,i,s,o,a;return e&&(s=t["dictionary"])?e.has(n=s["id"])?(r=(r=s["indexType"])?na(r):new pn,a=new Pn(e.get(n),r,n,s["isOrdered"]),i=new Ki(t["name"],a,t["nullable"],ea(t["customMetadata"]))):(r=(r=s["indexType"])?na(r):new pn,e.set(n,o=ra(t,Jo(t,e))),a=new Pn(o,r,n,s["isOrdered"]),i=new Ki(t["name"],a,t["nullable"],ea(t["customMetadata"]))):(o=ra(t,Jo(t,e)),i=new Ki(t["name"],o,t["nullable"],ea(t["customMetadata"]))),i||null}function ea(t){return new Map(Object.entries(t||{}))}function na(t){return new hn(t["isSigned"],t["bitWidth"])}function ra(t,e){const n=t["type"]["name"];switch(n){case"NONE":return new ln;case"null":return new ln;case"binary":return new On;case"utf8":return new Tn;case"bool":return new An;case"list":return new Mn((e||[])[0]);case"struct":return new Un(e||[]);case"struct_":return new Un(e||[])}switch(n){case"int":{const e=t["type"];return new hn(e["isSigned"],e["bitWidth"])}case"floatingpoint":{const e=t["type"];return new _n(Be[e["precision"]])}case"decimal":{const e=t["type"];return new xn(e["scale"],e["precision"])}case"date":{const e=t["type"];return new Bn(Ae[e["unit"]])}case"time":{const e=t["type"];return new Fn(xe[e["unit"]],e["bitWidth"])}case"timestamp":{const e=t["type"];return new Ln(xe[e["unit"]],e["timezone"])}case"interval":{const e=t["type"];return new En(De[e["unit"]])}case"union":{const n=t["type"];return new Cn(je[n["mode"]],n["typeIds"]||[],e||[])}case"fixedsizebinary":{const e=t["type"];return new Nn(e["byteWidth"])}case"fixedsizelist":{const n=t["type"];return new kn(n["listSize"],(e||[])[0])}case"map":{const n=t["type"];return new Vn((e||[])[0],n["keysSorted"])}}throw new Error(`Unrecognized type: "${n}"`)}var ia=U.Long,sa=U.Builder,oa=U.ByteBuffer,aa=Ie.apache.arrow.flatbuf.Type,ca=Ie.apache.arrow.flatbuf.Field,ua=Ie.apache.arrow.flatbuf.Schema,la=Ie.apache.arrow.flatbuf.Buffer,ha=Se.apache.arrow.flatbuf.Message,fa=Ie.apache.arrow.flatbuf.KeyValue,da=Se.apache.arrow.flatbuf.FieldNode,pa=Ie.apache.arrow.flatbuf.Endianness,ya=Se.apache.arrow.flatbuf.RecordBatch,ba=Se.apache.arrow.flatbuf.DictionaryBatch;class ga{constructor(t,e,n,r){this._version=e,this._headerType=n,this.body=new Uint8Array(0),r&&(this._createHeader=()=>r),this._bodyLength="number"===typeof t?t:t.low}static fromJSON(t,e){const n=new ga(0,Le.V4,e);return n._createHeader=Ia(t,e),n}static decode(t){t=new oa(Ct(t));const e=ha.getRootAsMessage(t),n=e.bodyLength(),r=e.version(),i=e.headerType(),s=new ga(n,r,i);return s._createHeader=Sa(e,i),s}static encode(t){let e=new sa,n=-1;return t.isSchema()?n=Hi.encode(e,t.header()):t.isRecordBatch()?n=ma.encode(e,t.header()):t.isDictionaryBatch()&&(n=va.encode(e,t.header())),ha.startMessage(e),ha.addVersion(e,Le.V4),ha.addHeader(e,n),ha.addHeaderType(e,t.headerType),ha.addBodyLength(e,new ia(t.bodyLength,0)),ha.finishMessageBuffer(e,ha.endMessage(e)),e.asUint8Array()}static from(t,e=0){if(t instanceof Hi)return new ga(0,Le.V4,Fe.Schema,t);if(t instanceof ma)return new ga(e,Le.V4,Fe.RecordBatch,t);if(t instanceof va)return new ga(e,Le.V4,Fe.DictionaryBatch,t);throw new Error("Unrecognized Message header: "+t)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Fe.Schema}isRecordBatch(){return this.headerType===Fe.RecordBatch}isDictionaryBatch(){return this.headerType===Fe.DictionaryBatch}}class ma{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,e,n){this._nodes=e,this._buffers=n,this._length="number"===typeof t?t:t.low}}class va{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,e,n=!1){this._data=t,this._isDelta=n,this._id="number"===typeof e?e:e.low}}class _a{constructor(t,e){this.offset="number"===typeof t?t:t.low,this.length="number"===typeof e?e:e.low}}class wa{constructor(t,e){this.length="number"===typeof t?t:t.low,this.nullCount="number"===typeof e?e:e.low}}function Ia(t,e){return()=>{switch(e){case Fe.Schema:return Hi.fromJSON(t);case Fe.RecordBatch:return ma.fromJSON(t);case Fe.DictionaryBatch:return va.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Fe[e]}, type: ${e} }`)}}function Sa(t,e){return()=>{switch(e){case Fe.Schema:return Hi.decode(t.header(new ua));case Fe.RecordBatch:return ma.decode(t.header(new ya),t.version());case Fe.DictionaryBatch:return va.decode(t.header(new ba),t.version())}throw new Error(`Unrecognized Message type: { name: ${Fe[e]}, type: ${e} }`)}}function Oa(t,e=new Map){const n=Fa(t,e);return new Hi(n,Ma(t),e)}function Ta(t,e=Le.V4){return new ma(t.length(),ja(t),Da(t,e))}function Aa(t,e=Le.V4){return new va(ma.decode(t.data(),e),t.id(),t.isDelta())}function xa(t){return new _a(t.offset(),t.length())}function Ba(t){return new wa(t.length(),t.nullCount())}function ja(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++rKi.encode(t,e));ua.startFieldsVector(t,n.length);const r=ua.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?ua.createCustomMetadataVector(t,[...e.metadata].map(([e,n])=>{const r=t.createString(""+e),i=t.createString(""+n);return fa.startKeyValue(t),fa.addKey(t,r),fa.addValue(t,i),fa.endKeyValue(t)})):-1;return ua.startSchema(t),ua.addFields(t,r),ua.addEndianness(t,$a?pa.Little:pa.Big),-1!==i&&ua.addCustomMetadata(t,i),ua.endSchema(t)}function ka(t,e){let n=-1,r=-1,i=-1,s=e.type,o=e.typeId;un.isDictionary(s)?(o=s.dictionary.typeId,i=Wo.visit(s,t),r=Wo.visit(s.dictionary,t)):r=Wo.visit(s,t);const a=(s.children||[]).map(e=>Ki.encode(t,e)),c=ca.createChildrenVector(t,a),u=e.metadata&&e.metadata.size>0?ca.createCustomMetadataVector(t,[...e.metadata].map(([e,n])=>{const r=t.createString(""+e),i=t.createString(""+n);return fa.startKeyValue(t),fa.addKey(t,r),fa.addValue(t,i),fa.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),ca.startField(t),ca.addType(t,r),ca.addTypeType(t,o),ca.addChildren(t,c),ca.addNullable(t,!!e.nullable),-1!==n&&ca.addName(t,n),-1!==i&&ca.addDictionary(t,i),-1!==u&&ca.addCustomMetadata(t,u),ca.endField(t)}function Va(t,e){const n=e.nodes||[],r=e.buffers||[];ya.startNodesVector(t,n.length),n.slice().reverse().forEach(e=>wa.encode(t,e));const i=t.endVector();ya.startBuffersVector(t,r.length),r.slice().reverse().forEach(e=>_a.encode(t,e));const s=t.endVector();return ya.startRecordBatch(t),ya.addLength(t,new ia(e.length,0)),ya.addNodes(t,i),ya.addBuffers(t,s),ya.endRecordBatch(t)}function Ra(t,e){const n=ma.encode(t,e.data);return ba.startDictionaryBatch(t),ba.addId(t,new ia(e.id,0)),ba.addIsDelta(t,e.isDelta),ba.addData(t,n),ba.endDictionaryBatch(t)}function Pa(t,e){return da.createFieldNode(t,new ia(e.length,0),new ia(e.nullCount,0))}function za(t,e){return la.createBuffer(t,new ia(e.offset,0),new ia(e.length,0))}Ki["encode"]=ka,Ki["decode"]=Ea,Ki["fromJSON"]=ta,Hi["encode"]=Na,Hi["decode"]=Oa,Hi["fromJSON"]=Ho,ma["encode"]=Va,ma["decode"]=Ta,ma["fromJSON"]=Ko,va["encode"]=Ra,va["decode"]=Aa,va["fromJSON"]=Go,wa["encode"]=Pa,wa["decode"]=Ba,_a["encode"]=za,_a["decode"]=xa;const $a=function(){const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),256===new Int16Array(t)[0]}();var Ya=U.ByteBuffer;const Wa=t=>`Expected ${Fe[t]} Message in stream, but was null or length 0.`,Ha=t=>`Header pointer of flatbuffer-encoded ${Fe[t]} Message is null or length 0.`,Ka=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,Ga=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class qa{constructor(t){this.source=t instanceof ao?t:new ao(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done||-1===t.value&&(t=this.readMetadataLength()).done||(t=this.readMetadata(t.value)).done?et:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let e;if((e=this.next()).done)return null;if(null!=t&&e.value.headerType!==t)throw new Error(Wa(t));return e.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);const e=Ct(this.source.read(t));if(e.byteLength[...t,...n["VALIDITY"]&&[n["VALIDITY"]]||[],...n["TYPE"]&&[n["TYPE"]]||[],...n["OFFSET"]&&[n["OFFSET"]]||[],...n["DATA"]&&[n["DATA"]]||[],...e(n["children"])],[])}}readMessage(t){let e;if((e=this.next()).done)return null;if(null!=t&&e.value.headerType!==t)throw new Error(Wa(t));return e.value}readSchema(){const t=Fe.Schema,e=this.readMessage(t),n=e&&e.header();if(!e||!n)throw new Error(Ha(t));return n}}const Xa=4,Qa="ARROW1",tc=new Uint8Array(Qa.length);for(let $h=0;$h2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");un.isNull(t.type)||oc.call(this,r<=0?new Uint8Array(0):Ce(e.offset,n,e.nullBitmap)),this.nodes.push(new wa(n,r))}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.indices)}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function oc(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new _a(this._byteLength,e)),this._byteLength+=e,this}function ac(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(oc.call(this,r),e.mode===je.Sparse)return fc.call(this,t);if(e.mode===je.Dense){if(t.offset<=0)return oc.call(this,i),fc.call(this,t);{const s=r.reduce((t,e)=>Math.max(t,e),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),c=new Int32Array(n),u=le(-i[0],n,i);for(let t,e,i=-1;++i=t.length?oc.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?oc.call(this,Ce(t.offset,t.length,e)):oc.call(this,Ne(t))}function uc(t){return oc.call(this,t.values.subarray(0,t.length*t.stride))}function lc(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return oc.call(this,le(-r[0],e,r)),oc.call(this,n.subarray(i,i+o)),this}function hc(t){const{length:e,valueOffsets:n}=t;return n&&oc.call(this,le(n[0],e,n)),this.visit(t.getChildAt(0))}function fc(t){return this.visitMany(t.type.children.map((e,n)=>t.getChildAt(n)).filter(Boolean))[0]}sc.prototype.visitBool=cc,sc.prototype.visitInt=uc,sc.prototype.visitFloat=uc,sc.prototype.visitUtf8=lc,sc.prototype.visitBinary=lc,sc.prototype.visitFixedSizeBinary=uc,sc.prototype.visitDate=uc,sc.prototype.visitTimestamp=uc,sc.prototype.visitTime=uc,sc.prototype.visitDecimal=uc,sc.prototype.visitList=hc,sc.prototype.visitStruct=fc,sc.prototype.visitUnion=ac,sc.prototype.visitInterval=uc,sc.prototype.visitFixedSizeList=hc,sc.prototype.visitMap=hc;class dc extends rt{constructor(t){super(),this._position=0,this._started=!1,this._sink=new oo,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,pt(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy="boolean"!==typeof t.autoDestroy||t.autoDestroy,this._writeLegacyIpcFormat="boolean"===typeof t.writeLegacyIpcFormat&&t.writeLegacyIpcFormat}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,e){throw new Error('"throughDOM" not available in this environment')}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return yt(t)?t.then(t=>this.writeAll(t)):gt(t)?gc(this,t):bc(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,e=null){return t===this._sink||t instanceof oo?this._sink=t:(this._sink=new oo,t&&It(t)?this.toDOMStream({type:"bytes"}).pipeTo(t):t&&Ot(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,e&&e.compareTo(this._schema)||(null===e?(this._position=0,this._schema=null):(this._started=!0,this._schema=e,this._writeSchema(e))),this}write(t){let e=null;if(!this._sink)throw new Error("RecordBatchWriter is closed");if(null===t||void 0===t)return this.finish()&&void 0;if(t instanceof zl&&!(e=t.schema))return this.finish()&&void 0;if(t instanceof Wl&&!(e=t.schema))return this.finish()&&void 0;if(e&&!e.compareTo(this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,e)}t instanceof Wl?t instanceof Hl||this._writeRecordBatch(t):t instanceof zl?this.writeAll(t.chunks):bt(t)&&this.writeAll(t)}_writeMessage(t,e=8){const n=e-1,r=ga.encode(t),i=r.byteLength,s=this._writeLegacyIpcFormat?4:8,o=i+s+n&~n,a=o-i-s;return t.headerType===Fe.RecordBatch?this._recordBatchBlocks.push(new so(o,t.bodyLength,this._position)):t.headerType===Fe.DictionaryBatch&&this._dictionaryBlocks.push(new so(o,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(o-s)),i>0&&this._write(r),this._writePadding(a)}_write(t){if(this._started){const e=Ct(t);e&&e.byteLength>0&&(this._sink.write(e),this._position+=e.byteLength)}return this}_writeSchema(t){return this._writeMessage(ga.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(tc)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){const{byteLength:e,nodes:n,bufferRegions:r,buffers:i}=sc.assemble(t),s=new ma(t.length,n,r),o=ga.from(s,e);return this._writeDictionaries(t)._writeMessage(o)._writeBodyBuffers(i)}_writeDictionaryBatch(t,e,n=!1){this._dictionaryDeltaOffsets.set(e,t.length+(this._dictionaryDeltaOffsets.get(e)||0));const{byteLength:r,nodes:i,bufferRegions:s,buffers:o}=sc.assemble(t),a=new ma(t.length,i,s),c=new va(a,e,n),u=ga.from(c,r);return this._writeMessage(u)._writeBodyBuffers(o)}_writeBodyBuffers(t){let e,n,r;for(let i=-1,s=t.length;++i0&&(this._write(e),(r=(n+7&-8)-n)>0&&this._writePadding(r));return this}_writeDictionaries(t){for(let[e,n]of t.dictionaries){let t=this._dictionaryDeltaOffsets.get(e)||0;if(0===t||(n=n.slice(t)).length>0){const r="chunks"in n?n.chunks:[n];for(const n of r)this._writeDictionaryBatch(n,e,t>0),t+=n.length}}return this}}class pc extends dc{static writeAll(t,e){const n=new pc(e);return yt(t)?t.then(t=>n.writeAll(t)):gt(t)?gc(n,t):bc(n,t)}}class yc extends dc{constructor(){super(),this._autoDestroy=!0}static writeAll(t){const e=new yc;return yt(t)?t.then(t=>e.writeAll(t)):gt(t)?gc(e,t):bc(e,t)}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){const e=ro.encode(new ro(t,Le.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(e)._write(Int32Array.of(e.byteLength))._writeMagic()}}function bc(t,e){let n=e;e instanceof zl&&(n=e.chunks,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}async function gc(t,e){for await(const n of e)t.write(n);return t.finish()}const mc=new Uint8Array(0),vc=t=>[mc,mc,new Uint8Array(t),mc];function _c(t,e,n=e.reduce((t,e)=>Math.max(t,e.length),0)){let r,i,s=-1,o=e.length;const a=[...t.fields],c=[],u=(n+63&-64)>>3;while(++st)),t)}function Ic(t,e){return Sc(t,e.map(t=>t instanceof ji?t.chunks.map(t=>t.data):[t.data]))}function Sc(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((t,e)=>Math.max(t,e.length),0)};let s,o=0,a=0,c=-1,u=e.length,l=[];while(i.numBatches-- >0){for(a=Number.POSITIVE_INFINITY,c=-1;++c0&&(r[o++]=[a,l.slice()]))}return[t=new Hi(n,t.metadata),r.map(e=>new Wl(t,...e))]}function Oc(t,e,n,r,i){let s,o,a=0,c=-1,u=r.length;const l=(e+63&-64)>>3;while(++c=e?a===e?n[c]=s:(n[c]=s.slice(0,e),s=s.slice(e,a-e),i.numBatches=Math.max(i.numBatches,r[c].unshift(s))):((o=t[c]).nullable||(t[c]=o.clone({nullable:!0})),n[c]=s?s._changeLengthAndBackfillNullBitmap(e):Yn.new(o.type,0,e,e,vc(l)));return n}class Tc extends we{constructor(t,e){super(),this._children=e,this.numChildren=t.childData.length,this._bindDataAccessors(this.data=t)}get type(){return this.data.type}get typeId(){return this.data.typeId}get length(){return this.data.length}get offset(){return this.data.offset}get stride(){return this.data.stride}get nullCount(){return this.data.nullCount}get byteLength(){return this.data.byteLength}get VectorName(){return Oe[this.typeId]+"Vector"}get ArrayType(){return this.type.ArrayType}get values(){return this.data.values}get typeIds(){return this.data.typeIds}get nullBitmap(){return this.data.nullBitmap}get valueOffsets(){return this.data.valueOffsets}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}clone(t,e=this._children){return we.new(t,e)}concat(...t){return ji.concat(this,...t)}slice(t,e){return gi(this,t,e,this._sliceInternal)}isValid(t){if(this.nullCount>0){const e=this.offset+t,n=this.nullBitmap[e>>3],r=n&1<=this.numChildren?null:(this._children||(this._children=[]))[t]||(this._children[t]=we.new(this.data.childData[t]))}toJSON(){return[...this]}_sliceInternal(t,e,n){return t.clone(t.data.slice(e,n-e),null)}_bindDataAccessors(t){}}Tc.prototype[Symbol.isConcatSpreadable]=!0;class Ac extends Tc{asUtf8(){return we.new(this.data.clone(new Tn))}}class xc extends Tc{static from(t){return Cl(()=>new An,t)}}class Bc extends Tc{static from(...t){return 2===t.length?Cl(()=>t[1]===Ae.DAY?new jn:new Dn,t[0]):Cl(()=>new Dn,t[0])}}class jc extends Bc{}class Dc extends Bc{}class Fc extends Tc{}class Lc extends Tc{constructor(t){super(t),this.indices=we.new(t.clone(this.type.indices))}static from(...t){if(3===t.length){const[e,n,r]=t,i=new Pn(e.type,n,null,null);return we.new(Yn.Dictionary(i,0,r.length,0,null,r,e))}return Cl(()=>t[0].type,t[0])}get dictionary(){return this.data.dictionary}reverseLookup(t){return this.dictionary.indexOf(t)}getKey(t){return this.indices.get(t)}getValue(t){return this.dictionary.get(t)}setKey(t,e){return this.indices.set(t,e)}setValue(t,e){return this.dictionary.set(t,e)}}Lc.prototype.indices=null;class Ec extends Tc{}class Mc extends Tc{}class Uc extends Tc{static from(t){let e=Pc(this);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let n=Rc(t.constructor)||e;if(null===e&&(e=n),e&&e===n){let n=new e,r=t.byteLength/n.ArrayType.BYTES_PER_ELEMENT;if(!Vc(e,t.constructor))return we.new(Yn.Float(n,0,r,0,null,t))}}if(e)return Cl(()=>new e,t);if(t instanceof DataView||t instanceof ArrayBuffer)throw new TypeError("Cannot infer float type from instance of "+t.constructor.name);throw new TypeError("Unrecognized FloatVector input")}}class Cc extends Uc{toFloat32Array(){return new Float32Array(this)}toFloat64Array(){return new Float64Array(this)}}class Nc extends Uc{}class kc extends Uc{}const Vc=(t,e)=>t===wn&&e!==Uint16Array,Rc=t=>{switch(t){case Uint16Array:return wn;case Float32Array:return In;case Float64Array:return Sn;default:return null}},Pc=t=>{switch(t){case Cc:return wn;case Nc:return In;case kc:return Sn;default:return null}};class zc extends Tc{}class $c extends zc{}class Yc extends zc{}class Wc extends Tc{static from(...t){let[e,n=!1]=t,r=nu(this,n);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let t=eu(e.constructor,n)||r;if(null===r&&(r=t),r&&r===t){let t=new r,n=e.byteLength/t.ArrayType.BYTES_PER_ELEMENT;return tu(r,e.constructor)&&(n*=.5),we.new(Yn.Int(t,0,n,0,null,e))}}if(r)return Cl(()=>new r,e);if(e instanceof DataView||e instanceof ArrayBuffer)throw new TypeError("Cannot infer integer type from instance of "+e.constructor.name);throw new TypeError("Unrecognized IntVector input")}}class Hc extends Wc{}class Kc extends Wc{}class Gc extends Wc{}class qc extends Wc{toBigInt64Array(){return Ut(this.values)}get values64(){return this._values64||(this._values64=this.toBigInt64Array())}}class Jc extends Wc{}class Zc extends Wc{}class Xc extends Wc{}class Qc extends Wc{toBigUint64Array(){return Vt(this.values)}get values64(){return this._values64||(this._values64=this.toBigUint64Array())}}const tu=(t,e)=>(t===yn||t===vn)&&(e===Int32Array||e===Uint32Array),eu=(t,e)=>{switch(t){case Int8Array:return fn;case Int16Array:return dn;case Int32Array:return e?yn:pn;case at:return yn;case Uint8Array:return bn;case Uint16Array:return gn;case Uint32Array:return e?vn:mn;case ut:return vn;default:return null}},nu=(t,e)=>{switch(t){case Hc:return fn;case Kc:return dn;case Gc:return e?yn:pn;case qc:return yn;case Jc:return bn;case Zc:return gn;case Xc:return e?vn:mn;case Qc:return vn;default:return null}};class ru extends Tc{}class iu extends Tc{asList(){const t=this.type.children[0];return we.new(this.data.clone(new Mn(t)))}bind(t){const e=this.getChildAt(0),{[t]:n,[t+1]:r}=this.valueOffsets;return new hi(e.slice(n,r))}}class su extends Tc{}const ou=Symbol.for("rowIndex");class au extends Tc{bind(t){const e=this._row||(this._row=new fi(this)),n=Object.create(e);return n[ou]=t,n}}class cu extends Tc{}class uu extends cu{}class lu extends cu{}class hu extends cu{}class fu extends cu{}class du extends Tc{}class pu extends du{}class yu extends du{}class bu extends du{}class gu extends du{}class mu extends Tc{get typeIdToChildIndex(){return this.data.type.typeIdToChildIndex}}class vu extends mu{get valueOffsets(){return this.data.valueOffsets}}class _u extends mu{}class wu extends Tc{static from(t){return Cl(()=>new Tn,t)}asBinary(){return we.new(this.data.clone(new On))}}function Iu(t){return function(){return t(this)}}function Su(t){return function(e){return t(this,e)}}function Ou(t){return function(e,n){return t(this,e,n)}}class Tu extends ze{}const Au=(t,e)=>864e5*t[e],xu=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),Bu=(t,e)=>t[e+1]/1e3*4294967296+(t[e]>>>0)/1e3,ju=(t,e)=>t[e+1]/1e6*4294967296+(t[e]>>>0)/1e6,Du=t=>new Date(t),Fu=(t,e)=>Du(Au(t,e)),Lu=(t,e)=>Du(xu(t,e)),Eu=(t,e)=>null,Mu=(t,e,n)=>{const{[n]:r,[n+1]:i}=e;return null!=r&&null!=i?t.subarray(r,i):null},Uu=({offset:t,values:e},n)=>{const r=t+n,i=e[r>>3];return 0!==(i&1<Fu(t,e),Nu=({values:t},e)=>Lu(t,2*e),ku=({stride:t,values:e},n)=>e[t*n],Vu=({stride:t,values:e},n)=>gr(e[t*n]),Ru=({stride:t,values:e,type:n},r)=>Lr.new(e.subarray(t*r,t*(r+1)),n.isSigned),Pu=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),zu=({values:t,valueOffsets:e},n)=>Mu(t,e,n),$u=({values:t,valueOffsets:e},n)=>{const r=Mu(t,e,n);return null!==r?Q(r):null},Yu=(t,e)=>t.type.bitWidth<64?ku(t,e):Ru(t,e),Wu=(t,e)=>t.type.precision!==Be.HALF?ku(t,e):Vu(t,e),Hu=(t,e)=>t.type.unit===Ae.DAY?Cu(t,e):Nu(t,e),Ku=({values:t},e)=>1e3*xu(t,2*e),Gu=({values:t},e)=>xu(t,2*e),qu=({values:t},e)=>Bu(t,2*e),Ju=({values:t},e)=>ju(t,2*e),Zu=(t,e)=>{switch(t.type.unit){case xe.SECOND:return Ku(t,e);case xe.MILLISECOND:return Gu(t,e);case xe.MICROSECOND:return qu(t,e);case xe.NANOSECOND:return Ju(t,e)}},Xu=({values:t,stride:e},n)=>t[e*n],Qu=({values:t,stride:e},n)=>t[e*n],tl=({values:t},e)=>Lr.signed(t.subarray(2*e,2*(e+1))),el=({values:t},e)=>Lr.signed(t.subarray(2*e,2*(e+1))),nl=(t,e)=>{switch(t.type.unit){case xe.SECOND:return Xu(t,e);case xe.MILLISECOND:return Qu(t,e);case xe.MICROSECOND:return tl(t,e);case xe.NANOSECOND:return el(t,e)}},rl=({values:t},e)=>Lr.decimal(t.subarray(4*e,4*(e+1))),il=(t,e)=>{const n=t.getChildAt(0),{valueOffsets:r,stride:i}=t;return n.slice(r[e*i],r[e*i+1])},sl=(t,e)=>t.bind(e),ol=(t,e)=>t.bind(e),al=(t,e)=>t.type.mode===je.Dense?cl(t,e):ul(t,e),cl=(t,e)=>{const n=t.typeIdToChildIndex[t.typeIds[e]],r=t.getChildAt(n);return r?r.get(t.valueOffsets[e]):null},ul=(t,e)=>{const n=t.typeIdToChildIndex[t.typeIds[e]],r=t.getChildAt(n);return r?r.get(e):null},ll=(t,e)=>t.getValue(t.getKey(e)),hl=(t,e)=>t.type.unit===De.DAY_TIME?fl(t,e):dl(t,e),fl=({values:t},e)=>t.subarray(2*e,2*(e+1)),dl=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=n/12|0,r[1]=n%12|0,r},pl=(t,e)=>{const n=t.getChildAt(0),{stride:r}=t;return n.slice(e*r,(e+1)*r)};Tu.prototype.visitNull=Eu,Tu.prototype.visitBool=Uu,Tu.prototype.visitInt=Yu,Tu.prototype.visitInt8=ku,Tu.prototype.visitInt16=ku,Tu.prototype.visitInt32=ku,Tu.prototype.visitInt64=Ru,Tu.prototype.visitUint8=ku,Tu.prototype.visitUint16=ku,Tu.prototype.visitUint32=ku,Tu.prototype.visitUint64=Ru,Tu.prototype.visitFloat=Wu,Tu.prototype.visitFloat16=Vu,Tu.prototype.visitFloat32=ku,Tu.prototype.visitFloat64=ku,Tu.prototype.visitUtf8=$u,Tu.prototype.visitBinary=zu,Tu.prototype.visitFixedSizeBinary=Pu,Tu.prototype.visitDate=Hu,Tu.prototype.visitDateDay=Cu,Tu.prototype.visitDateMillisecond=Nu,Tu.prototype.visitTimestamp=Zu,Tu.prototype.visitTimestampSecond=Ku,Tu.prototype.visitTimestampMillisecond=Gu,Tu.prototype.visitTimestampMicrosecond=qu,Tu.prototype.visitTimestampNanosecond=Ju,Tu.prototype.visitTime=nl,Tu.prototype.visitTimeSecond=Xu,Tu.prototype.visitTimeMillisecond=Qu,Tu.prototype.visitTimeMicrosecond=tl,Tu.prototype.visitTimeNanosecond=el,Tu.prototype.visitDecimal=rl,Tu.prototype.visitList=il,Tu.prototype.visitStruct=ol,Tu.prototype.visitUnion=al,Tu.prototype.visitDenseUnion=cl,Tu.prototype.visitSparseUnion=ul,Tu.prototype.visitDictionary=ll,Tu.prototype.visitInterval=hl,Tu.prototype.visitIntervalDayTime=fl,Tu.prototype.visitIntervalYearMonth=dl,Tu.prototype.visitFixedSizeList=pl,Tu.prototype.visitMap=sl;const yl=new Tu;class bl extends ze{}function gl(t,e){return null===e&&t.length>0?0:-1}function ml(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of ke(n,t.data.offset+(e||0),t.length,n,Ee)){if(!i)return r;++r}return-1}function vl(t,e,n){if(void 0===e)return-1;if(null===e)return ml(t,n);const r=_i(e);for(let i=(n||0)-1,s=t.length;++i0!==(r&1<0)return Sl(t);const{type:e,typeId:n,length:r}=t;return 1===t.stride&&(n===Oe.Timestamp||n===Oe.Int&&64!==e.bitWidth||n===Oe.Time&&64!==e.bitWidth||n===Oe.Float&&e.precision>0)?t.values.subarray(0,r)[Symbol.iterator]():function*(e){for(let n=-1;++nt+e,Dl=t=>"Cannot compute the byte width of variable-width column "+t;class Fl extends ze{visitNull(t){return 0}visitInt(t){return t.bitWidth/8}visitFloat(t){return t.ArrayType.BYTES_PER_ELEMENT}visitBinary(t){throw new Error(Dl(t))}visitUtf8(t){throw new Error(Dl(t))}visitBool(t){return 1/8}visitDecimal(t){return 16}visitDate(t){return 4*(t.unit+1)}visitTime(t){return t.bitWidth/8}visitTimestamp(t){return t.unit===xe.SECOND?4:8}visitInterval(t){return 4*(t.unit+1)}visitList(t){throw new Error(Dl(t))}visitStruct(t){return this.visitFields(t.children).reduce(jl,0)}visitUnion(t){return this.visitFields(t.children).reduce(jl,0)}visitFixedSizeBinary(t){return t.byteWidth}visitFixedSizeList(t){return t.listSize*this.visitFields(t.children).reduce(jl,0)}visitMap(t){return this.visitFields(t.children).reduce(jl,0)}visitDictionary(t){return this.visit(t.indices)}visitFields(t){return(t||[]).map(t=>this.visit(t.type))}visitSchema(t){return this.visitFields(t.fields).reduce(jl,0)}}const Ll=new Fl;class El extends ze{visitNull(){return su}visitBool(){return xc}visitInt(){return Wc}visitInt8(){return Hc}visitInt16(){return Kc}visitInt32(){return Gc}visitInt64(){return qc}visitUint8(){return Jc}visitUint16(){return Zc}visitUint32(){return Xc}visitUint64(){return Qc}visitFloat(){return Uc}visitFloat16(){return Cc}visitFloat32(){return Nc}visitFloat64(){return kc}visitUtf8(){return wu}visitBinary(){return Ac}visitFixedSizeBinary(){return Ec}visitDate(){return Bc}visitDateDay(){return jc}visitDateMillisecond(){return Dc}visitTimestamp(){return cu}visitTimestampSecond(){return uu}visitTimestampMillisecond(){return lu}visitTimestampMicrosecond(){return hu}visitTimestampNanosecond(){return fu}visitTime(){return du}visitTimeSecond(){return pu}visitTimeMillisecond(){return yu}visitTimeMicrosecond(){return bu}visitTimeNanosecond(){return gu}visitDecimal(){return Fc}visitList(){return ru}visitStruct(){return au}visitUnion(){return mu}visitDenseUnion(){return vu}visitSparseUnion(){return _u}visitDictionary(){return Lc}visitInterval(){return zc}visitIntervalDayTime(){return $c}visitIntervalYearMonth(){return Yc}visitFixedSizeList(){return Mc}visitMap(){return iu}}const Ml=new El;function Ul(t,...e){return new(Ml.getVisitFn(t)())(t,...e)}function Cl(t,e){if(bt(e))return we.from({nullValues:[null,void 0],type:t(),values:e});if(gt(e))return we.from({nullValues:[null,void 0],type:t(),values:e});const{values:n=[],type:r=t(),nullValues:i=[null,void 0]}={...e};return bt(n),we.from({nullValues:i,...e,type:r})}function Nl(t){const{values:e=[],...n}={nullValues:[null,void 0],...t};if(bt(e)){const t=[...nr.throughIterable(n)(e)];return 1===t.length?t[0]:ji.concat(t)}return(async t=>{const r=nr.throughAsyncIterable(n);for await(const n of r(e))t.push(n);return 1===t.length?t[0]:ji.concat(t)})([])}function kl(t){return function(){return t(this.type)}}function Vl(t){return function(e){return this.isValid(e)?t.call(this,e):null}}function Rl(t){return function(e,n){Ue(this.nullBitmap,this.offset+e,!(null===n||void 0===n))&&t.call(this,e,n)}}function Pl(){const t=this.nullBitmap;t&&t.byteLength>0&&(this.get=Vl(this.get),this.set=Rl(this.set))}we.new=Ul,we.from=Nl,Tc.prototype.get=function(t){return yl.visit(this,t)},Tc.prototype.set=function(t,e){return Ks.visit(this,t,e)},Tc.prototype.indexOf=function(t,e){return wl.visit(this,t,e)},Tc.prototype.toArray=function(){return Bl.visit(this)},Tc.prototype.getByteWidth=function(){return Ll.visit(this.type)},Tc.prototype[Symbol.iterator]=function(){return Tl.visit(this)},Tc.prototype._bindDataAccessors=Pl,Object.keys(Oe).map(t=>Oe[t]).filter(t=>"number"===typeof t).filter(t=>t!==Oe.NONE).forEach(t=>{const e=Ml.visit(t);e.prototype["get"]=Su(yl.getVisitFn(t)),e.prototype["set"]=Ou(Ks.getVisitFn(t)),e.prototype["indexOf"]=Ou(wl.getVisitFn(t)),e.prototype["toArray"]=Iu(Bl.getVisitFn(t)),e.prototype["getByteWidth"]=kl(Ll.getVisitFn(t)),e.prototype[Symbol.iterator]=Iu(Tl.getVisitFn(t))});class zl extends ji{constructor(...t){let e=null;t[0]instanceof Hi&&(e=t.shift());let n=Ci(Wl,t);if(!e&&!(e=n[0]&&n[0].schema))throw new TypeError("Table must be initialized with a Schema or at least one RecordBatch");n[0]||(n[0]=new Hl(e)),super(new Un(e.fields),n),this._schema=e,this._chunks=n}static empty(t=new Hi([])){return new zl(t,[])}static from(t){if(!t)return zl.empty();if("object"===typeof t){let e=bt(t["values"])?$l(t):gt(t["values"])?Yl(t):null;if(null!==e)return e}let e=Gl.from(t);return yt(e)?(async()=>await zl.from(await e))():e.isSync()&&(e=e.open())?e.schema?new zl(e.schema,[...e]):zl.empty():(async t=>{const e=await t,n=e.schema,r=[];if(n){for await(let t of e)r.push(t);return new zl(n,r)}return zl.empty()})(e.open())}static async fromAsync(t){return await zl.from(t)}static fromStruct(t){return zl.new(t.data.childData,t.type.children)}static new(...t){return new zl(...wc(Ni(t)))}get schema(){return this._schema}get length(){return this._length}get chunks(){return this._chunks}get numCols(){return this._numChildren}clone(t=this._chunks){return new zl(this._schema,t)}getColumn(t){return this.getColumnAt(this.getColumnIndex(t))}getColumnAt(t){return this.getChildAt(t)}getColumnIndex(t){return this._schema.fields.findIndex(e=>e.name===t)}getChildAt(t){if(t<0||t>=this.numChildren)return null;let e,n;const r=this._schema.fields,i=this._children||(this._children=[]);if(n=i[t])return n;if(e=r[t]){const n=this._chunks.map(e=>e.getChildAt(t)).filter(t=>null!=t);if(n.length>0)return i[t]=new Ei(e,n)}return null}serialize(t="binary",e=!0){const n=e?pc:yc;return n.writeAll(this).toUint8Array(!0)}count(){return this._length}select(...t){const e=this._schema.fields.reduce((t,e,n)=>t.set(e.name,n),new Map);return this.selectAt(...t.map(t=>e.get(t)).filter(t=>t>-1))}selectAt(...t){const e=this._schema.selectAt(...t);return new zl(e,this._chunks.map(({length:n,data:{childData:r}})=>new Wl(e,n,t.map(t=>r[t]).filter(Boolean))))}assign(t){const e=this._schema.fields,[n,r]=t.schema.fields.reduce((t,n,r)=>{const[i,s]=t,o=e.findIndex(t=>t.name===n.name);return~o?s[o]=r:i.push(r),t},[[],[]]),i=this._schema.assign(t.schema),s=[...e.map((e,n,i,s=r[n])=>void 0===s?this.getColumnAt(n):t.getColumnAt(s)),...n.map(e=>t.getColumnAt(e))].filter(Boolean);return new zl(...Ic(i,s))}}function $l(t){const{type:e}=t;return e instanceof Un?zl.fromStruct(au.from(t)):null}function Yl(t){const{type:e}=t;return e instanceof Un?au.from(t).then(t=>zl.fromStruct(t)):null}class Wl extends au{constructor(...t){let e,n,r=t[0];if(t[1]instanceof Yn)[,e,n]=t;else{const n=r.fields,[,i,s]=t;e=Yn.Struct(new Un(n),0,i,0,null,s)}super(e,n),this._schema=r}static from(t){return bt(t["values"]),zl.from(t)}static new(...t){const[e,n]=ki(t),r=n.filter(t=>t instanceof we);return new Wl(..._c(new Hi(e),r.map(t=>t.data)))}clone(t,e=this._children){return new Wl(this._schema,t,e)}concat(...t){const e=this._schema,n=ji.flatten(this,...t);return new zl(e,n.map(({data:t})=>new Wl(e,t)))}get schema(){return this._schema}get numCols(){return this._schema.fields.length}get dictionaries(){return this._dictionaries||(this._dictionaries=Kl.collect(this))}select(...t){const e=this._schema.fields.reduce((t,e,n)=>t.set(e.name,n),new Map);return this.selectAt(...t.map(t=>e.get(t)).filter(t=>t>-1))}selectAt(...t){const e=this._schema.selectAt(...t),n=t.map(t=>this.data.childData[t]).filter(Boolean);return new Wl(e,this.length,n)}}class Hl extends Wl{constructor(t){super(t,0,t.fields.map(t=>Yn.new(t.type,0,0,0)))}}class Kl extends ze{constructor(){super(...arguments),this.dictionaries=new Map}static collect(t){return(new Kl).visit(t.data,new Un(t.schema.fields)).dictionaries}visit(t,e){return un.isDictionary(e)?this.visitDictionary(t,e):(t.childData.forEach((t,n)=>this.visit(t,e.children[n].type)),this)}visitDictionary(t,e){const n=t.dictionary;return n&&n.length>0&&this.dictionaries.set(e.id,n),this}}class Gl extends rt{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){const e=this._impl.open(t);return yt(e)?e.then(()=>this):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fe.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fe.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,e){throw new Error('"throughDOM" not available in this environment')}static from(t){return t instanceof Gl?t:mt(t)?ch(t):_t(t)?hh(t):yt(t)?(async()=>await Gl.from(await t))():wt(t)||St(t)||Tt(t)||gt(t)?lh(new co(t)):uh(new ao(t))}static readAll(t){return t instanceof Gl?t.isSync()?oh(t):ah(t):mt(t)||ArrayBuffer.isView(t)||bt(t)||vt(t)?oh(t):ah(t)}}class ql extends Gl{constructor(t){super(t),this._impl=t}[Symbol.iterator](){return this._impl[Symbol.iterator]()}async*[Symbol.asyncIterator](){yield*this[Symbol.iterator]()}}class Jl extends Gl{constructor(t){super(t),this._impl=t}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Zl extends ql{constructor(t){super(t),this._impl=t}}class Xl extends Jl{constructor(t){super(t),this._impl=t}}class Ql{constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,e){return new Wl(this.schema,t.length,this._loadVectors(t,e,this.schema.fields))}_loadDictionaryBatch(t,e){const{id:n,isDelta:r,data:i}=t,{dictionaries:s,schema:o}=this,a=s.get(n);if(r||!a){const t=o.dictionaries.get(n);return a&&r?a.concat(we.new(this._loadVectors(i,e,[t])[0])):we.new(this._loadVectors(i,e,[t])[0])}return a}_loadVectors(t,e,n){return new Io(e,t.nodes,t.buffers,this.dictionaries).visitMany(n)}}class th extends Ql{constructor(t,e){super(e),this._reader=mt(t)?new Za(this._handle=t):new qa(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=sh(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):et}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):et}next(){if(this.closed)return et;let t,{_reader:e}=this;while(t=this._readNextMessageAndValidate())if(t.isSchema())this.reset(t.header());else{if(t.isRecordBatch()){this._recordBatchIndex++;const n=t.header(),r=e.readMessageBody(t.bodyLength),i=this._loadRecordBatch(n,r);return{done:!1,value:i}}if(t.isDictionaryBatch()){this._dictionaryIndex++;const n=t.header(),r=e.readMessageBody(t.bodyLength),i=this._loadDictionaryBatch(n,r);this.dictionaries.set(n.id,i)}}return this.schema&&0===this._recordBatchIndex?(this._recordBatchIndex++,{done:!1,value:new Hl(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}}class eh extends Ql{constructor(t,e){super(e),this._reader=new Ja(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}async cancel(){!this.closed&&(this.closed=!0)&&(await this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}async open(t){return this.closed||(this.autoDestroy=sh(this,t),this.schema||(this.schema=await this._reader.readSchema())||await this.cancel()),this}async throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?await this.reset()._reader.throw(t):et}async return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?await this.reset()._reader.return(t):et}async next(){if(this.closed)return et;let t,{_reader:e}=this;while(t=await this._readNextMessageAndValidate())if(t.isSchema())await this.reset(t.header());else{if(t.isRecordBatch()){this._recordBatchIndex++;const n=t.header(),r=await e.readMessageBody(t.bodyLength),i=this._loadRecordBatch(n,r);return{done:!1,value:i}}if(t.isDictionaryBatch()){this._dictionaryIndex++;const n=t.header(),r=await e.readMessageBody(t.bodyLength),i=this._loadDictionaryBatch(n,r);this.dictionaries.set(n.id,i)}}return this.schema&&0===this._recordBatchIndex?(this._recordBatchIndex++,{done:!1,value:new Hl(this.schema)}):await this.return()}async _readNextMessageAndValidate(t){return await this._reader.readMessage(t)}}class nh extends th{constructor(t,e){super(t instanceof ho?t:new ho(t),e)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){if(this.closed)return null;this._footer||this.open();const e=this._footer&&this._footer.getRecordBatch(t);if(e&&this._handle.seek(e.offset)){const t=this._reader.readMessage(Fe.RecordBatch);if(t&&t.isRecordBatch()){const e=t.header(),n=this._reader.readMessageBody(t.bodyLength),r=this._loadRecordBatch(e,n);return r}}return null}_readDictionaryBatch(t){const e=this._footer&&this._footer.getDictionaryBatch(t);if(e&&this._handle.seek(e.offset)){const t=this._reader.readMessage(Fe.DictionaryBatch);if(t&&t.isDictionaryBatch()){const e=t.header(),n=this._reader.readMessageBody(t.bodyLength),r=this._loadDictionaryBatch(e,n);this.dictionaries.set(e.id,r)}}}_readFooter(){const{_handle:t}=this,e=t.size-rc,n=t.readInt32(e),r=t.readAt(e-n,n);return ro.decode(r)}_readNextMessageAndValidate(t){if(this._footer||this.open(),this._footer&&this._recordBatchIndex=4?ec(e)?new Zl(new nh(t.read())):new ql(new th(t)):new ql(new th(function*(){}()))}async function lh(t){const e=await t.peek(nc+7&-8);return e&&e.byteLength>=4?ec(e)?new Zl(new nh(await t.read())):new Jl(new eh(t)):new Jl(new eh(async function*(){}()))}async function hh(t){const{size:e}=await t.stat(),n=new fo(t,e);return e>=ic&&ec(await n.readAt(0,nc+7&-8))?new Xl(new rh(n)):new Jl(new eh(n))}function fh(t,e){if(gt(t))return ph(t,e);if(bt(t))return dh(t,e);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function dh(t,e){let n=null;const r=e&&"bytes"===e.type||!1,i=e&&e.highWaterMark||2**24;return new ReadableStream({...e,start(e){s(e,n||(n=t[Symbol.iterator]()))},pull(t){n?s(t,n):t.close()},cancel(){n&&n.return&&n.return(),n=null}},{highWaterMark:r?i:void 0,...e});function s(t,e){let n,i=null,s=t.desiredSize||null;while(!(i=e.next(r?s:null)).done)if(ArrayBuffer.isView(i.value)&&(n=Ct(i.value))&&(null!=s&&r&&(s=s-n.byteLength+1),i.value=n),t.enqueue(i.value),null!=s&&--s<=0)return;t.close()}}function ph(t,e){let n=null;const r=e&&"bytes"===e.type||!1,i=e&&e.highWaterMark||2**24;return new ReadableStream({...e,async start(e){await s(e,n||(n=t[Symbol.asyncIterator]()))},async pull(t){n?await s(t,n):t.close()},async cancel(){n&&n.return&&await n.return(),n=null}},{highWaterMark:r?i:void 0,...e});async function s(t,e){let n,i=null,s=t.desiredSize||null;while(!(i=await e.next(r?s:null)).done)if(ArrayBuffer.isView(i.value)&&(n=Ct(i.value))&&(null!=s&&r&&(s=s-n.byteLength+1),i.value=n),t.enqueue(i.value),null!=s&&--s<=0)return;t.close()}}function yh(t){return new bh(t)}class bh{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;const{["readableStrategy"]:e,["writableStrategy"]:n,["queueingStrategy"]:r="count",...i}=t;this._controller=null,this._builder=nr.new(i),this._getSize="bytes"!==r?gh:mh;const{["highWaterMark"]:s=("bytes"===r?16384:1e3)}={...e},{["highWaterMark"]:o=("bytes"===r?16384:1e3)}={...n};this["readable"]=new ReadableStream({["cancel"]:()=>{this._builder.clear()},["pull"]:t=>{this._maybeFlush(this._builder,this._controller=t)},["start"]:t=>{this._maybeFlush(this._builder,this._controller=t)}},{highWaterMark:s,size:"bytes"!==r?gh:mh}),this["writable"]=new WritableStream({["abort"]:()=>{this._builder.clear()},["write"]:()=>{this._maybeFlush(this._builder,this._controller)},["close"]:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:o,size:t=>this._writeValueAndReturnChunkSize(t)})}_writeValueAndReturnChunkSize(t){const e=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-e}_maybeFlush(t,e){null!==e&&(this._bufferedSize>=e.desiredSize&&++this._numChunks&&this._enqueue(e,t.toVector()),t.finished&&((t.length>0||0===this._numChunks)&&++this._numChunks&&this._enqueue(e,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(e,null)))}_enqueue(t,e){this._bufferedSize=0,this._controller=null,null===e?t.close():t.enqueue(e)}}const gh=t=>t.length,mh=t=>t.byteLength;function vh(t,e){const n=new oo;let r=null;const i=new ReadableStream({async cancel(){await n.close()},async start(t){await o(t,r||(r=await s()))},async pull(t){r?await o(t,r):t.close()}});return{writable:new WritableStream(n,{highWaterMark:16384,...t}),readable:i};async function s(){return await(await Gl.from(n)).open(e)}async function o(t,e){let n=t.desiredSize,r=null;while(!(r=await e.next()).done)if(t.enqueue(r.value),null!=n&&--n<=0)return;t.close()}}function _h(t,e){const n=new this(t),r=new co(n),i=new ReadableStream({type:"bytes",async cancel(){await r.cancel()},async pull(t){await s(t)},async start(t){await s(t)}},{highWaterMark:16384,...e});return{writable:new WritableStream(n,t),readable:i};async function s(t){let e=null,n=t.desiredSize;while(e=await r.read(n||null))if(t.enqueue(e),null!=n&&(n-=e.byteLength)<=0)return;t.close()}}class wh{eq(t){return t instanceof wh||(t=new Ih(t)),new jh(this,t)}le(t){return t instanceof wh||(t=new Ih(t)),new Dh(this,t)}ge(t){return t instanceof wh||(t=new Ih(t)),new Fh(this,t)}lt(t){return new Lh(this.ge(t))}gt(t){return new Lh(this.le(t))}ne(t){return new Lh(this.eq(t))}}class Ih extends wh{constructor(t){super(),this.v=t}}class Sh extends wh{constructor(t){super(),this.name=t}bind(t){if(!this.colidx){this.colidx=-1;const e=t.schema.fields;for(let t=-1;++te.get(t)}}class Oh{and(...t){return new xh(this,...t)}or(...t){return new Bh(this,...t)}not(){return new Lh(this)}}class Th extends Oh{constructor(t,e){super(),this.left=t,this.right=e}bind(t){return this.left instanceof Ih?this.right instanceof Ih?this._bindLitLit(t,this.left,this.right):this._bindLitCol(t,this.left,this.right):this.right instanceof Ih?this._bindColLit(t,this.left,this.right):this._bindColCol(t,this.left,this.right)}}class Ah extends Oh{constructor(...t){super(),this.children=t}}Ah.prototype.children=Object.freeze([]);class xh extends Ah{constructor(...t){t=t.reduce((t,e)=>t.concat(e instanceof xh?e.children:e),[]),super(...t)}bind(t){const e=this.children.map(e=>e.bind(t));return(t,n)=>e.every(e=>e(t,n))}}class Bh extends Ah{constructor(...t){t=t.reduce((t,e)=>t.concat(e instanceof Bh?e.children:e),[]),super(...t)}bind(t){const e=this.children.map(e=>e.bind(t));return(t,n)=>e.some(e=>e(t,n))}}class jh extends Th{_bindLitLit(t,e,n){const r=e.v==n.v;return()=>r}_bindColCol(t,e,n){const r=e.bind(t),i=n.bind(t);return(t,e)=>r(t,e)==i(t,e)}_bindColLit(t,e,n){const r=e.bind(t);if(e.vector instanceof Lc){let t;const r=e.vector;return r.dictionary!==this.lastDictionary?(t=r.reverseLookup(n.v),this.lastDictionary=r.dictionary,this.lastKey=t):t=this.lastKey,-1===t?()=>!1:e=>r.getKey(e)===t}return(t,e)=>r(t,e)==n.v}_bindLitCol(t,e,n){return this._bindColLit(t,n,e)}}class Dh extends Th{_bindLitLit(t,e,n){const r=e.v<=n.v;return()=>r}_bindColCol(t,e,n){const r=e.bind(t),i=n.bind(t);return(t,e)=>r(t,e)<=i(t,e)}_bindColLit(t,e,n){const r=e.bind(t);return(t,e)=>r(t,e)<=n.v}_bindLitCol(t,e,n){const r=n.bind(t);return(t,n)=>e.v<=r(t,n)}}class Fh extends Th{_bindLitLit(t,e,n){const r=e.v>=n.v;return()=>r}_bindColCol(t,e,n){const r=e.bind(t),i=n.bind(t);return(t,e)=>r(t,e)>=i(t,e)}_bindColLit(t,e,n){const r=e.bind(t);return(t,e)=>r(t,e)>=n.v}_bindLitCol(t,e,n){const r=n.bind(t);return(t,n)=>e.v>=r(t,n)}}class Lh extends Oh{constructor(t){super(),this.child=t}bind(t){const e=this.child.bind(t);return(t,n)=>!e(t,n)}}zl.prototype.countBy=function(t){return new Eh(this.chunks).countBy(t)},zl.prototype.scan=function(t,e){return new Eh(this.chunks).scan(t,e)},zl.prototype.scanReverse=function(t,e){return new Eh(this.chunks).scanReverse(t,e)},zl.prototype.filter=function(t){return new Eh(this.chunks).filter(t)};class Eh extends zl{filter(t){return new Uh(this.chunks,t)}scan(t,e){const n=this.chunks,r=n.length;for(let i=-1;++i=0;){const r=n[i];e&&e(r);for(let e=r.length;--e>=0;)t(e,r)}}countBy(t){const e=this.chunks,n=e.length,r="string"===typeof t?new Sh(t):t;r.bind(e[n-1]);const i=r.vector;if(!un.isDictionary(i.type))throw new Error("countBy currently only supports dictionary-encoded columns");const s=Math.ceil(Math.log(i.length)/Math.log(256)),o=4==s?Uint32Array:s>=2?Uint16Array:Uint8Array,a=new o(i.dictionary.length);for(let c=-1;++c=0;){const r=n[i],s=this._predicate.bind(r);let o=!1;for(let n=r.length;--n>=0;)s(n,r)&&(e&&!o&&(e(r),o=!0),t(n,r))}}count(){let t=0;const e=this._chunks,n=e.length;for(let r=-1;++r=2?Uint16Array:Uint8Array,a=new o(i.dictionary.length);for(let c=-1;++c=i.headerRows&&e=i.headerColumns;if(n){var o=["blank"];return e>0&&o.push("level"+t),{type:"blank",classNames:o.join(" "),content:""}}if(s){var a=e-i.headerColumns;o=["col_heading","level"+t,"col"+a];return{type:"columns",classNames:o.join(" "),content:i.getContent(i.columnsTable,a,t)}}if(r){var c=t-i.headerRows;o=["row_heading","level"+e,"row"+c];return{type:"index",id:"T_"+i.uuid+"level"+e+"_row"+c,classNames:o.join(" "),content:i.getContent(i.indexTable,c,e)}}c=t-i.headerRows,a=e-i.headerColumns,o=["data","row"+c,"col"+a];var u=i.styler?i.getContent(i.styler.displayValuesTable,c,a):i.getContent(i.dataTable,c,a);return{type:"data",id:"T_"+i.uuid+"row"+c+"_col"+a,classNames:o.join(" "),content:u}},this.getContent=function(t,e,n){var r=t.getColumnAt(n);if(null===r)return"";var s=i.getColumnTypeId(t,n);switch(s){case Oe.Timestamp:return i.nanosToDate(r.get(e));default:return r.get(e)}},this.dataTable=zl.from(t),this.indexTable=zl.from(e),this.columnsTable=zl.from(n),this.styler=r?{caption:r.caption,displayValuesTable:zl.from(r.displayValues),styles:r.styles,uuid:r.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.length+this.columnsTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!0,configurable:!0}),t.prototype.serialize=function(){return{data:this.dataTable.serialize(),index:this.indexTable.serialize(),columns:this.columnsTable.serialize()}},t.prototype.getColumnTypeId=function(t,e){return t.schema.fields[e].type.typeId},t.prototype.nanosToDate=function(t){return new Date(t/1e6)},t}(),kh=function(){return kh=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e["dfs"]):{};n=kh(kh({},n),r);var i=Boolean(e["disabled"]),s=e["theme"];s&&Rh(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map((function(e){var n=e.key,r=e.value;return[n,t.toArrowTable(r)]}));return Object.fromEntries(n)},t.toArrowTable=function(t){var e=t.data,n=e.data,r=e.index,i=e.columns,s=e.styler;return new Nh(n,r,i,s)},t.sendBackMsg=function(t,e){window.parent.postMessage(kh({isStreamlitMessage:!0,type:t},e),"*")},t}(),Rh=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML="\n :root {\n --primary-color: "+t.primaryColor+";\n --background-color: "+t.backgroundColor+";\n --secondary-background-color: "+t.secondaryBackgroundColor+";\n --text-color: "+t.textColor+";\n --font: "+t.font+";\n }\n\n body {\n background-color: var(--background-color);\n color: var(--text-color);\n }\n "};function Ph(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch(n){}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e} -/** - * @license - * Copyright 2018-2021 Streamlit Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */var zh=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},t(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}zh(e,t),e.prototype.componentDidMount=function(){Vh.setFrameHeight()},e.prototype.componentDidUpdate=function(){Vh.setFrameHeight()}})(l.a.PureComponent)},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,s=i&&!r.call({1:2},1);e.f=s?function(t){var e=i(this,t);return!!e&&e.enumerable}:r},d2bb:function(t,e,n){var r=n("825a"),i=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(s){}return function(n,s){return r(n),i(s),e?t.call(n,s):n.__proto__=s,n}}():void 0)},d44e:function(t,e,n){var r=n("9bf2").f,i=n("5135"),s=n("b622"),o=s("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},da6a:function(t,e,n){"use strict";var r=n("4cec"),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},s={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},c={};function u(t){return r.isMemo(t)?a:c[t["$$typeof"]]||i}c[r.ForwardRef]=o,c[r.Memo]=a;var l=Object.defineProperty,h=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,y=Object.prototype;function b(t,e,n){if("string"!==typeof e){if(y){var r=p(e);r&&r!==y&&b(t,r,n)}var i=h(e);f&&(i=i.concat(f(e)));for(var o=u(t),a=u(e),c=0;c=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),s.Arguments=s.Array,i("keys"),i("values"),i("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,i,s,o,a=n("23e7"),c=n("c430"),u=n("da84"),l=n("d066"),h=n("fea9"),f=n("6eeb"),d=n("e2cc"),p=n("d44e"),y=n("2626"),b=n("861d"),g=n("1c0b"),m=n("19aa"),v=n("c6b6"),_=n("8925"),w=n("2266"),I=n("1c7e"),S=n("4840"),O=n("2cf4").set,T=n("b575"),A=n("cdf9"),x=n("44de"),B=n("f069"),j=n("e667"),D=n("69f3"),F=n("94ca"),L=n("b622"),E=n("2d00"),M=L("species"),U="Promise",C=D.get,N=D.set,k=D.getterFor(U),V=h,R=u.TypeError,P=u.document,z=u.process,$=l("fetch"),Y=B.f,W=Y,H="process"==v(z),K=!!(P&&P.createEvent&&u.dispatchEvent),G="unhandledrejection",q="rejectionhandled",J=0,Z=1,X=2,Q=1,tt=2,et=F(U,(function(){var t=_(V)!==String(V);if(!t){if(66===E)return!0;if(!H&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!V.prototype["finally"])return!0;if(E>=51&&/native code/.test(V))return!1;var e=V.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[M]=n,!(e.then((function(){}))instanceof n)})),nt=et||!I((function(t){V.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!b(t)||"function"!=typeof(e=t.then))&&e},it=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;T((function(){var i=e.value,s=e.state==Z,o=0;while(r.length>o){var a,c,u,l=r[o++],h=s?l.ok:l.fail,f=l.resolve,d=l.reject,p=l.domain;try{h?(s||(e.rejection===tt&&ct(t,e),e.rejection=Q),!0===h?a=i:(p&&p.enter(),a=h(i),p&&(p.exit(),u=!0)),a===l.promise?d(R("Promise-chain cycle")):(c=rt(a))?c.call(a,f,d):f(a)):d(i)}catch(y){p&&!u&&p.exit(),d(y)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&ot(t,e)}))}},st=function(t,e,n){var r,i;K?(r=P.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),u.dispatchEvent(r)):r={promise:e,reason:n},(i=u["on"+t])?i(r):t===G&&x("Unhandled promise rejection",n)},ot=function(t,e){O.call(u,(function(){var n,r=e.value,i=at(e);if(i&&(n=j((function(){H?z.emit("unhandledRejection",r,t):st(G,t,r)})),e.rejection=H||at(e)?tt:Q,n.error))throw n.value}))},at=function(t){return t.rejection!==Q&&!t.parent},ct=function(t,e){O.call(u,(function(){H?z.emit("rejectionHandled",t):st(q,t,e.value)}))},ut=function(t,e,n,r){return function(i){t(e,n,i,r)}},lt=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=X,it(t,e,!0))},ht=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw R("Promise can't be resolved itself");var i=rt(n);i?T((function(){var r={done:!1};try{i.call(n,ut(ht,t,r,e),ut(lt,t,r,e))}catch(s){lt(t,r,s,e)}})):(e.value=n,e.state=Z,it(t,e,!1))}catch(s){lt(t,{done:!1},s,e)}}};et&&(V=function(t){m(this,V,U),g(t),r.call(this);var e=C(this);try{t(ut(ht,this,e),ut(lt,this,e))}catch(n){lt(this,e,n)}},r=function(t){N(this,{type:U,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:J,value:void 0})},r.prototype=d(V.prototype,{then:function(t,e){var n=k(this),r=Y(S(this,V));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=H?z.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=J&&it(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r,e=C(t);this.promise=t,this.resolve=ut(ht,t,e),this.reject=ut(lt,t,e)},B.f=Y=function(t){return t===V||t===s?new i(t):W(t)},c||"function"!=typeof h||(o=h.prototype.then,f(h.prototype,"then",(function(t,e){var n=this;return new V((function(t,e){o.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof $&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(V,$.apply(u,arguments))}}))),a({global:!0,wrap:!0,forced:et},{Promise:V}),p(V,U,!1,!0),y(U),s=l(U),a({target:U,stat:!0,forced:et},{reject:function(t){var e=Y(this);return e.reject.call(void 0,t),e.promise}}),a({target:U,stat:!0,forced:c||et},{resolve:function(t){return A(c&&this===s?V:this,t)}}),a({target:U,stat:!0,forced:nt},{all:function(t){var e=this,n=Y(e),r=n.resolve,i=n.reject,s=j((function(){var n=g(e.resolve),s=[],o=0,a=1;w(t,(function(t){var c=o++,u=!1;s.push(void 0),a++,n.call(e,t).then((function(t){u||(u=!0,s[c]=t,--a||r(s))}),i)})),--a||r(s)}));return s.error&&i(s.value),n.promise},race:function(t){var e=this,n=Y(e),r=n.reject,i=j((function(){var i=g(e.resolve);w(t,(function(t){i.call(e,t).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),i=n("56ef"),s=n("06cf"),o=n("9bf2");t.exports=function(t,e){for(var n=i(e),a=o.f,c=s.f,u=0;u= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","import { pauseTracking, resetTracking, isRef, toRaw, isProxy, shallowReactive, trigger, effect, stop, isReactive, reactive, shallowReadonly, track, proxyRefs, computed as computed$1, ref } from '@vue/reactivity';\nexport { customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, extend, isModelListener, isOn, camelize, capitalize, EMPTY_ARR, normalizeClass, isObject, normalizeStyle, EMPTY_OBJ, hyphenate, hasOwn, def, isReservedProp, toRawType, makeMap, remove, invokeArrayFns, NO, getGlobalThis, NOOP, hasChanged, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, toDisplayString } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo)) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode);\r\n}\r\nfunction logError(err, type, contextVNode) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev so it's more noticeable\r\n throw err;\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nconst queue = [];\r\nconst postFlushCbs = [];\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nlet flushIndex = -1;\r\nlet pendingPostFlushCbs = null;\r\nlet pendingPostFlushIndex = 0;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(fn) : p;\r\n}\r\nfunction queueJob(job) {\r\n if (!queue.includes(job, flushIndex + 1)) {\r\n queue.push(job);\r\n queueFlush();\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > -1) {\r\n queue[i] = null;\r\n }\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n if (!isArray(cb)) {\r\n if (!pendingPostFlushCbs ||\r\n !pendingPostFlushCbs.includes(cb, pendingPostFlushIndex + 1)) {\r\n postFlushCbs.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip dupicate check here to improve perf\r\n postFlushCbs.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (postFlushCbs.length) {\r\n pendingPostFlushCbs = [...new Set(postFlushCbs)];\r\n postFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (pendingPostFlushIndex = 0; pendingPostFlushIndex < pendingPostFlushCbs.length; pendingPostFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, pendingPostFlushCbs[pendingPostFlushIndex]);\r\n }\r\n pendingPostFlushCbs[pendingPostFlushIndex]();\r\n }\r\n pendingPostFlushCbs = null;\r\n pendingPostFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => (job.id == null ? Infinity : job.id);\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n // Jobs can never be null before flush starts, since they are only invalidated\r\n // during execution of another flushed job.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, job);\r\n }\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n flushIndex = -1;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length || postFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n throw new Error('Maximum recursive updates exceeded. ' +\r\n \"You may have code that is mutating state in your component's \" +\r\n 'render function or updated hook or watcher source function.');\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n const globalObject = typeof global !== 'undefined'\r\n ? global\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : {};\r\n globalObject.__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id);\r\n record = map.get(id);\r\n }\r\n record.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).delete(instance);\r\n}\r\nfunction createRecord(id) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, new Set());\r\n return true;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n Array.from(record).forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n Array.from(record).forEach(instance => {\r\n const comp = instance.type;\r\n if (!hmrDirtyComponents.has(comp)) {\r\n // 1. Update existing comp definition to match new one\r\n extend(comp, newComp);\r\n for (const key in comp) {\r\n if (!(key in newComp)) {\r\n delete comp[key];\r\n }\r\n }\r\n // 2. Mark component dirty. This forces the renderer to replace the component\r\n // on patch.\r\n hmrDirtyComponents.add(comp);\r\n // 3. Make sure to unmark the component after the reload.\r\n queuePostFlushCb(() => {\r\n hmrDirtyComponents.delete(comp);\r\n });\r\n }\r\n if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n });\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\n// mark the current rendering instance for asset resolution (e.g.\r\n// resolveComponent, resolveDirective) during render\r\nlet currentRenderingInstance = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n currentRenderingInstance = instance;\r\n}\r\n// dev only flag to track whether $attrs was used during render.\r\n// If $attrs was used during render then the warning for failed attrs\r\n// fallthrough can be suppressed.\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, parent, vnode, proxy, withProxy, props, slots, attrs, emit, render, renderCache, data, setupState, ctx } = instance;\r\n let result;\r\n currentRenderingInstance = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n let fallthroughAttrs;\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n ;\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (Component.inheritAttrs !== false && fallthroughAttrs) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & 1 /* ELEMENT */ ||\r\n shapeFlag & 6 /* COMPONENT */) {\r\n if (shapeFlag & 1 /* ELEMENT */ && keys.some(isModelListener)) {\r\n // #1643, #1543\r\n // component v-model listeners should only fallthrough for component\r\n // HOCs\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit scopeId\r\n const scopeId = vnode.scopeId;\r\n // vite#536: if subtree root is created from parent slot if would already\r\n // have the correct scopeId, in this case adding the scopeId will cause\r\n // it to be removed if the original slot vnode is reused.\r\n const needScopeId = scopeId && root.scopeId !== scopeId;\r\n const treeOwnerId = parent && parent.type.__scopeId;\r\n const slotScopeId = treeOwnerId && treeOwnerId !== scopeId ? treeOwnerId + '-s' : null;\r\n if (needScopeId || slotScopeId) {\r\n const extras = {};\r\n if (needScopeId)\r\n extras[scopeId] = '';\r\n if (slotScopeId)\r\n extras[slotScopeId] = '';\r\n root = cloneVNode(root, extras);\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n }\r\n catch (err) {\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n currentRenderingInstance = null;\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n */\r\nconst getChildRoot = (vnode) => {\r\n if (vnode.type !== Fragment) {\r\n return [vnode, undefined];\r\n }\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const children = rawChildren.filter(child => {\r\n return !(isVNode(child) &&\r\n child.type === Comment &&\r\n child.children !== 'v-if');\r\n });\r\n if (children.length !== 1) {\r\n return [vnode, undefined];\r\n }\r\n const childRoot = children[0];\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (dynamicChildren && updatedRoot.patchFlag > 0) {\r\n dynamicChildren.push(updatedRoot);\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & 6 /* COMPONENT */ ||\r\n vnode.shapeFlag & 1 /* ELEMENT */ ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag > 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key]) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = ( SuspenseImpl\r\n );\r\nfunction mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (n2.suspense = createSuspenseBoundary(n2, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, suspense.subTree, hiddenContainer, null, parentComponent, suspense, isSVG, optimized);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // mount the fallback tree\r\n patch(null, suspense.fallbackTree, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, optimized);\r\n n2.el = suspense.fallbackTree.el;\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, optimized, { p: patch }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n const { content, fallback } = normalizeSuspenseChildren(n2);\r\n const oldSubTree = suspense.subTree;\r\n const oldFallbackTree = suspense.fallbackTree;\r\n if (!suspense.isResolved) {\r\n patch(oldSubTree, content, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, optimized);\r\n if (suspense.deps > 0) {\r\n // still pending. patch the fallback tree.\r\n patch(oldFallbackTree, fallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, optimized);\r\n n2.el = fallback.el;\r\n }\r\n // If deps somehow becomes 0 after the patch it means the patch caused an\r\n // async dep component to unmount and removed its dep. It will cause the\r\n // suspense to resolve and we don't need to do anything here.\r\n }\r\n else {\r\n // just normal patch inner content as a fragment\r\n patch(oldSubTree, content, container, anchor, parentComponent, suspense, isSVG, optimized);\r\n n2.el = content.el;\r\n }\r\n suspense.subTree = content;\r\n suspense.fallbackTree = fallback;\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode } } = rendererInternals;\r\n const getCurrentTree = () => suspense.isResolved || suspense.isHydrating\r\n ? suspense.subTree\r\n : suspense.fallbackTree;\r\n const { content, fallback } = normalizeSuspenseChildren(vnode);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n optimized,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n subTree: content,\r\n fallbackTree: fallback,\r\n isHydrating,\r\n isResolved: false,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve() {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (suspense.isResolved) {\r\n throw new Error(`resolveSuspense() is called on an already resolved suspense boundary.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`resolveSuspense() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, subTree, fallbackTree, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else {\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount fallback tree\r\n if (fallbackTree.el) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(fallbackTree);\r\n unmount(fallbackTree, parentComponent, suspense, true);\r\n }\r\n // move content from off-dom container to actual container\r\n move(subTree, container, anchor, 0 /* ENTER */);\r\n }\r\n const el = (vnode.el = subTree.el);\r\n // suspense as the root node of a component...\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (!parent.isResolved) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.isResolved = true;\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n const onResolve = vnode.props && vnode.props.onResolve;\r\n if (isFunction(onResolve)) {\r\n onResolve();\r\n }\r\n },\r\n recede() {\r\n suspense.isResolved = false;\r\n const { vnode, subTree, fallbackTree, parentComponent, container, hiddenContainer, isSVG, optimized } = suspense;\r\n // move content tree back to the off-dom container\r\n const anchor = next(subTree);\r\n move(subTree, hiddenContainer, null, 1 /* LEAVE */);\r\n // remount the fallback tree\r\n patch(null, fallbackTree, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, optimized);\r\n const el = (vnode.el = fallbackTree.el);\r\n // suspense as the root node of a component...\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n // invoke @recede event\r\n const onRecede = vnode.props && vnode.props.onRecede;\r\n if (isFunction(onRecede)) {\r\n onRecede();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n move(getCurrentTree(), container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return next(getCurrentTree());\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n // suspense is already resolved, need to recede.\r\n // use queueJob so it's handled synchronously after patching the current\r\n // suspense tree\r\n if (suspense.isResolved) {\r\n queueJob(() => {\r\n suspense.recede();\r\n });\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n suspense.deps++;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted || suspense.isUnmounted) {\r\n return;\r\n }\r\n suspense.deps--;\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n hydratedEl\r\n ? parentNode(hydratedEl)\r\n : parentNode(instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n unmount(suspense.subTree, parentComponent, parentSuspense, doRemove);\r\n if (!suspense.isResolved) {\r\n unmount(suspense.fallbackTree, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, suspense.subTree, parentComponent, suspense, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n if (shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const { default: d, fallback } = children;\r\n return {\r\n content: normalizeVNode(isFunction(d) ? d() : d),\r\n fallback: normalizeVNode(isFunction(fallback) ? fallback() : fallback)\r\n };\r\n }\r\n else {\r\n return {\r\n content: normalizeVNode(children),\r\n fallback: normalizeVNode(null)\r\n };\r\n }\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && !suspense.isResolved) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\n\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance) {\r\n if (!ctx)\r\n return fn;\r\n return function renderFnWithContext() {\r\n const owner = currentRenderingInstance;\r\n setCurrentRenderingInstance(ctx);\r\n const res = fn.apply(null, arguments);\r\n setCurrentRenderingInstance(owner);\r\n return res;\r\n };\r\n}\n\n// SFC scoped style ID management.\r\nlet currentScopeId = null;\r\nconst scopeIdStack = [];\r\n/**\r\n * @private\r\n */\r\nfunction pushScopeId(id) {\r\n scopeIdStack.push((currentScopeId = id));\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n scopeIdStack.pop();\r\n currentScopeId = scopeIdStack[scopeIdStack.length - 1] || null;\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction withScopeId(id) {\r\n return ((fn) => withCtx(function () {\r\n pushScopeId(id);\r\n const res = fn.apply(this, arguments);\r\n popScopeId();\r\n return res;\r\n }));\r\n}\n\nconst isTeleport = (type) => type.__isTeleport;\r\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === '');\r\nconst resolveTarget = (props, select) => {\r\n const targetSelector = props && props.to;\r\n if (isString(targetSelector)) {\r\n if (!select) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Current renderer does not support string target for Teleports. ` +\r\n `(missing querySelector renderer option)`);\r\n return null;\r\n }\r\n else {\r\n const target = select(targetSelector);\r\n if (!target) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Failed to locate Teleport target with selector \"${targetSelector}\". ` +\r\n `Note the target element must exist before the component is mounted - ` +\r\n `i.e. the target cannot be rendered by the component itself, and ` +\r\n `ideally should be outside of the entire Vue component tree.`);\r\n }\r\n return target;\r\n }\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production') && !targetSelector) {\r\n warn(`Invalid Teleport target: ${targetSelector}`);\r\n }\r\n return targetSelector;\r\n }\r\n};\r\nconst TeleportImpl = {\r\n __isTeleport: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals) {\r\n const { mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, o: { insert, querySelector, createText, createComment } } = internals;\r\n const disabled = isTeleportDisabled(n2.props);\r\n const { shapeFlag, children } = n2;\r\n if (n1 == null) {\r\n // insert anchors in the main view\r\n const placeholder = (n2.el = (process.env.NODE_ENV !== 'production')\r\n ? createComment('teleport start')\r\n : createText(''));\r\n const mainAnchor = (n2.anchor = (process.env.NODE_ENV !== 'production')\r\n ? createComment('teleport end')\r\n : createText(''));\r\n insert(placeholder, container, anchor);\r\n insert(mainAnchor, container, anchor);\r\n const target = (n2.target = resolveTarget(n2.props, querySelector));\r\n const targetAnchor = (n2.targetAnchor = createText(''));\r\n if (target) {\r\n insert(targetAnchor, target);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid Teleport target on mount:', target, `(${typeof target})`);\r\n }\r\n const mount = (container, anchor) => {\r\n // Teleport *always* has Array children. This is enforced in both the\r\n // compiler and vnode children normalization.\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */) {\r\n mountChildren(children, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n };\r\n if (disabled) {\r\n mount(container, mainAnchor);\r\n }\r\n else if (target) {\r\n mount(target, targetAnchor);\r\n }\r\n }\r\n else {\r\n // update content\r\n n2.el = n1.el;\r\n const mainAnchor = (n2.anchor = n1.anchor);\r\n const target = (n2.target = n1.target);\r\n const targetAnchor = (n2.targetAnchor = n1.targetAnchor);\r\n const wasDisabled = isTeleportDisabled(n1.props);\r\n const currentContainer = wasDisabled ? container : target;\r\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\r\n if (n2.dynamicChildren) {\r\n // fast path when the teleport happens to be a block root\r\n patchBlockChildren(n1.dynamicChildren, n2.dynamicChildren, currentContainer, parentComponent, parentSuspense, isSVG);\r\n if (n2.patchFlag > 0 && n2.shapeFlag & 16 /* ARRAY_CHILDREN */) {\r\n const oldChildren = n1.children;\r\n const children = n2.children;\r\n for (let i = 0; i < children.length; i++) {\r\n children[i].el = oldChildren[i].el;\r\n }\r\n }\r\n }\r\n else if (!optimized) {\r\n patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, isSVG);\r\n }\r\n if (disabled) {\r\n if (!wasDisabled) {\r\n // enabled -> disabled\r\n // move into main container\r\n moveTeleport(n2, container, mainAnchor, internals, 1 /* TOGGLE */);\r\n }\r\n }\r\n else {\r\n // target changed\r\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\r\n const nextTarget = (n2.target = resolveTarget(n2.props, querySelector));\r\n if (nextTarget) {\r\n moveTeleport(n2, nextTarget, null, internals, 0 /* TARGET_CHANGE */);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid Teleport target on update:', target, `(${typeof target})`);\r\n }\r\n }\r\n else if (wasDisabled) {\r\n // disabled -> enabled\r\n // move into teleport target\r\n moveTeleport(n2, target, targetAnchor, internals, 1 /* TOGGLE */);\r\n }\r\n }\r\n }\r\n },\r\n remove(vnode, { r: remove, o: { remove: hostRemove } }) {\r\n const { shapeFlag, children, anchor } = vnode;\r\n hostRemove(anchor);\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */) {\r\n for (let i = 0; i < children.length; i++) {\r\n remove(children[i]);\r\n }\r\n }\r\n },\r\n move: moveTeleport,\r\n hydrate: hydrateTeleport\r\n};\r\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* REORDER */) {\r\n // move target anchor if this is a target change.\r\n if (moveType === 0 /* TARGET_CHANGE */) {\r\n insert(vnode.targetAnchor, container, parentAnchor);\r\n }\r\n const { el, anchor, shapeFlag, children, props } = vnode;\r\n const isReorder = moveType === 2 /* REORDER */;\r\n // move main view anchor if this is a re-order.\r\n if (isReorder) {\r\n insert(el, container, parentAnchor);\r\n }\r\n // if this is a re-order and teleport is enabled (content is in target)\r\n // do not move children. So the opposite is: only move children if this\r\n // is not a reorder, or the teleport is disabled\r\n if (!isReorder || isTeleportDisabled(props)) {\r\n // Teleport has either Array children or no children.\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */) {\r\n for (let i = 0; i < children.length; i++) {\r\n move(children[i], container, parentAnchor, 2 /* REORDER */);\r\n }\r\n }\r\n }\r\n // move main view anchor if this is a re-order.\r\n if (isReorder) {\r\n insert(anchor, container, parentAnchor);\r\n }\r\n}\r\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, optimized, { o: { nextSibling, parentNode, querySelector } }, hydrateChildren) {\r\n const target = (vnode.target = resolveTarget(vnode.props, querySelector));\r\n if (target) {\r\n // if multiple teleports rendered to the same target element, we need to\r\n // pick up from where the last teleport finished instead of the first node\r\n const targetNode = target._lpa || target.firstChild;\r\n if (vnode.shapeFlag & 16 /* ARRAY_CHILDREN */) {\r\n if (isTeleportDisabled(vnode.props)) {\r\n vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, optimized);\r\n vnode.targetAnchor = targetNode;\r\n }\r\n else {\r\n vnode.anchor = nextSibling(node);\r\n vnode.targetAnchor = hydrateChildren(targetNode, vnode, target, parentComponent, parentSuspense, optimized);\r\n }\r\n target._lpa =\r\n vnode.targetAnchor && nextSibling(vnode.targetAnchor);\r\n }\r\n }\r\n return vnode.anchor && nextSibling(vnode.anchor);\r\n}\r\n// Force-casted public typing for h and TSX props inference\r\nconst Teleport = TeleportImpl;\n\nconst COMPONENTS = 'components';\r\nconst DIRECTIVES = 'directives';\r\n/**\r\n * @private\r\n */\r\nfunction resolveComponent(name) {\r\n return resolveAsset(COMPONENTS, name) || name;\r\n}\r\nconst NULL_DYNAMIC_COMPONENT = Symbol();\r\n/**\r\n * @private\r\n */\r\nfunction resolveDynamicComponent(component) {\r\n if (isString(component)) {\r\n return resolveAsset(COMPONENTS, component, false) || component;\r\n }\r\n else {\r\n // invalid types will fallthrough to createVNode and raise warning\r\n return (component || NULL_DYNAMIC_COMPONENT);\r\n }\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction resolveDirective(name) {\r\n return resolveAsset(DIRECTIVES, name);\r\n}\r\n// implementation\r\nfunction resolveAsset(type, name, warnMissing = true) {\r\n const instance = currentRenderingInstance || currentInstance;\r\n if (instance) {\r\n const Component = instance.type;\r\n // self name has highest priority\r\n if (type === COMPONENTS) {\r\n const selfName = Component.displayName || Component.name;\r\n if (selfName &&\r\n (selfName === name ||\r\n selfName === camelize(name) ||\r\n selfName === capitalize(camelize(name)))) {\r\n return Component;\r\n }\r\n }\r\n const res = \r\n // local registration\r\n resolve(Component[type], name) ||\r\n // global registration\r\n resolve(instance.appContext[type], name);\r\n if ((process.env.NODE_ENV !== 'production') && warnMissing && !res) {\r\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}`);\r\n }\r\n return res;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`resolve${capitalize(type.slice(0, -1))} ` +\r\n `can only be used in render() or setup().`);\r\n }\r\n}\r\nfunction resolve(registry, name) {\r\n return (registry &&\r\n (registry[name] ||\r\n registry[camelize(name)] ||\r\n registry[capitalize(camelize(name))]));\r\n}\n\nconst Fragment = Symbol((process.env.NODE_ENV !== 'production') ? 'Fragment' : undefined);\r\nconst Text = Symbol((process.env.NODE_ENV !== 'production') ? 'Text' : undefined);\r\nconst Comment = Symbol((process.env.NODE_ENV !== 'production') ? 'Comment' : undefined);\r\nconst Static = Symbol((process.env.NODE_ENV !== 'production') ? 'Static' : undefined);\r\n// Since v-if and v-for are the two possible ways node structure can dynamically\r\n// change, once we consider v-if branches and each v-for fragment a block, we\r\n// can divide a template into nested blocks, and within each block the node\r\n// structure would be stable. This allows us to skip most children diffing\r\n// and only worry about the dynamic nodes (indicated by patch flags).\r\nconst blockStack = [];\r\nlet currentBlock = null;\r\n/**\r\n * Open a block.\r\n * This must be called before `createBlock`. It cannot be part of `createBlock`\r\n * because the children of the block are evaluated before `createBlock` itself\r\n * is called. The generated code typically looks like this:\r\n *\r\n * ```js\r\n * function render() {\r\n * return (openBlock(),createBlock('div', null, [...]))\r\n * }\r\n * ```\r\n * disableTracking is true when creating a v-for fragment block, since a v-for\r\n * fragment always diffs its children.\r\n *\r\n * @private\r\n */\r\nfunction openBlock(disableTracking = false) {\r\n blockStack.push((currentBlock = disableTracking ? null : []));\r\n}\r\n// Whether we should be tracking dynamic child nodes inside a block.\r\n// Only tracks when this value is > 0\r\n// We are not using a simple boolean because this value may need to be\r\n// incremented/decremented by nested usage of v-once (see below)\r\nlet shouldTrack = 1;\r\n/**\r\n * Block tracking sometimes needs to be disabled, for example during the\r\n * creation of a tree that needs to be cached by v-once. The compiler generates\r\n * code like this:\r\n *\r\n * ``` js\r\n * _cache[1] || (\r\n * setBlockTracking(-1),\r\n * _cache[1] = createVNode(...),\r\n * setBlockTracking(1),\r\n * _cache[1]\r\n * )\r\n * ```\r\n *\r\n * @private\r\n */\r\nfunction setBlockTracking(value) {\r\n shouldTrack += value;\r\n}\r\n/**\r\n * Create a block root vnode. Takes the same exact arguments as `createVNode`.\r\n * A block root keeps track of dynamic nodes within the block in the\r\n * `dynamicChildren` array.\r\n *\r\n * @private\r\n */\r\nfunction createBlock(type, props, children, patchFlag, dynamicProps) {\r\n const vnode = createVNode(type, props, children, patchFlag, dynamicProps, true /* isBlock: prevent a block from tracking itself */);\r\n // save current block children on the block vnode\r\n vnode.dynamicChildren = currentBlock || EMPTY_ARR;\r\n // close block\r\n blockStack.pop();\r\n currentBlock = blockStack[blockStack.length - 1] || null;\r\n // a block is always going to be patched, so track it as a child of its\r\n // parent block\r\n if (currentBlock) {\r\n currentBlock.push(vnode);\r\n }\r\n return vnode;\r\n}\r\nfunction isVNode(value) {\r\n return value ? value.__v_isVNode === true : false;\r\n}\r\nfunction isSameVNodeType(n1, n2) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n n2.shapeFlag & 6 /* COMPONENT */ &&\r\n hmrDirtyComponents.has(n2.type)) {\r\n // HMR only: if the component has been hot-updated, force a reload.\r\n return false;\r\n }\r\n return n1.type === n2.type && n1.key === n2.key;\r\n}\r\nlet vnodeArgsTransformer;\r\n/**\r\n * Internal API for registering an arguments transform for createVNode\r\n * used for creating stubs in the test-utils\r\n * It is *internal* but needs to be exposed for test-utils to pick up proper\r\n * typings\r\n */\r\nfunction transformVNodeArgs(transformer) {\r\n vnodeArgsTransformer = transformer;\r\n}\r\nconst createVNodeWithArgsTransform = (...args) => {\r\n return _createVNode(...(vnodeArgsTransformer\r\n ? vnodeArgsTransformer(args, currentRenderingInstance)\r\n : args));\r\n};\r\nconst InternalObjectKey = `__vInternal`;\r\nconst normalizeKey = ({ key }) => key != null ? key : null;\r\nconst normalizeRef = ({ ref }) => {\r\n return (ref != null\r\n ? isArray(ref)\r\n ? ref\r\n : [currentRenderingInstance, ref]\r\n : null);\r\n};\r\nconst createVNode = ((process.env.NODE_ENV !== 'production')\r\n ? createVNodeWithArgsTransform\r\n : _createVNode);\r\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\r\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\r\n if ((process.env.NODE_ENV !== 'production') && !type) {\r\n warn(`Invalid vnode type when creating vnode: ${type}.`);\r\n }\r\n type = Comment;\r\n }\r\n if (isVNode(type)) {\r\n const cloned = cloneVNode(type, props);\r\n if (children) {\r\n normalizeChildren(cloned, children);\r\n }\r\n return cloned;\r\n }\r\n // class component normalization.\r\n if (isFunction(type) && '__vccOpts' in type) {\r\n type = type.__vccOpts;\r\n }\r\n // class & style normalization.\r\n if (props) {\r\n // for reactive or proxy objects, we need to clone it to enable mutation.\r\n if (isProxy(props) || InternalObjectKey in props) {\r\n props = extend({}, props);\r\n }\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (isObject(style)) {\r\n // reactive state objects need to be cloned since they are likely to be\r\n // mutated\r\n if (isProxy(style) && !isArray(style)) {\r\n style = extend({}, style);\r\n }\r\n props.style = normalizeStyle(style);\r\n }\r\n }\r\n // encode the vnode type information into a bitmap\r\n const shapeFlag = isString(type)\r\n ? 1 /* ELEMENT */\r\n : isSuspense(type)\r\n ? 128 /* SUSPENSE */\r\n : isTeleport(type)\r\n ? 64 /* TELEPORT */\r\n : isObject(type)\r\n ? 4 /* STATEFUL_COMPONENT */\r\n : isFunction(type)\r\n ? 2 /* FUNCTIONAL_COMPONENT */\r\n : 0;\r\n if ((process.env.NODE_ENV !== 'production') && shapeFlag & 4 /* STATEFUL_COMPONENT */ && isProxy(type)) {\r\n type = toRaw(type);\r\n warn(`Vue received a Component which was made a reactive object. This can ` +\r\n `lead to unnecessary performance overhead, and should be avoided by ` +\r\n `marking the component with \\`markRaw\\` or using \\`shallowRef\\` ` +\r\n `instead of \\`ref\\`.`, `\\nComponent that was made reactive: `, type);\r\n }\r\n const vnode = {\r\n __v_isVNode: true,\r\n __v_skip: true,\r\n type,\r\n props,\r\n key: props && normalizeKey(props),\r\n ref: props && normalizeRef(props),\r\n scopeId: currentScopeId,\r\n children: null,\r\n component: null,\r\n suspense: null,\r\n dirs: null,\r\n transition: null,\r\n el: null,\r\n anchor: null,\r\n target: null,\r\n targetAnchor: null,\r\n staticCount: 0,\r\n shapeFlag,\r\n patchFlag,\r\n dynamicProps,\r\n dynamicChildren: null,\r\n appContext: null\r\n };\r\n // validate key\r\n if ((process.env.NODE_ENV !== 'production') && vnode.key !== vnode.key) {\r\n warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\r\n }\r\n normalizeChildren(vnode, children);\r\n // presence of a patch flag indicates this node needs patching on updates.\r\n // component nodes also should always be patched, because even if the\r\n // component doesn't need to update, it needs to persist the instance on to\r\n // the next vnode so that it can be properly unmounted later.\r\n if (shouldTrack > 0 &&\r\n !isBlockNode &&\r\n currentBlock &&\r\n // the EVENTS flag is only for hydration and if it is the only flag, the\r\n // vnode should not be considered dynamic due to handler caching.\r\n patchFlag !== 32 /* HYDRATE_EVENTS */ &&\r\n (patchFlag > 0 || shapeFlag & 6 /* COMPONENT */)) {\r\n currentBlock.push(vnode);\r\n }\r\n return vnode;\r\n}\r\nfunction cloneVNode(vnode, extraProps) {\r\n // This is intentionally NOT using spread or extend to avoid the runtime\r\n // key enumeration cost.\r\n const { props, patchFlag } = vnode;\r\n const mergedProps = extraProps\r\n ? props\r\n ? mergeProps(props, extraProps)\r\n : extend({}, extraProps)\r\n : props;\r\n return {\r\n __v_isVNode: true,\r\n __v_skip: true,\r\n type: vnode.type,\r\n props: mergedProps,\r\n key: mergedProps && normalizeKey(mergedProps),\r\n ref: extraProps && extraProps.ref ? normalizeRef(extraProps) : vnode.ref,\r\n scopeId: vnode.scopeId,\r\n children: vnode.children,\r\n target: vnode.target,\r\n targetAnchor: vnode.targetAnchor,\r\n staticCount: vnode.staticCount,\r\n shapeFlag: vnode.shapeFlag,\r\n // if the vnode is cloned with extra props, we can no longer assume its\r\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\r\n // note: perserve flag for fragments since they use the flag for children\r\n // fast paths only.\r\n patchFlag: extraProps && vnode.type !== Fragment\r\n ? patchFlag === -1 // hoisted node\r\n ? 16 /* FULL_PROPS */\r\n : patchFlag | 16 /* FULL_PROPS */\r\n : patchFlag,\r\n dynamicProps: vnode.dynamicProps,\r\n dynamicChildren: vnode.dynamicChildren,\r\n appContext: vnode.appContext,\r\n dirs: vnode.dirs,\r\n transition: vnode.transition,\r\n // These should technically only be non-null on mounted VNodes. However,\r\n // they *should* be copied for kept-alive vnodes. So we just always copy\r\n // them since them being non-null during a mount doesn't affect the logic as\r\n // they will simply be overwritten.\r\n component: vnode.component,\r\n suspense: vnode.suspense,\r\n el: vnode.el,\r\n anchor: vnode.anchor\r\n };\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction createTextVNode(text = ' ', flag = 0) {\r\n return createVNode(Text, null, text, flag);\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction createStaticVNode(content, numberOfNodes) {\r\n // A static vnode can contain multiple stringified elements, and the number\r\n // of elements is necessary for hydration.\r\n const vnode = createVNode(Static, null, content);\r\n vnode.staticCount = numberOfNodes;\r\n return vnode;\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction createCommentVNode(text = '', \r\n// when used as the v-else branch, the comment node must be created as a\r\n// block to ensure correct updates.\r\nasBlock = false) {\r\n return asBlock\r\n ? (openBlock(), createBlock(Comment, null, text))\r\n : createVNode(Comment, null, text);\r\n}\r\nfunction normalizeVNode(child) {\r\n if (child == null || typeof child === 'boolean') {\r\n // empty placeholder\r\n return createVNode(Comment);\r\n }\r\n else if (isArray(child)) {\r\n // fragment\r\n return createVNode(Fragment, null, child);\r\n }\r\n else if (typeof child === 'object') {\r\n // already vnode, this should be the most common since compiled templates\r\n // always produce all-vnode children arrays\r\n return child.el === null ? child : cloneVNode(child);\r\n }\r\n else {\r\n // strings and numbers\r\n return createVNode(Text, null, String(child));\r\n }\r\n}\r\n// optimized normalization for template-compiled render fns\r\nfunction cloneIfMounted(child) {\r\n return child.el === null ? child : cloneVNode(child);\r\n}\r\nfunction normalizeChildren(vnode, children) {\r\n let type = 0;\r\n const { shapeFlag } = vnode;\r\n if (children == null) {\r\n children = null;\r\n }\r\n else if (isArray(children)) {\r\n type = 16 /* ARRAY_CHILDREN */;\r\n }\r\n else if (typeof children === 'object') {\r\n // Normalize slot to plain children\r\n if ((shapeFlag & 1 /* ELEMENT */ || shapeFlag & 64 /* TELEPORT */) &&\r\n children.default) {\r\n normalizeChildren(vnode, children.default());\r\n return;\r\n }\r\n else {\r\n type = 32 /* SLOTS_CHILDREN */;\r\n const slotFlag = children._;\r\n if (!slotFlag && !(InternalObjectKey in children)) {\r\n children._ctx = currentRenderingInstance;\r\n }\r\n else if (slotFlag === 3 /* FORWARDED */ && currentRenderingInstance) {\r\n // a child component receives forwarded slots from the parent.\r\n // its slot type is determined by its parent's slot type.\r\n if (currentRenderingInstance.vnode.patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n children._ = 2 /* DYNAMIC */;\r\n vnode.patchFlag |= 1024 /* DYNAMIC_SLOTS */;\r\n }\r\n else {\r\n children._ = 1 /* STABLE */;\r\n }\r\n }\r\n }\r\n }\r\n else if (isFunction(children)) {\r\n children = { default: children, _ctx: currentRenderingInstance };\r\n type = 32 /* SLOTS_CHILDREN */;\r\n }\r\n else {\r\n children = String(children);\r\n // force teleport children to array so it can be moved around\r\n if (shapeFlag & 64 /* TELEPORT */) {\r\n type = 16 /* ARRAY_CHILDREN */;\r\n children = [createTextVNode(children)];\r\n }\r\n else {\r\n type = 8 /* TEXT_CHILDREN */;\r\n }\r\n }\r\n vnode.children = children;\r\n vnode.shapeFlag |= type;\r\n}\r\nfunction mergeProps(...args) {\r\n const ret = extend({}, args[0]);\r\n for (let i = 1; i < args.length; i++) {\r\n const toMerge = args[i];\r\n for (const key in toMerge) {\r\n if (key === 'class') {\r\n if (ret.class !== toMerge.class) {\r\n ret.class = normalizeClass([ret.class, toMerge.class]);\r\n }\r\n }\r\n else if (key === 'style') {\r\n ret.style = normalizeStyle([ret.style, toMerge.style]);\r\n }\r\n else if (isOn(key)) {\r\n const existing = ret[key];\r\n const incoming = toMerge[key];\r\n if (existing !== incoming) {\r\n ret[key] = existing\r\n ? [].concat(existing, toMerge[key])\r\n : incoming;\r\n }\r\n }\r\n else {\r\n ret[key] = toMerge[key];\r\n }\r\n }\r\n }\r\n return ret;\r\n}\n\nfunction emit(instance, event, ...args) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const options = normalizeEmitsOptions(instance.type);\r\n if (options) {\r\n if (!(event in options)) {\r\n const propsOptions = normalizePropsOptions(instance.type)[0];\r\n if (!propsOptions || !(`on` + capitalize(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"on${capitalize(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = options[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...args);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let handlerName = `on${capitalize(event)}`;\r\n let handler = props[handlerName];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && event.startsWith('update:')) {\r\n handlerName = `on${capitalize(hyphenate(event))}`;\r\n handler = props[handlerName];\r\n }\r\n if (!handler) {\r\n handler = props[handlerName + `Once`];\r\n if (!instance.emitted) {\r\n (instance.emitted = {})[handlerName] = true;\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp) {\r\n if (hasOwn(comp, '__emits')) {\r\n return comp.__emits;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n if (comp.extends) {\r\n hasExtends = true;\r\n extend(normalized, normalizeEmitsOptions(comp.extends));\r\n }\r\n if (comp.mixins) {\r\n hasExtends = true;\r\n comp.mixins.forEach(m => extend(normalized, normalizeEmitsOptions(m)));\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__emits = undefined);\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n return (comp.__emits = normalized);\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(comp, key) {\r\n let emits;\r\n if (!isOn(key) || !(emits = normalizeEmitsOptions(comp))) {\r\n return false;\r\n }\r\n key = key.replace(/Once$/, '');\r\n return (hasOwn(emits, key[2].toLowerCase() + key.slice(3)) ||\r\n hasOwn(emits, key.slice(2)));\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(props, instance.type);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = normalizePropsOptions(instance.type);\r\n if ((optimized || patchFlag > 0) && !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n const key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n attrs[key] = value;\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value);\r\n }\r\n }\r\n else {\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n setFullProps(instance, rawProps, props, attrs);\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, undefined);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key)) {\r\n delete attrs[key];\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n if ((process.env.NODE_ENV !== 'production') && rawProps) {\r\n validateProps(props, instance.type);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = normalizePropsOptions(instance.type);\r\n if (rawProps) {\r\n for (const key in rawProps) {\r\n const value = rawProps[key];\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n props[camelKey] = value;\r\n }\r\n else if (!isEmitListener(instance.type, key)) {\r\n // Any non-declared (either as a prop or an emitted event) props are put\r\n // into a separate `attrs` object for spreading. Make sure to preserve\r\n // original key casing\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, rawCurrentProps[key]);\r\n }\r\n }\r\n}\r\nfunction resolvePropValue(options, props, key, value) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n value =\r\n opt.type !== Function && isFunction(defaultValue)\r\n ? defaultValue()\r\n : defaultValue;\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (!hasOwn(props, key) && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp) {\r\n if (comp.__props) {\r\n return comp.__props;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n const [props, keys] = normalizePropsOptions(raw);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (comp.extends) {\r\n hasExtends = true;\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n hasExtends = true;\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__props = EMPTY_ARR);\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const normalizedEntry = [normalized, needCastKeys];\r\n comp.__props = normalizedEntry;\r\n return normalizedEntry;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n for (let i = 0, len = expectedTypes.length; i < len; i++) {\r\n if (isSameType(expectedTypes[i], type)) {\r\n return i;\r\n }\r\n }\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(props, comp) {\r\n const rawValues = toRaw(props);\r\n const options = normalizePropsOptions(comp)[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, rawValues[key], opt, !hasOwn(rawValues, key));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = toRawType(value) === 'Object';\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n setCurrentInstance(null);\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = `on${capitalize(ErrorTypeStrings[type].replace(/ hook$/, ''))}`;\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n ( ` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR\r\n!isInSSRComponentSetup && injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nconst onErrorCaptured = (hook, target = currentInstance) => {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n};\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: Function,\r\n onEnter: Function,\r\n onAfterEnter: Function,\r\n onEnterCancelled: Function,\r\n // leave\r\n onBeforeLeave: Function,\r\n onLeave: Function,\r\n onAfterLeave: Function,\r\n onLeaveCancelled: Function,\r\n // appear\r\n onBeforeAppear: Function,\r\n onAppear: Function,\r\n onAfterAppear: Function,\r\n onAppearCancelled: Function\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') && mode && !['in-out', 'out-in', 'default'].includes(mode)) {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = (innerChild.transition = resolveTransitionHooks(innerChild, rawProps, state, instance));\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out') {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, { appear, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled }, state, instance) {\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-top\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n inheritRef: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n const instance = getCurrentInstance();\r\n const parentSuspense = instance.suspense;\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => matches(exclude, name));\r\n });\r\n // cache sub tree in beforeMount/Update (i.e. right after the render)\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, instance.subTree);\r\n }\r\n };\r\n onBeforeMount(cacheSubtree);\r\n onBeforeUpdate(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n if (cached.type === subTree.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(subTree);\r\n // but invoke its deactivated hook here\r\n const da = subTree.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n let vnode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(vnode) ||\r\n !(vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */)) {\r\n current = null;\r\n return vnode;\r\n }\r\n const comp = vnode.type;\r\n const name = getName(comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n return (current = vnode);\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return vnode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction getName(comp) {\r\n return comp.displayName || comp.name;\r\n}\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').indexOf(name) > -1;\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], hook);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => withCtx((props) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(props));\r\n}, ctx);\r\nconst normalizeObjectSlots = (rawSlots, slots) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') && !isKeepAlive(instance.vnode)) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n instance.slots = children;\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n const hook = binding.dir[name];\r\n if (hook) {\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n }\r\n }\r\n}\n\nlet devtools;\r\nfunction setDevtoolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n // TODO queue if devtools is undefined\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = /*#__PURE__*/ createDevtoolsHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsHook(hook) {\r\n return (component) => {\r\n if (!devtools)\r\n return;\r\n devtools.emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined);\r\n };\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n isCustomElement: NO,\r\n errorHandler: undefined,\r\n warnHandler: undefined\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null)\r\n };\r\n}\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsInitApp(app, version);\r\n }\r\n return vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n devtoolsUnmountApp(app);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if ((process.env.NODE_ENV !== 'production') && !container.hasChildNodes()) {\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type !== node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n const container = parentNode(node);\r\n const hydrateComponent = () => {\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n };\r\n // async component\r\n const loadAsync = vnode.type.__asyncLoader;\r\n if (loadAsync) {\r\n loadAsync().then(hydrateComponent);\r\n }\r\n else {\r\n hydrateComponent();\r\n }\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if ( shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null && parentComponent) {\r\n setRef(ref, null, parentComponent, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { props, patchFlag, shapeFlag, dirs } = vnode;\r\n // skip props & children if this is hoisted static nodes\r\n if (patchFlag !== -1 /* HOISTED */) {\r\n // props\r\n if (props) {\r\n if (!optimized ||\r\n (patchFlag & 16 /* FULL_PROPS */ ||\r\n patchFlag & 32 /* HYDRATE_EVENTS */)) {\r\n for (const key in props) {\r\n if (!isReservedProp(key) && isOn(key)) {\r\n patchProp(el, key, null, props[key]);\r\n }\r\n }\r\n }\r\n else if (props.onClick) {\r\n // Fast path for click listeners (which is most often) to avoid\r\n // iterating through props.\r\n patchProp(el, 'onClick', null, props.onClick);\r\n }\r\n }\r\n // vnode / directive hooks\r\n let vnodeHooks;\r\n if ((vnodeHooks = props && props.onVnodeBeforeMount)) {\r\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n }\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\r\n }\r\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {\r\n queueEffectWithSuspense(() => {\r\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\r\n }, parentSuspense);\r\n }\r\n // children\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&\r\n // skip if element has innerHTML / textContent\r\n !(props && (props.innerHTML || props.textContent))) {\r\n let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, optimized);\r\n let hasWarned = false;\r\n while (next) {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${vnode.type}>: ` +\r\n `server rendered element contains more child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // The SSRed DOM contains more nodes than it should. Remove them.\r\n const cur = next;\r\n next = next.nextSibling;\r\n remove(cur);\r\n }\r\n }\r\n else if (shapeFlag & 8 /* TEXT_CHILDREN */) {\r\n if (el.textContent !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text content mismatch in <${vnode.type}>:\\n` +\r\n `- Client: ${el.textContent}\\n` +\r\n `- Server: ${vnode.children}`);\r\n el.textContent = vnode.children;\r\n }\r\n }\r\n }\r\n return el.nextSibling;\r\n };\r\n const hydrateChildren = (node, vnode, container, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const children = vnode.children;\r\n const l = children.length;\r\n let hasWarned = false;\r\n for (let i = 0; i < l; i++) {\r\n const vnode = optimized\r\n ? children[i]\r\n : (children[i] = normalizeVNode(children[i]));\r\n if (node) {\r\n node = hydrateNode(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n else {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +\r\n `server rendered element contains fewer child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // the SSRed DOM didn't contain enough nodes. Mount the missing ones.\r\n patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container));\r\n }\r\n }\r\n return node;\r\n };\r\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, optimized) => {\r\n const container = parentNode(node);\r\n const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, optimized);\r\n if (next && isComment(next) && next.data === ']') {\r\n return nextSibling((vnode.anchor = next));\r\n }\r\n else {\r\n // fragment didn't hydrate successfully, since we didn't get a end anchor\r\n // back. This should have led to node/children mismatch warnings.\r\n hasMismatch = true;\r\n // since the anchor is missing, we need to create one and insert it\r\n insert((vnode.anchor = createComment(`]`)), container, next);\r\n return next;\r\n }\r\n };\r\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, isFragment) => {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration node mismatch:\\n- Client vnode:`, vnode.type, `\\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */\r\n ? `(text)`\r\n : isComment(node) && node.data === '['\r\n ? `(start of fragment)`\r\n : ``);\r\n vnode.el = null;\r\n if (isFragment) {\r\n // remove excessive fragment nodes\r\n const end = locateClosingAsyncAnchor(node);\r\n while (true) {\r\n const next = nextSibling(node);\r\n if (next && next !== end) {\r\n remove(next);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n const next = nextSibling(node);\r\n const container = parentNode(node);\r\n remove(node);\r\n patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container));\r\n return next;\r\n };\r\n const locateClosingAsyncAnchor = (node) => {\r\n let match = 0;\r\n while (node) {\r\n node = nextSibling(node);\r\n if (node && isComment(node)) {\r\n if (node.data === '[')\r\n match++;\r\n if (node.data === ']') {\r\n if (match === 0) {\r\n return nextSibling(node);\r\n }\r\n else {\r\n match--;\r\n }\r\n }\r\n }\r\n }\r\n return node;\r\n };\r\n return [hydrate, hydrateNode];\r\n}\n\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== undefined) {\r\n return supported;\r\n }\r\n /* eslint-disable no-restricted-globals */\r\n if (typeof window !== 'undefined' && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n }\r\n else {\r\n supported = false;\r\n }\r\n /* eslint-enable no-restricted-globals */\r\n return supported;\r\n}\n\n/**\r\n * This is only called in esm-bundler builds.\r\n * It is called when a renderer is created, in `baseCreateRenderer` so that\r\n * importing runtime-core is side-effects free.\r\n *\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_OPTIONS_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_OPTIONS_API__ = true;\r\n }\r\n if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of Vue. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle. ` +\r\n `See http://link.vuejs.org/feature-flags for more details.`);\r\n }\r\n}\n\nconst prodEffectOptions = {\r\n scheduler: queueJob\r\n};\r\nfunction createDevEffectOptions(instance) {\r\n return {\r\n scheduler: queueJob,\r\n onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc, e) : void 0,\r\n onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg, e) : void 0\r\n };\r\n}\r\nconst queuePostRenderEffect = queueEffectWithSuspense\r\n ;\r\nconst setRef = (rawRef, oldRawRef, parentComponent, parentSuspense, vnode) => {\r\n let value;\r\n if (!vnode) {\r\n value = null;\r\n }\r\n else {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n value = vnode.component.proxy;\r\n }\r\n else {\r\n value = vnode.el;\r\n }\r\n }\r\n const [owner, ref] = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef[1];\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n queuePostRenderEffect(() => {\r\n setupState[oldRef] = null;\r\n }, parentSuspense);\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isString(ref)) {\r\n refs[ref] = value;\r\n if (hasOwn(setupState, ref)) {\r\n queuePostRenderEffect(() => {\r\n setupState[ref] = value;\r\n }, parentSuspense);\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n ref.value = value;\r\n }\r\n else if (isFunction(ref)) {\r\n callWithErrorHandling(ref, parentComponent, 12 /* FUNCTION_REF */, [\r\n value,\r\n refs\r\n ]);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', value, `(${typeof value})`);\r\n }\r\n};\r\n/**\r\n * The createRenderer function accepts two generic arguments:\r\n * HostNode and HostElement, corresponding to Node and Element types in the\r\n * host environment. For example, for runtime-dom, HostNode would be the DOM\r\n * `Node` interface and HostElement would be the DOM `Element` interface.\r\n *\r\n * Custom renderers can pass in the platform specific types like this:\r\n *\r\n * ``` js\r\n * const { render, createApp } = createRenderer({\r\n * patchProp,\r\n * ...nodeOps\r\n * })\r\n * ```\r\n */\r\nfunction createRenderer(options) {\r\n return baseCreateRenderer(options);\r\n}\r\n// Separate API for creating hydration-enabled renderer.\r\n// Hydration logic is only used when calling this function, making it\r\n// tree-shakable.\r\nfunction createHydrationRenderer(options) {\r\n return baseCreateRenderer(options, createHydrationFunctions);\r\n}\r\n// implementation\r\nfunction baseCreateRenderer(options, createHydrationFns) {\r\n // compile-time feature flags check\r\n {\r\n initFeatureFlags();\r\n }\r\n const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;\r\n // Note: functions inside this closure should use `const xxx = () => {}`\r\n // style in order to prevent being inlined by minifiers.\r\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, optimized = false) => {\r\n // patching & not same type, unmount old tree\r\n if (n1 && !isSameVNodeType(n1, n2)) {\r\n anchor = getNextHostNode(n1);\r\n unmount(n1, parentComponent, parentSuspense, true);\r\n n1 = null;\r\n }\r\n if (n2.patchFlag === -2 /* BAIL */) {\r\n optimized = false;\r\n n2.dynamicChildren = null;\r\n }\r\n const { type, ref, shapeFlag } = n2;\r\n switch (type) {\r\n case Text:\r\n processText(n1, n2, container, anchor);\r\n break;\r\n case Comment:\r\n processCommentNode(n1, n2, container, anchor);\r\n break;\r\n case Static:\r\n if (n1 == null) {\r\n mountStaticNode(n2, container, anchor, isSVG);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n patchStaticNode(n1, n2, container, isSVG);\r\n }\r\n break;\r\n case Fragment:\r\n processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if ( shapeFlag & 128 /* SUSPENSE */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid VNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n // set ref\r\n if (ref != null && parentComponent) {\r\n setRef(ref, n1 && n1.ref, parentComponent, parentSuspense, n2);\r\n }\r\n };\r\n const processText = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);\r\n }\r\n else {\r\n const el = (n2.el = n1.el);\r\n if (n2.children !== n1.children) {\r\n hostSetText(el, n2.children);\r\n }\r\n }\r\n };\r\n const processCommentNode = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);\r\n }\r\n else {\r\n // there's no support for dynamic comments\r\n n2.el = n1.el;\r\n }\r\n };\r\n const mountStaticNode = (n2, container, anchor, isSVG) => {\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const patchStaticNode = (n1, n2, container, isSVG) => {\r\n // static nodes are only patched during dev for HMR\r\n if (n2.children !== n1.children) {\r\n const anchor = hostNextSibling(n1.anchor);\r\n // remove existing\r\n removeStaticNode(n1);\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n }\r\n else {\r\n n2.el = n1.el;\r\n n2.anchor = n1.anchor;\r\n }\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const moveStaticNode = (vnode, container, anchor) => {\r\n let cur = vnode.el;\r\n const end = vnode.anchor;\r\n while (cur && cur !== end) {\r\n const next = hostNextSibling(cur);\r\n hostInsert(cur, container, anchor);\r\n cur = next;\r\n }\r\n hostInsert(end, container, anchor);\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const removeStaticNode = (vnode) => {\r\n let cur = vnode.el;\r\n while (cur && cur !== vnode.anchor) {\r\n const next = hostNextSibling(cur);\r\n hostRemove(cur);\r\n cur = next;\r\n }\r\n hostRemove(vnode.anchor);\r\n };\r\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n isSVG = isSVG || n2.type === 'svg';\r\n if (n1 == null) {\r\n mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else {\r\n patchElement(n1, n2, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n };\r\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n let el;\r\n let vnodeHook;\r\n const { type, props, shapeFlag, transition, scopeId, patchFlag, dirs } = vnode;\r\n if (!(process.env.NODE_ENV !== 'production') &&\r\n vnode.el &&\r\n hostCloneNode !== undefined &&\r\n patchFlag === -1 /* HOISTED */) {\r\n // If a vnode has non-null el, it means it's being reused.\r\n // Only static vnodes can be reused, so its mounted DOM nodes should be\r\n // exactly the same, and we can simply do a clone here.\r\n // only do this in production since cloned trees cannot be HMR updated.\r\n el = vnode.el = hostCloneNode(vnode.el);\r\n }\r\n else {\r\n el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is);\r\n // mount children first, since some props may rely on child content\r\n // being already rendered, e.g. `