Калькулятор урожайности томатов
Спланируйте будущий урожай: рассчитайте количество кустов, общий сбор с грядки или теплицы и запас на хранение с учётом схемы посадки и сорта.
Как пользоваться калькулятором
1
Укажите площадь участка под томаты (например, 15 м²) или сразу количество кустов (например, 50 шт). Если заполните оба поля — приоритет будет у количества кустов.
2
Задайте схему посадки: расстояние между рядами (обычно 60–80 см) и между растениями в ряду (35–50 см). Значения по умолчанию — 70×40 см.
3
Введите ожидаемую урожайность с одного куста. Для открытого грунта ориентир — 2–5 кг, для теплицы — 4–12 кг в зависимости от сорта и ухода.
4
Нажмите «Рассчитать». Вы получите общее количество растений, общий урожай в килограммах, урожайность с 1 м², запас 10% и примерное количество 10-литровых вёдер.
Примеры расчёта
Грядка 10 м² в открытом грунте
Площадь — 10 м², схема 70×40 см, урожайность 3,5 кг с куста. Результат: ≈ 35 кустов, общий урожай 122 кг, запас 10% — 12,2 кг, примерно 13 вёдер томатов.
Теплица 18 м² с индетерминантными сортами
Площадь — 18 м², схема 60×45 см, урожайность 7 кг с куста. Результат: ≈ 66 кустов, общий урожай 462 кг, запас 10% — 46,2 кг, примерно 51 ведро.
Известно точное количество кустов — 80 штук
Количество кустов — 80 шт, схема 70×40 см, урожайность 5 кг с куста. Результат: общий урожай 400 кг, расчётная площадь ≈ 22,4 м², запас 10% — 40 кг, примерно 44 ведра.
Формулы расчёта
Все расчёты выполняются по следующим формулам:
Площадь на 1 куст (м²) = (Расстояние между рядами в см / 100) × (Расстояние между растениями в см / 100)
Количество кустов = Площадь участка (м²) / Площадь на 1 куст (м²)
Общий урожай (кг) = Количество кустов × Урожайность с 1 куста (кг)
Урожайность с 1 м² (кг) = Общий урожай (кг) / Площадь участка (м²)
Запас 10% (кг) = Общий урожай (кг) × 0,10
Количество вёдер (10 л) = Общий урожай (кг) / 10 — примерное значение, так как плотность томатов ≈ 1 кг/л.
Если задано точное количество кустов, площадь рассчитывается обратным ходом: Площадь = Количество кустов × Площадь на 1 куст.
Пошаговое объяснение
Калькулятор сначала определяет, сколько квадратных метров занимает одно растение, исходя из схемы посадки. Например, при схеме 70×40 см один куст занимает 0,7 м × 0,4 м = 0,28 м².
Затем общая площадь участка делится на площадь под один куст — получается количество растений. Если вы указали точное число кустов, этот шаг пропускается, а площадь вычисляется умножением количества кустов на площадь одного растения.
Далее количество кустов умножается на ожидаемую урожайность с одного растения. Эта цифра зависит от сорта, ухода, погоды и типа выращивания. Для надёжности автоматически добавляется запас 10% — он пригодится на случай потерь при хранении или переработке.
Вёдра (10 л) дают наглядное представление об объёме урожая: в одно стандартное 10-литровое ведро помещается примерно 9–11 кг томатов в зависимости от размера плодов и плотности укладки.
Где применяется
- Планирование грядок и теплиц — заранее понять, сколько кустов поместится на участке и какой урожай можно ожидать.
- Расчёт заготовок на зиму — оценка количества банок, томатной пасты, сока и других заготовок исходя из общего веса урожая.
- Оценка затрат на удобрения и подкормки — зная количество растений, проще рассчитать общий объём необходимых препаратов и подкормок.
- Сравнение сортов и схем посадки — можно быстро проверить, насколько изменится урожай при уменьшении междурядий или выборе более урожайного сорта.
- Планирование продаж и доставки — фермеры и продавцы могут прикинуть ожидаемый объём товарной продукции с конкретного участка.
- Обустройство капельного полива — количество кустов определяет длину ленты и число капельниц, необходимых для равномерного орошения.
Важные нюансы
- Урожайность с куста — ориентировочная. Реальная цифра зависит от сорта, погоды, состава почвы, режима полива и подкормок. Всегда закладывайте небольшой запас.
- Сорта имеют разный потенциал. Детерминантные (низкорослые) томаты в открытом грунте дают в среднем 2–4 кг с куста. Индетерминантные (высокорослые) в теплице могут давать 8–12 кг и более при интенсивной агротехнике.
- Схема посадки влияет на здоровье растений. Слишком густая посадка увеличивает количество кустов, но провоцирует болезни и снижает урожайность каждого растения. Оптимальный баланс — ключ к успеху.
- Расчёт площади — без учёта дорожек. Если между грядками есть проходы шириной 50–70 см, их площадь не должна входить в «площадь участка» в калькуляторе. Учитывайте только посадочную зону.
- 10-литровое ведро — условная мера. Фактический вес томатов в ведре зависит от размера плодов и степени зрелости. Крупные помидоры укладываются менее плотно.
- Запас 10% — минимальная рекомендация. При неблагоприятной погоде, болезнях или частичной потере урожая при транспортировке потери могут быть выше.
Частые ошибки
- Слишком густая посадка. В погоне за количеством кустов огородники сокращают расстояния до 25–30 см в ряду. Это ведёт к загущению, плохому проветриванию и вспышкам фитофторы. Итог — урожай ниже, чем при разреженной посадке.
- Завышенная ожидаемая урожайность. Не все кусты дают по 10 кг, даже в теплице. Без опыта и правильных подкормок ориентируйтесь на нижнюю границу диапазона для своего сорта. Лучше приятно удивиться, чем разочароваться.
- Не учитывается тип сорта. Индетерминантные томаты требуют больше места и формировки. Если посадить их по схеме для детерминантных — теплица превратится в джунгли, а плоды измельчают.
- Площадь участка включает дорожки. Если грядка шириной 1 м и длиной 5 м — это 5 м² посадочной площади, а не 7–8 м² вместе с проходами. Учитывайте только землю под растениями.
- Расчёт без запаса. Даже опытные огородники теряют 5–15% урожая из-за трещин, гнили, вредителей. Планируйте с запасом — лишние помидоры всегда можно раздать или пустить на заготовки.
- Игнорирование севооборота. Томаты нельзя сажать на одном месте несколько лет подряд. Это снижает урожайность на 20–30% и накапливает болезни в почве. Калькулятор показывает потенциал при нормальных условиях, а не на истощённой земле.
Ответы на частые вопросы
Какая урожайность с куста считается хорошей?
Для открытого грунта хорошим ориентиром считается 3–5 кг с куста. В теплице — 5–10 кг. Рекордные значения 12–15 кг достижимы только при интенсивной агротехнике, капельном поливе и сбалансированных подкормках.
Можно ли сажать томаты гуще ради большего урожая?
Нет. При загущении каждое растение получает меньше света и питания, падает проветриваемость. В итоге общий урожай с квадратного метра не растёт, а часто снижается, плюс резко возрастает риск болезней.
Почему в теплице урожайность выше?
В теплице стабильнее температура, выше влажность воздуха, нет холодных рос и ветра. Период плодоношения удлиняется на 3–6 недель, что позволяет снять больше кистей с каждого куста.
Сколько кустов томатов нужно на семью из 4 человек?
Для свежего потребления и заготовок на зиму семье из четырёх человек обычно хватает 40–60 кустов (15–25 м²). Это даст примерно 150–300 кг томатов за сезон при среднем уходе.
Влияет ли сорт на схему посадки?
Да, напрямую. Детерминантные сорта компактны, их можно сажать плотнее — до 35 см в ряду. Индетерминантные требуют не менее 45–50 см в ряду и обязательной подвязки, иначе кусты заваливаются и ломаются.
Сколько весит ведро помидоров?
Стандартное 10-литровое ведро вмещает 9–11 кг томатов среднего размера. Крупные биф-томаты весят меньше в том же объёме (8–9 кг), мелкие черри — больше (до 12 кг) за счёт плотной укладки.
Источники и справочные данные
Расчёт основан на агрономических справочных нормах, рекомендациях по выращиванию овощных культур и практических данных опытных огородников. Нормы урожайности для открытого и закрытого грунта взяты из усреднённых показателей для средней полосы России. Окончательные цифры зависят от конкретного сорта, климатической зоны, состава почвы и уровня агротехники. Рекомендуем сверять ожидаемую урожайность с описанием сорта от производителя семян и данными по вашему региону.
Всё о планировании урожая томатов: от схемы посадки до сбора
Томаты — одна из самых популярных культур на российских огородах и в теплицах. При правильном подходе даже небольшая грядка может обеспечить семью свежими помидорами на всё лето и сырьём для заготовок на зиму. Но чтобы не остаться с пустыми банками в сентябре, важно заранее спланировать посадки и трезво оценить ожидаемый урожай.
Почему важно рассчитывать урожайность заранее
Многие дачники сажают «на глаз»: купили 60 корней рассады — все 60 и воткнули в землю. К середине июля грядка превращается в непролазные заросли, плоды мельчают, а фитофтора выкашивает треть урожая. Предварительный расчёт помогает избежать этой ситуации.
Зная площадь и схему посадки, вы точно определите, сколько кустов влезет без загущения. Умножив на реалистичную урожайность с куста, получите прогноз в килограммах. От этого уже можно плясать: сколько банок закатать, сколько съесть свежими, сколько раздать соседям.
Кроме того, расчёт помогает спланировать бюджет на удобрения, подкормки и средства защиты. Вы будете знать, сколько упаковок того или иного препарата понадобится на сезон, и не купите лишнего или, наоборот, не останетесь без нужного средства в разгар плодоношения.
От чего зависит урожайность томатов
Урожайность с куста — величина непостоянная. Она колеблется в широких пределах даже для одного и того же сорта. Вот главные факторы, которые на неё влияют:
Сорт и гибрид
Детерминантные — 2–4 кг, индетерминантные — 5–12 кг. Гибриды F1 часто урожайнее сортовых томатов на 20–30%.
Тип выращивания
В открытом грунте плодоношение короче на 3–5 недель. Теплица продлевает сбор до заморозков.
Почва и питание
На бедных почвах без подкормок урожайность падает в 1,5–2 раза. Органика и сбалансированные минеральные удобрения — основа высоких сборов.
Полив и мульчирование
Неравномерный полив ведёт к растрескиванию плодов и вершинной гнили. Капельный полив с мульчёй повышает урожайность на 20–40%.
Формировка куста
Индетерминантные томаты без пасынкования дают много зелени и мало плодов. Правильная формировка в 1–2 стебля направляет силы в урожай.
Погода и регион
В холодное дождливое лето урожайность в открытом грунте может упасть на 30–50%. В южных регионах показатели стабильнее.
Как выбрать схему посадки
Схема посадки — это компромисс между количеством кустов на квадратный метр и условиями для каждого растения. Стандартные рекомендации:
- Низкорослые детерминантные сорта — междурядья 50–60 см, в ряду 30–40 см. На 1 м² помещается 4–6 кустов.
- Среднерослые и полудетерминантные — междурядья 60–70 см, в ряду 40–45 см. На 1 м² — 3–4 куста.
- Высокорослые индетерминантные — междурядья 70–90 см, в ряду 45–60 см. На 1 м² — 2–3 куста.
В теплице часто применяют двухстрочную посадку: две строки с расстоянием 40–50 см, затем проход 80–90 см. Это позволяет удобно ухаживать за растениями и обеспечивает хорошее проветривание.
Реалистичные нормы урожайности для разных условий
Ниже приведены практические диапазоны, проверенные множеством огородников. Ориентируйтесь на них при вводе данных в калькулятор:
| Условия |
Тип сорта |
Урожайность с куста |
С 1 м² при схеме 70×40 см |
| Открытый грунт, минимальный уход | Детерминантный | 1,5–2,5 кг | 5–9 кг |
| Открытый грунт, хороший уход | Детерминантный | 3–5 кг | 10–18 кг |
| Теплица, базовый уход | Индетерминантный | 4–7 кг | 14–25 кг |
| Теплица, интенсивная агротехника | Индетерминантный | 8–12 кг | 28–43 кг |
| Теплица с досветкой и CO₂ | Индетерминантный гибрид | 12–18 кг | 43–64 кг |
* Значения ориентировочные для средней полосы России. Южные регионы дают прибавку 15–25% в открытом грунте, северные — требуют поправки на более короткий сезон.
Как увеличить урожайность томатов: практические советы
Даже на небольшом участке можно собрать впечатляющий урожай, если следовать нескольким проверенным принципам:
- Не экономьте на расстоянии между кустами. Лучше посадить 30 кустов по правильной схеме, чем 50 в тесноте. Суммарный урожай с 30 кустов при хорошем уходе будет выше, чем с 50 загущенных и больных.
- Мульчируйте почву. Слой соломы, скошенной травы или чёрного спанбонда сохраняет влагу, подавляет сорняки и выравнивает температуру почвы. Это даёт прибавку урожая до 30%.
- Формируйте кусты правильно. На детерминантных сортах оставляйте 3–4 стебля, на индетерминантных — 1–2. Регулярно удаляйте пасынки до того, как они вырастут больше 5 см.
- Подкармливайте по фазам роста. В начале сезона — азот для зелёной массы, с началом цветения — фосфор и калий, в период плодоношения — калийные подкормки каждые 10–14 дней.
- Соблюдайте севооборот. Не сажайте томаты после картофеля, перцев и баклажанов. Лучшие предшественники — огурцы, капуста, бобовые, сидераты. Возвращайте томаты на прежнее место не раньше чем через 3 года.
Планирование заготовок и хранения
Когда общий урожай посчитан, встаёт практический вопрос: сколько и каких заготовок делать. Вот примерные ориентиры:
- Томатный сок: из 10 кг помидоров выходит 7–8 литров сока.
- Томатная паста: 10 кг помидоров дают примерно 1,5–2 литра густой пасты.
- Цельноплодное консервирование: в 3-литровую банку входит 2–2,5 кг томатов плюс заливка.
- Лечо и салаты: на 1 кг заготовки уходит 0,6–0,8 кг томатов (остальное — перец, лук, морковь).
- Свежее хранение: бурые и зелёные плоды могут лежать 1–3 месяца при температуре 10–15°C в тёмном проветриваемом помещении.
Планируйте заготовки исходя из реалистичного урожая, а не из желаемого. Лучше закатать на 10 банок меньше и пристроить излишки свежими, чем столкнуться с нехваткой сырья и пустыми банками.
Заключение
Калькулятор урожайности томатов — это не волшебная палочка, а трезвый инструмент планирования. Он не заменит ваш опыт и внимание к растениям, но поможет избежать грубых просчётов на старте сезона. Закладывайте реалистичные цифры, оставляйте запас, учитывайте особенности своего участка — и тогда осенний сбор приятно удивит и вас, и ваших близких.
CihmdW5jdGlvbigpIHsKICB2YXIgYXJlYUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1hcmVhJyk7CiAgdmFyIGNvdW50SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm4tdG9tYXRvLWNvdW50Jyk7CiAgdmFyIHJvd0lucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1yb3cnKTsKICB2YXIgcGxhbnRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8tcGxhbnQnKTsKICB2YXIgeWllbGRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8teWllbGQnKTsKICB2YXIgdHlwZVNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8tdHlwZScpOwogIHZhciBjYWxjQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1jYWxjLWJ0bicpOwogIHZhciByZXNldEJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8tcmVzZXQtYnRuJyk7CgogIHZhciBhcmVhRXJyb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm4tdG9tYXRvLWFyZWEtZXJyb3InKTsKICB2YXIgY291bnRFcnJvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8tY291bnQtZXJyb3InKTsKICB2YXIgcm93RXJyb3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm4tdG9tYXRvLXJvdy1lcnJvcicpOwogIHZhciBwbGFudEVycm9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1wbGFudC1lcnJvcicpOwogIHZhciB5aWVsZEVycm9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by15aWVsZC1lcnJvcicpOwoKICB2YXIgcmVzQ291bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm4tdG9tYXRvLXJlcy1jb3VudCcpOwogIHZhciByZXNUb3RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8tcmVzLXRvdGFsJyk7CiAgdmFyIHJlc1NxbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubi10b21hdG8tcmVzLXNxbScpOwogIHZhciByZXNSZXNlcnZlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1yZXMtcmVzZXJ2ZScpOwogIHZhciByZXNCdWNrZXRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1yZXMtYnVja2V0cycpOwogIHZhciByZXNBcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1yZXMtYXJlYScpOwogIHZhciByZXNOb3RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLXRvbWF0by1yZXN1bHQtbm90ZScpOwoKICBmdW5jdGlvbiBoaWRlRXJyb3JzKCkgewogICAgYXJlYUVycm9yLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBjb3VudEVycm9yLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICByb3dFcnJvci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgcGxhbnRFcnJvci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgeWllbGRFcnJvci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogIH0KCiAgZnVuY3Rpb24gc2hvd0Vycm9yKGVsLCBtc2cpIHsKICAgIGVsLnRleHRDb250ZW50ID0gbXNnOwogICAgZWwuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgfQoKICBmdW5jdGlvbiBnZXRGbG9hdFZhbChlbCkgewogICAgdmFyIHYgPSBlbC52YWx1ZS50cmltKCk7CiAgICBpZiAodiA9PT0gJycpIHJldHVybiBOYU47CiAgICB2YXIgbiA9IHBhcnNlRmxvYXQodik7CiAgICByZXR1cm4gaXNOYU4obikgPyBOYU4gOiBuOwogIH0KCiAgZnVuY3Rpb24gZ2V0SW50VmFsKGVsKSB7CiAgICB2YXIgdiA9IGVsLnZhbHVlLnRyaW0oKTsKICAgIGlmICh2ID09PSAnJykgcmV0dXJuIE5hTjsKICAgIHZhciBuID0gcGFyc2VJbnQodiwgMTApOwogICAgcmV0dXJuIGlzTmFOKG4pID8gTmFOIDogbjsKICB9CgogIGZ1bmN0aW9uIGZvcm1hdE51bShuLCBkZWNpbWFscykgewogICAgaWYgKGRlY2ltYWxzID09PSB1bmRlZmluZWQpIGRlY2ltYWxzID0gMTsKICAgIGlmICh0eXBlb2YgbiAhPT0gJ251bWJlcicgfHwgaXNOYU4obikgfHwgIWlzRmluaXRlKG4pKSByZXR1cm4gJ+KAlCc7CiAgICByZXR1cm4gbi50b0ZpeGVkKGRlY2ltYWxzKTsKICB9CgogIGNhbGNCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgIGhpZGVFcnJvcnMoKTsKICAgIHZhciBoYXNFcnJvciA9IGZhbHNlOwoKICAgIHZhciBhcmVhVmFsID0gZ2V0RmxvYXRWYWwoYXJlYUlucHV0KTsKICAgIHZhciBjb3VudFZhbCA9IGdldEludFZhbChjb3VudElucHV0KTsKICAgIHZhciByb3dWYWwgPSBnZXRGbG9hdFZhbChyb3dJbnB1dCk7CiAgICB2YXIgcGxhbnRWYWwgPSBnZXRGbG9hdFZhbChwbGFudElucHV0KTsKICAgIHZhciB5aWVsZFZhbCA9IGdldEZsb2F0VmFsKHlpZWxkSW5wdXQpOwoKICAgIGlmIChpc05hTihyb3dWYWwpIHx8IHJvd1ZhbCA8PSAwKSB7CiAgICAgIHNob3dFcnJvcihyb3dFcnJvciwgJ9CS0LLQtdC00LjRgtC1INGA0LDRgdGB0YLQvtGP0L3QuNC1INC80LXQttC00YMg0YDRj9C00LDQvNC4ICjRgdC8KS4nKTsKICAgICAgaGFzRXJyb3IgPSB0cnVlOwogICAgfQogICAgaWYgKGlzTmFOKHBsYW50VmFsKSB8fCBwbGFudFZhbCA8PSAwKSB7CiAgICAgIHNob3dFcnJvcihwbGFudEVycm9yLCAn0JLQstC10LTQuNGC0LUg0YDQsNGB0YHRgtC+0Y/QvdC40LUg0LzQtdC20LTRgyDRgNCw0YHRgtC10L3QuNGP0LzQuCAo0YHQvCkuJyk7CiAgICAgIGhhc0Vycm9yID0gdHJ1ZTsKICAgIH0KICAgIGlmIChpc05hTih5aWVsZFZhbCkgfHwgeWllbGRWYWwgPD0gMCkgewogICAgICBzaG93RXJyb3IoeWllbGRFcnJvciwgJ9CS0LLQtdC00LjRgtC1INGD0YDQvtC20LDQudC90L7RgdGC0Ywg0YEg0LrRg9GB0YLQsCAo0LrQsykuJyk7CiAgICAgIGhhc0Vycm9yID0gdHJ1ZTsKICAgIH0KCiAgICB2YXIgaGFzQXJlYSA9ICFpc05hTihhcmVhVmFsKSAmJiBhcmVhVmFsID4gMDsKICAgIHZhciBoYXNDb3VudCA9ICFpc05hTihjb3VudFZhbCkgJiYgY291bnRWYWwgPiAwOwoKICAgIGlmICghaGFzQXJlYSAmJiAhaGFzQ291bnQpIHsKICAgICAgc2hvd0Vycm9yKGFyZWFFcnJvciwgJ9Cj0LrQsNC20LjRgtC1INC/0LvQvtGJ0LDQtNGMINC40LvQuCDQutC+0LvQuNGH0LXRgdGC0LLQviDQutGD0YHRgtC+0LIuJyk7CiAgICAgIHNob3dFcnJvcihjb3VudEVycm9yLCAn0KPQutCw0LbQuNGC0LUg0L/Qu9C+0YnQsNC00Ywg0LjQu9C4INC60L7Qu9C40YfQtdGB0YLQstC+INC60YPRgdGC0L7Qsi4nKTsKICAgICAgaGFzRXJyb3IgPSB0cnVlOwogICAgfQoKICAgIGlmIChoYXNFcnJvcikgewogICAgICByZXNDb3VudC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICByZXNUb3RhbC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICByZXNTcW0udGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgcmVzUmVzZXJ2ZS50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICByZXNCdWNrZXRzLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICAgIHJlc0FyZWEudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgcmVzTm90ZS50ZXh0Q29udGVudCA9ICcnOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIHBsYW50QXJlYSA9IChyb3dWYWwgLyAxMDApICogKHBsYW50VmFsIC8gMTAwKTsKICAgIHZhciB0b3RhbFBsYW50cywgdG90YWxBcmVhOwoKICAgIGlmIChoYXNDb3VudCkgewogICAgICB0b3RhbFBsYW50cyA9IGNvdW50VmFsOwogICAgICB0b3RhbEFyZWEgPSB0b3RhbFBsYW50cyAqIHBsYW50QXJlYTsKICAgIH0gZWxzZSB7CiAgICAgIHRvdGFsUGxhbnRzID0gTWF0aC5mbG9vcihhcmVhVmFsIC8gcGxhbnRBcmVhKTsKICAgICAgdG90YWxBcmVhID0gYXJlYVZhbDsKICAgIH0KCiAgICBpZiAodG90YWxQbGFudHMgPCAxKSB7CiAgICAgIHNob3dFcnJvcihhcmVhRXJyb3IsICfQodC70LjRiNC60L7QvCDQvNCw0LvQtdC90YzQutCw0Y8g0L/Qu9C+0YnQsNC00Ywg0LTQu9GPINGC0LDQutC+0Lkg0YHRhdC10LzRiyDQv9C+0YHQsNC00LrQuC4nKTsKICAgICAgc2hvd0Vycm9yKGNvdW50RXJyb3IsICfQodC70LjRiNC60L7QvCDQvNCw0LvQtdC90YzQutCw0Y8g0L/Qu9C+0YnQsNC00Ywg0LTQu9GPINGC0LDQutC+0Lkg0YHRhdC10LzRiyDQv9C+0YHQsNC00LrQuC4nKTsKICAgICAgcmVzQ291bnQudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgcmVzVG90YWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgcmVzU3FtLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICAgIHJlc1Jlc2VydmUudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgcmVzQnVja2V0cy50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICByZXNBcmVhLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICAgIHJlc05vdGUudGV4dENvbnRlbnQgPSAnJzsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciB0b3RhbFlpZWxkID0gdG90YWxQbGFudHMgKiB5aWVsZFZhbDsKICAgIHZhciB5aWVsZFBlclNxbSA9IHRvdGFsQXJlYSA+IDAgPyB0b3RhbFlpZWxkIC8gdG90YWxBcmVhIDogMDsKICAgIHZhciByZXNlcnZlID0gdG90YWxZaWVsZCAqIDAuMTA7CiAgICB2YXIgYnVja2V0cyA9IHRvdGFsWWllbGQgLyAxMDsKCiAgICByZXNDb3VudC50ZXh0Q29udGVudCA9IHRvdGFsUGxhbnRzOwogICAgcmVzVG90YWwudGV4dENvbnRlbnQgPSBmb3JtYXROdW0odG90YWxZaWVsZCwgMSk7CiAgICByZXNTcW0udGV4dENvbnRlbnQgPSBmb3JtYXROdW0oeWllbGRQZXJTcW0sIDEpOwogICAgcmVzUmVzZXJ2ZS50ZXh0Q29udGVudCA9IGZvcm1hdE51bShyZXNlcnZlLCAxKTsKICAgIHJlc0J1Y2tldHMudGV4dENvbnRlbnQgPSBNYXRoLmNlaWwoYnVja2V0cyk7CiAgICByZXNBcmVhLnRleHRDb250ZW50ID0gZm9ybWF0TnVtKHRvdGFsQXJlYSwgMik7CgogICAgaWYgKGhhc0NvdW50KSB7CiAgICAgIHJlc05vdGUudGV4dENvbnRlbnQgPSAn0KDQsNGB0YfRkdGC0L3QsNGPINC/0LvQvtGJ0LDQtNGMINCy0YvRh9C40YHQu9C10L3QsCDQv9C+INC60L7Qu9C40YfQtdGB0YLQstGDINC60YPRgdGC0L7QsiDQuCDRgdGF0LXQvNC1INC/0L7RgdCw0LTQutC4Lic7CiAgICB9IGVsc2UgewogICAgICByZXNOb3RlLnRleHRDb250ZW50ID0gJ9Ca0L7Qu9C40YfQtdGB0YLQstC+INGA0LDRgdGC0LXQvdC40Lkg0L7QutGA0YPQs9C70LXQvdC+INCy0L3QuNC3INC00L4g0YbQtdC70L7Qs9C+LiDQn9C70L7RidCw0LTRjCDigJQg0LLQstC10LTRkdC90L3QvtC1INC30L3QsNGH0LXQvdC40LUuJzsKICAgIH0KICB9KTsKCiAgcmVzZXRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgIGFyZWFJbnB1dC52YWx1ZSA9ICcnOwogICAgY291bnRJbnB1dC52YWx1ZSA9ICcnOwogICAgcm93SW5wdXQudmFsdWUgPSAnNzAnOwogICAgcGxhbnRJbnB1dC52YWx1ZSA9ICc0MCc7CiAgICB5aWVsZElucHV0LnZhbHVlID0gJzQnOwogICAgdHlwZVNlbGVjdC52YWx1ZSA9ICdvcGVuJzsKICAgIGhpZGVFcnJvcnMoKTsKICAgIHJlc0NvdW50LnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICByZXNUb3RhbC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgcmVzU3FtLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICByZXNSZXNlcnZlLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICByZXNCdWNrZXRzLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICByZXNBcmVhLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICByZXNOb3RlLnRleHRDb250ZW50ID0gJyc7CiAgfSk7CgogIHR5cGVTZWxlY3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24oKSB7CiAgICBpZiAodHlwZVNlbGVjdC52YWx1ZSA9PT0gJ2dyZWVuaG91c2UnKSB7CiAgICAgIGlmICh5aWVsZElucHV0LnZhbHVlID09PSAnJyB8fCBwYXJzZUZsb2F0KHlpZWxkSW5wdXQudmFsdWUpID09PSA0KSB7CiAgICAgICAgeWllbGRJbnB1dC52YWx1ZSA9ICc2JzsKICAgICAgfQogICAgICB5aWVsZElucHV0LnBsYWNlaG9sZGVyID0gJ9Cd0LDQv9GA0LjQvNC10YA6IDYnOwogICAgfSBlbHNlIHsKICAgICAgaWYgKHlpZWxkSW5wdXQudmFsdWUgPT09ICcnIHx8IHBhcnNlRmxvYXQoeWllbGRJbnB1dC52YWx1ZSkgPT09IDYpIHsKICAgICAgICB5aWVsZElucHV0LnZhbHVlID0gJzQnOwogICAgICB9CiAgICAgIHlpZWxkSW5wdXQucGxhY2Vob2xkZXIgPSAn0J3QsNC/0YDQuNC80LXRgDogMy41JzsKICAgIH0KICB9KTsKfSkoKTsK