Бесплатные и платные прогнозы на спорт

Ставки на спорт – это игра с вероятностью, поэтому даже самый точный прогноз может дать сбой. Если любая приобретенная у нас ставка вдруг не сыграет, она подлежит бесплатной замене.

С нами Вы всегда будете в плюсе!

Статистика за июнь 2021

Добрый день, уважаемые друзья. с 14.05. будет произведен переход на новый домен : freedo-sport.ru. Это производится по причине утери доступа к кабинету регистратора доменных имен и не возможностью произвести оплату и продление домена. Спасибо за понимание и хорошего Вам дня!

ДатаСобытиеПрогнозСчётРезультат
01.01.21Манчестер Юнайтед — Астон ВиллаТМ(3)2-1Возврат
02.01.21Вест Бромвич - АрсеналП20-4Win
03.01.21Дженоа - ЛациоП21-1Lose
04.01.21Саутгемптон - ЛиверпульП21-0Lose
05.01.21Мансфилд - Солфорд СитиТМ(2.5)2-1Lose
06.01.21Милан - ЮвентусОбе забьют:Да.1-3Win
07.01.21Жирона - ЛугоТБ(2)2-1Win
08.01.21Вулверхэмптон - Кристал ПэласТМ(2.5)1-0Win
09.01.21Лутон Таун - РедингТБ(2)1-0Lose
10.01.21Кадис - АлавесТБ(1.5)3-1Win
11.01.21Фоджа - Юве СтабияТМ(2.5)1-1Win
12.01.21ОАЭ - ИракОбе забьют:Нет.0-2Win
13.01.21Фиорентина - Интер МиланОбе забьют:Да.1-2Win
14.01.21Арис Салоники - АЕКТБ(2)0-1Lose
15.01.21Лацио - РомаТБ(2.5)3-0Lose
16.01.21Леганес - СевильяП20-1Win
17.01.21Ливерпуль - Манчестер ЮнайтедТБ(2.5)0-0Lose
18.01.21Гамбург - ОснабрюкТБ(2.5)5-0Win
19.01.21Лестер - ЧелсиОбе забьют:Да.2-0Lose
20.01.21Фулхэм - Манчестер ЮнайтедФ2(-1)1-2Cancel
21.01.21Шахтер Донецк - ЛехФ1(-1)1-1Lose
22.01.21Колдинг ИФ - РаннерсП22-2Lose
23.01.21Астон Вилла - НьюкаслФ2(+1.5)2-0Lose
24.01.21Коньяспор - АнтальяспорОбе забьют:Да.0-0Lose
25.01.21Истанбулспор - АданаспорП11-0Win
26.01.21Кристал Пэлас - Вест ХэмФ2(0)2-3Win

Статистика за Декабрь 2020

ДатаСобытиеПрогнозСчётРезультат
01.12.20Порту - Манчестер СитиТБ(2.5)0-0Lose
02.12.20Истанбул Башакшехир - ЛейпцигОбе забьют: Да.3-4Win
03.12.20АЕК - БрагаОбе забьют: Да.2-4Win
04.12.20Герта - Унион БерлинX23-1Lose
05.12.20Атлетико Мадрид - ВальядолидТМ(2.5)2-0Win
06.12.20Вест Бромвич - Кристал ПэласТМ(2.5)1-5Lose
07.12.20Эйбар - ВаленсияТМ(2.5)0-0Win
08.12.20ПСЖ - Истанбул БашакшехирОбе забьют: Нет.-; 5-1Возврат
Lose
09.12.20Мидтъюлланн - ЛиверпульОбе забьют: Да.1-1Win
10.12.20Брага - ЗаряОбе забьют: Да.2-0Lose
11.12.20Химки - Арсенал ТулаТМ(2.5)1-0Win
12.12.20Ньюкасл - Вест БромвичТБ(2)2-1Win
13.12.20Реал Сосьедад - ЭйбарП11-1Lose
14.12.20Падова - ТриестинаТМ(2.5)0-0Win
15.12.20Беневенто - ЛациоОбе забьют: Да.1-1Win
16.12.20Лестер - ЭвертонОбе забьют: Да.0-2Lose
17.12.20Шеффилд Юнайтед - Манчестер ЮнайтедФ2(-1)2-3Возврат
18.12.20Энтелла - ПорденонеТМ(2.5)0-1Win
19.12.20Мец - ЛансТМ(2.5)2-0Win
20.12.20Манчестер Юнайтед - ЛидсП16-2Win
21.12.20Салернитана - ЭнтеллаТМ(2.5)2-1Lose
22.12.20Боруссия Дортмунд II - Фортуна Д IIП11-1Lose
23.12.20Эвертон - Манчестер ЮнайтедОбе забьют: Да.0-2Lose
24.12.20Сабаил - ГабалаТМ(2.5)1-3Lose
25.12.20Нассаджи Мазендеран - ПерсеполисП21-1Lose
26.12.20Линкольн Сити - Бертон АльбионП15-1Win
27.12.20Белененсеш - Спортинг ЛФ2(-1)1-2Возврат
28.12.20Хэмптон энд Ричм. - Далвич ГамлетТБ(2.5)1-2Win
29.12.20Брайтон - АрсеналОбе забьют: Да.0-1Lose
30.12.20Тоттенхэм - ФулхэмФ1(-1)-Отмена
31.12.20Антигуа - КомуникасьонесФ1(0)0-0Возврат

Статистика за Ноябрь 2020

ДатаСобытиеПрогнозСчётРезультат
01.11.20Манчестер Юнайтед — АрсеналТМ(2.5)0-1Win
02.11.20Фулхэм — Вест Бромвич АльбионОбе забьют - Нет2-0Win
03.11.20Локомотив Москва — Атлетико МадридОбе забьют1-1Win
04.11.20Зенит Санкт Петербург — ЛациоФ2(0)1-1Сancel
05.11.20Селтик - Спарта ПрагаФ1(-1)1-4Lose
06.11.20Гран Валенсия — МетрополитаносТМ(2.5)1-1Win
07.11.20Барселона - БетисФ1(-1)5-2Win
08.11.20Леванте - АлавесТМ(2.5)1-1Win
09.11.20Киль - ГамбургТБ(2.5)1-1Lose
10.11.20Бохэм Вуд - Даг энд РедП10-1Lose
11.11.20Румыния - БеларусьФ1(-1)5-3Win
12.11.20Молдова - РоссияФ1(+2)0-0Win
13.11.20Колумбия — Уругвай
ТБ(2.5)0-3Win
14.11.20Португалия - Франция
ТМ(2.5)0-1Win
15.11.20Нидерланды - Босния и Герцеговина
Ф1(-1)3-1Win
16.11.20Сан-Томе Принсипи - ЮАРФ1(+2)2-4Сancel
17.11.20Франция - ШвецияФ1(-1)4-2Win
18.11.20Албания - БеларусьП13-2Win
19.11.20Сидней - Шанхай Ист ЭйшаТБ(2.5)1-2Win
20.11.20Ренн - БордоТБ(2)0-1Lose
21.11.20Ньюкасл - ЧелсиФ2(-1)0-2Win
22.11.20ЦСКА Москва - ФК СочиП11-1Lose
23.11.20Салернитана - КремонезеТБ(2)2-1Win
24.11.20Лутон Таун - БирмингемТБ(2)1-1Сancel
25.11.20Атлетико Мадрид - Локомотив МоскваФ1(-1.5)0-0Lose
26.11.20ЦСКА Москва - ФейеноордХ20-0Win
27.11.20Кристал Пэлас - НьюкаслТМ(2.5)0-2Win
28.11.20Арсенал Тула - ЗенитФ2(-1)0-0Lose
29.11.20Челси - ТоттенхэмТМ(3)0-0Win
30.11.20Вест Хэм - Астон ВиллаТМ(3)2-1Сancel

Статистика за октябрь 2020

ДатаСобытиеПрогнозСчётРезультат
01.10.20Сельта — Барселона
Ф2(-1)0-3Win
02.10.20ПСЖ — Анже
1-й тайм ФОРА1 (-1)
2-0Win
03.10.20Челси — Кристал Пэлэс

ТБ(3)4-0Win
04.10.20Барселона — СевильяТБ(2.5)2-3Win
05.10.20Нюрнберг — Дармштадт 98

Х21-1Win
06.10.20Зенит-2 Санкт-Петербург — Зенит Иркутск
ТМ(2.5)4-0Lose
07.10.20Франция — Украина

ТБ(3)7-1Win
08.10.20Россия — Швеция
Обе забьют1-2Win
09.10.20Уругвай — Чили
П12-1Win
10.10.20Украина — Германия
ТМ(3.5)1-2Win
11.10.20Россия — Турция
ТМ(2.5)1-1Win
12.10.20Брэдфорд — Хэрроугейт Таун
ТМ(2.5)0-1Win
13.10.20Украина — Испания
Обе забьют1-0Lose
14.10.20Хорватия — Франция
П21-2Win
15.10.20Дюрен — Бавария
ТМ(5)0-3Win
16.10.20Ним — ПСЖ
П2 и ТБ(2.5)
0-4Win
17.10.20Эвертон — Ливерпуль
Ф1(+1)2-2Win
18.10.20Тоттенхэм — Вест Хэм
Ф1(-1)3-3Lose
19.10.20Верона — Дженоа
ТБ(2.5)0-0Lose
20.10.20Зенит Санкт-Петербург — Брюгге
Х21-2Win
21.10.20Зальцбург — Локомотив Москва
ТБ(3.5)2-2Win
22.10.20Наполи — АЗ Алкмар
Ф2(-1.5)0-1Lose
23.10.20Астон Вилла — Лидс Юнайтед
П20-3Win
24.10.20Барселона — Реал Мадрид
Х21-3Win
25.10.20Арсенал — Лестер Сити
ТМ(2.5)0-1Win
26.10.20Милан — РомаХ23-3Win
27.10.20Атланта — АяксТБ3.52-2Win
28.10.20Боруссия Дортмунд — Зенит Санкт-ПетербургОбе забьют2-0Lose
29.10.20ЦСКА Москва — Динамо ЗагребТМ(2.5)0-0Win
30.10.20Шальке 04 — ШтутгартТМ(2.5)1-1Win
31.10.20Нант — ПСЖФ2(-1.5)0-3Win

Статистика за сентябрь 2020

ДатаСобытиеПрогнозСчётРезультат
01.09.20Лацио — ПадоваП11-0Win
02.09.20ФК Калуга — СалютТМ(2.5)0-0Win
03.09.20Турция — ВенгрияП20-1Win
04.09.20Нидерланды — ПольшаП11-0Win
05.09.20Швеция — ФранцияП10-1Lose
06.09.20Мальта — ЛатвияП21-1Lose
07.09.20Нидерланды — ИталияП20-1Win
08.09.20Дания — АнглияТБ(2.5)0-0Lose
09.09.20Кадис — АльмерияТМ(2.5)1-1Win
10.09.20Парма — Про СестоФ1(-1.5)6-0Win
11.09.20Шварц-Вайс Реден — Ганновер 96 IIТБ(2.5)2-2Win
12.09.20Кадис — ОсасунаП10-2Lose
13.09.20ЦСКА Москва — Спартак Москва
П11-0Win
14.09.20Зенит — Арсенал Тула
ТБ(2.5)3-1Win
15.09.20Моркам — ОлдхэмП11-0Win
16.09.20Барселона — ЖиронаФ1(-1)3-1Win
17.09.20Силекс — КФ ДритаФ2(-1)0-2Win
18.09.20ФК Краснодар — ХимкиТБ(3)7-2Win
19.09.20Арсенал — Вест ХэмП22-1Lose
20.09.20Лестер — БернлиТБ(2.5)4-2Win
21.09.20Динамо СПб — ФК ПарусФ2(+2.5)13-0Lose
22.09.20Кицбюэль — Халль СВП11-0Win
23.09.20Лестер — АрсеналП10-2Lose
24.09.20Шермбек — ФреденТБ(2.5)2-2Win
25.09.20Герта — Айнтрахт ФранкфуртТБ(2.5)1-3Win
26.09.20Интер Милан — ФиорентинаТБ(2.5)4-3Win
27.09.20Кротоне — МиланТМ(2.5)0-2Win
28.09.20Химки — Динамо МоскваП21-0Lose
29.09.20Тоттенхэм — Челси
Проход 1-я ком.1-1Win
30.09.20Ромфорд — Базилдон ЮнайтедФ2(-1)1-0Lose

Статистика за август 2020

ДатаСобытиеПрогнозСчётРезультат
01.08.20Наполи — ЛациоТБ(2.5)3-1Win
02.08.20Крылья Советов — БалтикаТМ(2.5)0-0Win
03.08.20ФК Катар — Умм-СалальТМ(2.5)1-1Win
04.08.20Буревестник — ГераклионП20-2Win
05.08.20Интер Милан — ХетафеП12-0Win
06.08.20Базель — Айнтрахт ФранкфуртП21-0Lose
07.08.20Зенит — Локомотив МоскваП12-1Win
08.08.20Чертаново — ТомьТМ(2.5)2-0Win
09.08.20Лион (ж) — ПСЖ (ж)ТМ(2.5)0-0Win
10.08.20Пескара — ПеруджаТБ(2.5)2-1Win
11.08.20Лаутерах — Рёфикс РётисФ1(-1.5)3-0Win
12.08.20ФК Тверь — ФК ЧитаТБ(2.5)4-2Win
13.08.20Аякс — УтрехтТБ(2.5)5-1Win
14.08.20Перуджа — ПескараП12-1Win
15.08.20ФК Тюмень — Лада-ТольяттиТМ(2.5)2-0Win
16.08.20Севилья — Манчестер ЮнайтедП12-1Win
17.08.20Васланд-Беверен — СтандардТБ(2.5)1-2Win
18.08.20Рейкьявик — ФьярдабиггдП10-1Lose
19.08.20Сокол — МуромП22-1Lose
20.08.20Аль-Сайлия — Умм-СалальТБ(2.5)0-0Lose
21.08.20Севилья — Интер МиланТБ(2.5)3-2Win
22.08.20Нефтехимик — ЧертановоФ1(-1)3-0Win
23.08.20Лорьян — СтрасбурП13-1Win
24.08.20Аустрия Лустенау — ВердерТБ(2.5)2-4Win
25.08.20Арсенал Тула — ХимкиТМ(2.5)1-1Win
26.08.20Рилазинген — Лёррах-БромбахФ1(-1)6-2Win
27.08.20Нефтчи — ШкупиП12-1Win
28.08.20Валенсия — ВильярреалП22-1Lose
29.08.20ПФК Кубань — ДружбаФ2(-1)2-0Lose
30.08.20Тасмания Берлин — БранденбургерФ2(-1)3-0Win
31.08.20Хайтан — Бурган ФКТБ(2.5)2-0Lose

Статистика за июль 2020

ДатаСобытиеПрогнозСчётРезультат
01.07.20ФК Сочи — Динамо МоскваТМ(2.5)1-1Win
02.07.20Реал Мадрид — ХетафеТБ(2.5)1-0Lose
03.07.20Чарльтон — МиллуоллП20-1Win
04.07.20Байер 04 — БаварияТМ(2.5)2-4Lose
05.07.20ФК Краснодар — ЗенитТБ(2.5)2-4Win
06.07.20Тоттенхэм — ЭвертонП21-0Lose
07.07.20Уотфорд — НорвичП22-1Lose
08.07.20ФК Ростов — ФК УфаТМ(2.5)1-2Lose
09.07.20Верона — Интер МиланТБ(2.5)2-2Win
10.07.20Реал Мадрид — АлавесП12-0Win
11.07.20Ливерпуль — БернлиТМ(2.5)1-1Win
12.07.20ФК Краснодар — УралФ1(-1)3-0Win
13.07.20Алькоркон — ТенерифеТМ(2.5)0-0Win
14.07.20Аталанта — БрешиаИТБ1(2.5)6-2Win
15.07.20Бернли — ВулверхэмптонТМ(2.5)1-1Win
16.07.20Мальорка — ГранадаТБ(2.5)1-2Win
17.07.20Вест Хэм — УотфордФ1(-1)3-1Win
18.07.20Арсенал — Манчестер СитиП12-0Win
19.07.20ФК Краснодар — Динамо МоскваП20-2Win
20.07.20Вулверхэмптон — Кристал ПэласП12-0Win
21.07.20Уотфорд — Манчестер СитиТБ(2.5)0-4Win
22.07.20СПАЛ 2013 — РомаИТБ2(2.5)1-6Win
23.07.20Атлетико ПР — ЛондринаФ1(-2)5-0Win
24.07.20Витебск — ФК СлуцкП22-0Lose
25.07.20Наполи — СассуолоП22-0Lose
26.07.20Вест Хэм — Астон ВиллаП11-1Lose
27.07.20Перуджа — ТрапаниП21-2Win
28.07.20Интер Милан — НаполиП12-0Win
29.07.20Сампдория — МиланТБ(2.5)1-4Win
30.07.20Фулхэм — Кардифф СитиП21-2Win
31.07.20Динамо Брест — ВитебскП11-0Win

Статистика за июнь 2020

ДатаСобытиеПрогнозСчётРезультат
01.06.20Кёльн — ЛейпцигТМ(2.5)2-4Lose
02.06.20Виктория Кёльн — ЦвиккауТМ(2.5)3-0Lose
03.06.20Вердер — Айнтрахт ФрП10-3Lose
04.06.20Мьёндален — ВолеренгаТМ(2.5)0-2Win
05.06.20Фюрт — ЗандхаузенП21-2Win
06.06.20Боруссия Д — ГертаП11-0Win
07.06.20Аугсбург — КёльнТМ(2.5)1-1Win
08.06.20Алашкерт — Арарат-АрменияТБ(2.5)1-2Win
09.06.20Саарбрюккен — Байер 04Ф2(-1)0-3Win
10.06.20Бавария — Айнтрахт ФрП12-1Win
11.06.20Таборско — ПисекФ1(-1)3-1Win
12.06.20Городея — ФК СлуцкФ1(-1.5)3-0Win
13.06.20Оснабрюк — БохумТМ(2.5)0-2Win
14.06.20Шальке 04 — Байер 04ТМ(2.5)1-1Win
15.06.20Бенешов — ТаборскоТМ(2.5)0-3Lose
16.06.20Веен — НюрнбергТБ(2.5)0-6Win
17.06.20Манчестер Сити — АрсеналФ1(-1.5)3-0Win
18.06.20Реал М — ВаленсияП23-0Lose
19.06.20Тоттенхэм — Манчестер ЮнайтедТМ(2.5)1-1Win
20.06.20Борнмут — Кристал ПэласП20-2Win
21.06.20Локомотив Москва — ФК ОренбургП21-0Lose
22.06.20Леганес — ГранадаП10-0Lose
23.06.20Тоттенхэм — Вест ХэмТБ(2.5)2-0Lose
24.06.20Норвич — ЭвертонП20-1Win
25.06.20Челси — Манчестер СитиП12-1Win
26.06.20Смолевичи — ФК СлуцкТБ(2.5)2-1Win
27.06.20Кальяри — ТориноТМ(2.5)4-2Lose
28.06.20Уотфорд — СаутгемптонТМ(2.5)1-3Lose
29.06.20Пескара — ЭмполиТМ(2.5)1-1Win
30.06.20Кардифф Сити — ЧарльтонТМ(2.5)0-0Win

Статистика за май 2020

ДатаСобытиеПрогнозСчётРезультат
01.05.20Минск (ж) — Днепр Могилев (ж)Ф1(-1.5)10-0Win
02.05.20Рух Брест — ГородеяП21-1Lose
03.05.20Шахтер С — ИслочьИТБ1(2.5)4-0Win
04.05.20Алтын Асыр — АшхабадТБ(2.5)4-1Win
05.05.20Ахал — Энергетик ТуркменбашиП12-0Win
06.05.20Сайгон ФК — ЛонганТМ(2.5)1-1Win
07.05.20----
08.05.20Городея — МинскП21-1Lose
09.05.20Неман Гродно — Рух БрестТМ(2.5)2-4Lose
10.05.20Смолевичи — БАТЭТБ(2.5)3-5Win
11.05.20Ашдод — Хапоэль Б-ШП23-2Lose
12.05.20Витковице — Баник ОстраваП20-2Win
13.05.20Мерв — Алтын АсырФ2(-2)0-4Win
14.05.20Арарат-Армения — Локомотив ЕреванТМ(2.5)4-1Lose
15.05.20Торпедо-БелАЗ — ГородеяП13-1Win
16.05.20Аугсбург — ВольфсбургП21-2Win
17.05.20Унион Берлин — БаварияФ2(-1)0-2Win
18.05.20Вердер — Байер 04ИТБ2(2.5)1-4Win
19.05.20Лишень — ХрудимП11-0Win
20.05.20Динамо Брест — БАТЭП21-3Win
21.05.20Неман Гродно — Торпедо-БелАЗФ1(-1)3-1Win
22.05.20Герта — Унион БерлинФ1(-1)4-0Win
23.05.20Вольфсбург — Боруссия ДТМ(2.5)0-2Win
24.05.20Кёльн — Фортуна ДТБ(2.5)2-2Win
25.05.20Секция Нес-Циона — БейтарФ2(-1.5)0-4Win
26.05.20Айнтрахт Фр — ФрайбургТБ(2.5)3-3Win
27.05.20Фортуна Д — Шальке 04ТБ(2.5)2-1Win
28.05.20Штутгарт — ГамбургТМ(2.5)3-2Lose
29.05.20Фрайбург — Байер 04П10-1Lose
30.05.20Шальке 04 — ВердерП10-1Lose
31.05.20Падерборн — Боруссия ДФ2(-2)1-6Win
JTNDIS0tJTIwR1RyYW5zbGF0ZSUzQSUyMGh0dHBzJTNBJTJGJTJGZ3RyYW5zbGF0ZS5pbyUyRiUyMC0tJTNFJTBBJTNDc3R5bGUlM0UlMEEuc3dpdGNoZXIlMjAlN0Jmb250LWZhbWlseSUzQUFyaWFsJTNCZm9udC1zaXplJTNBMTJwdCUzQnRleHQtYWxpZ24lM0FsZWZ0JTNCY3Vyc29yJTNBcG9pbnRlciUzQm92ZXJmbG93JTNBaGlkZGVuJTNCd2lkdGglM0ExNzNweCUzQmxpbmUtaGVpZ2h0JTNBMTdweCUzQiU3RCUwQS5zd2l0Y2hlciUyMGElMjAlN0J0ZXh0LWRlY29yYXRpb24lM0Fub25lJTNCZGlzcGxheSUzQWJsb2NrJTNCZm9udC1zaXplJTNBMTJwdCUzQi13ZWJraXQtYm94LXNpemluZyUzQWNvbnRlbnQtYm94JTNCLW1vei1ib3gtc2l6aW5nJTNBY29udGVudC1ib3glM0Jib3gtc2l6aW5nJTNBY29udGVudC1ib3glM0IlN0QlMEEuc3dpdGNoZXIlMjBhJTIwaW1nJTIwJTdCdmVydGljYWwtYWxpZ24lM0FtaWRkbGUlM0JkaXNwbGF5JTNBaW5saW5lJTNCYm9yZGVyJTNBMCUzQnBhZGRpbmclM0EwJTNCbWFyZ2luJTNBMCUzQm9wYWNpdHklM0EwLjglM0IlN0QlMEEuc3dpdGNoZXIlMjBhJTNBaG92ZXIlMjBpbWclMjAlN0JvcGFjaXR5JTNBMSUzQiU3RCUwQS5zd2l0Y2hlciUyMC5zZWxlY3RlZCUyMCU3QmJhY2tncm91bmQlM0ElMjNmZmYlMjBsaW5lYXItZ3JhZGllbnQoMTgwZGVnJTJDJTIwJTIzZWZlZmVmJTIwMCUyNSUyQyUyMCUyM2ZmZiUyMDcwJTI1KSUzQnBvc2l0aW9uJTNBcmVsYXRpdmUlM0J6LWluZGV4JTNBOTk5OSUzQiU3RCUwQS5zd2l0Y2hlciUyMC5zZWxlY3RlZCUyMGElMjAlN0Jib3JkZXIlM0ExcHglMjBzb2xpZCUyMCUyM2NjYyUzQmNvbG9yJTNBJTIzNjY2JTNCcGFkZGluZyUzQTNweCUyMDVweCUzQndpZHRoJTNBMTYxcHglM0IlN0QlMEEuc3dpdGNoZXIlMjAuc2VsZWN0ZWQlMjBhJTNBYWZ0ZXIlMjAlN0JoZWlnaHQlM0EyNHB4JTNCZGlzcGxheSUzQWlubGluZS1ibG9jayUzQnBvc2l0aW9uJTNBYWJzb2x1dGUlM0JyaWdodCUzQTEwcHglM0J3aWR0aCUzQTE1cHglM0JiYWNrZ3JvdW5kLXBvc2l0aW9uJTNBNTAlMjUlM0JiYWNrZ3JvdW5kLXNpemUlM0ExMXB4JTNCYmFja2dyb3VuZC1pbWFnZSUzQXVybCglMjJkYXRhJTNBaW1hZ2UlMkZzdmclMkJ4bWwlM0J1dGY4JTJDJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHdpZHRoJTNEJzE2JyUyMGhlaWdodCUzRCcxNiclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjg1JTIwMjg1JyUzRSUzQ3BhdGglMjBkJTNEJ00yODIlMjA3Ni41bC0xNC4yLTE0LjNhOSUyMDklMjAwJTIwMCUyMDAtMTMuMSUyMDBMMTQyLjUlMjAxNzQuNCUyMDMwLjMlMjA2Mi4yYTklMjA5JTIwMCUyMDAlMjAwLTEzLjIlMjAwTDMlMjA3Ni41YTklMjA5JTIwMCUyMDAlMjAwJTIwMCUyMDEzLjFsMTMzJTIwMTMzYTklMjA5JTIwMCUyMDAlMjAwJTIwMTMuMSUyMDBsMTMzLTEzM2E5JTIwOSUyMDAlMjAwJTIwMCUyMDAtMTN6JyUyMHN0eWxlJTNEJ2ZpbGwlM0ElMjUyMzY2NiclMkYlM0UlM0MlMkZzdmclM0UlMjIpJTNCYmFja2dyb3VuZC1yZXBlYXQlM0Fuby1yZXBlYXQlM0Jjb250ZW50JTNBJTIyJTIyIWltcG9ydGFudCUzQnRyYW5zaXRpb24lM0FhbGwlMjAuMnMlM0IlN0QlMEEuc3dpdGNoZXIlMjAuc2VsZWN0ZWQlMjBhLm9wZW4lM0FhZnRlciUyMCU3Qi13ZWJraXQtdHJhbnNmb3JtJTNBJTIwcm90YXRlKC0xODBkZWcpJTNCdHJhbnNmb3JtJTNBcm90YXRlKC0xODBkZWcpJTNCJTdEJTBBLnN3aXRjaGVyJTIwLnNlbGVjdGVkJTIwYSUzQWhvdmVyJTIwJTdCYmFja2dyb3VuZCUzQSUyM2ZmZiU3RCUwQS5zd2l0Y2hlciUyMC5vcHRpb24lMjAlN0Jwb3NpdGlvbiUzQXJlbGF0aXZlJTNCei1pbmRleCUzQTk5OTglM0Jib3JkZXItbGVmdCUzQTFweCUyMHNvbGlkJTIwJTIzY2NjJTNCYm9yZGVyLXJpZ2h0JTNBMXB4JTIwc29saWQlMjAlMjNjY2MlM0Jib3JkZXItYm90dG9tJTNBMXB4JTIwc29saWQlMjAlMjNjY2MlM0JiYWNrZ3JvdW5kLWNvbG9yJTNBJTIzZWVlJTNCZGlzcGxheSUzQW5vbmUlM0J3aWR0aCUzQTE3MXB4JTNCbWF4LWhlaWdodCUzQTE5OHB4JTNCLXdlYmtpdC1ib3gtc2l6aW5nJTNBY29udGVudC1ib3glM0ItbW96LWJveC1zaXppbmclM0Fjb250ZW50LWJveCUzQmJveC1zaXppbmclM0Fjb250ZW50LWJveCUzQm92ZXJmbG93LXklM0FhdXRvJTNCb3ZlcmZsb3cteCUzQWhpZGRlbiUzQiU3RCUwQS5zd2l0Y2hlciUyMC5vcHRpb24lMjBhJTIwJTdCY29sb3IlM0ElMjMwMDAlM0JwYWRkaW5nJTNBM3B4JTIwNXB4JTNCJTdEJTBBLnN3aXRjaGVyJTIwLm9wdGlvbiUyMGElM0Fob3ZlciUyMCU3QmJhY2tncm91bmQlM0ElMjNmZmYlM0IlN0QlMEEuc3dpdGNoZXIlMjAub3B0aW9uJTIwYS5zZWxlY3RlZCUyMCU3QmJhY2tncm91bmQlM0ElMjNmZmYlM0IlN0QlMEElMjNzZWxlY3RlZF9sYW5nX25hbWUlMjAlN0JmbG9hdCUzQSUyMG5vbmUlM0IlN0QlMEEubF9uYW1lJTIwJTdCZmxvYXQlM0ElMjBub25lJTIwIWltcG9ydGFudCUzQm1hcmdpbiUzQSUyMDAlM0IlN0QlMEEuc3dpdGNoZXIlMjAub3B0aW9uJTNBJTNBLXdlYmtpdC1zY3JvbGxiYXItdHJhY2slN0Itd2Via2l0LWJveC1zaGFkb3clM0FpbnNldCUyMDAlMjAwJTIwM3B4JTIwcmdiYSgwJTJDMCUyQzAlMkMwLjMpJTNCYm9yZGVyLXJhZGl1cyUzQTVweCUzQmJhY2tncm91bmQtY29sb3IlM0ElMjNmNWY1ZjUlM0IlN0QlMEEuc3dpdGNoZXIlMjAub3B0aW9uJTNBJTNBLXdlYmtpdC1zY3JvbGxiYXIlMjAlN0J3aWR0aCUzQTVweCUzQiU3RCUwQS5zd2l0Y2hlciUyMC5vcHRpb24lM0ElM0Etd2Via2l0LXNjcm9sbGJhci10aHVtYiUyMCU3QmJvcmRlci1yYWRpdXMlM0E1cHglM0Itd2Via2l0LWJveC1zaGFkb3clM0ElMjBpbnNldCUyMDAlMjAwJTIwM3B4JTIwcmdiYSgwJTJDMCUyQzAlMkMuMyklM0JiYWNrZ3JvdW5kLWNvbG9yJTNBJTIzODg4JTNCJTdEJTBBJTNDJTJGc3R5bGUlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnN3aXRjaGVyJTIwbm90cmFuc2xhdGUlMjIlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnNlbGVjdGVkJTIyJTNFJTBBJTNDYSUyMGhyZWYlM0QlMjIlMjMlMjIlMjBvbmNsaWNrJTNEJTIycmV0dXJuJTIwZmFsc2UlM0IlMjIlM0UlM0NpbWclMjBzcmMlM0QlMjIlMkYlMkZmcmVlZG8tc3BvcnQucnUlMkZ3cC1jb250ZW50JTJGcGx1Z2lucyUyRmd0cmFuc2xhdGUlMkZmbGFncyUyRjI0JTJGcnUucG5nJTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwYWx0JTNEJTIycnUlMjIlMjAlMkYlM0UlMjBSdXNzaWFuJTNDJTJGYSUzRSUwQSUzQyUyRmRpdiUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIyb3B0aW9uJTIyJTNFJTBBJTNDYSUyMGhyZWYlM0QlMjIlMjMlMjIlMjBvbmNsaWNrJTNEJTIyZG9HVHJhbnNsYXRlKCdydSU3Q2FyJyklM0JqUXVlcnkoJ2Rpdi5zd2l0Y2hlciUyMGRpdi5zZWxlY3RlZCUyMGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpJTNCcmV0dXJuJTIwZmFsc2UlM0IlMjIlMjB0aXRsZSUzRCUyMkFyYWJpYyUyMiUyMGNsYXNzJTNEJTIybnR1cmwlMjIlM0UlM0NpbWclMjBkYXRhLWd0LWxhenktc3JjJTNEJTIyJTJGJTJGZnJlZWRvLXNwb3J0LnJ1JTJGd3AtY29udGVudCUyRnBsdWdpbnMlMkZndHJhbnNsYXRlJTJGZmxhZ3MlMkYyNCUyRmFyLnBuZyUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIwd2lkdGglM0QlMjIyNCUyMiUyMGFsdCUzRCUyMmFyJTIyJTIwJTJGJTNFJTIwQXJhYmljJTNDJTJGYSUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTIwb25jbGljayUzRCUyMmRvR1RyYW5zbGF0ZSgncnUlN0N6aC1DTicpJTNCalF1ZXJ5KCdkaXYuc3dpdGNoZXIlMjBkaXYuc2VsZWN0ZWQlMjBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKSUzQnJldHVybiUyMGZhbHNlJTNCJTIyJTIwdGl0bGUlM0QlMjJDaGluZXNlJTIwKFNpbXBsaWZpZWQpJTIyJTIwY2xhc3MlM0QlMjJudHVybCUyMiUzRSUzQ2ltZyUyMGRhdGEtZ3QtbGF6eS1zcmMlM0QlMjIlMkYlMkZmcmVlZG8tc3BvcnQucnUlMkZ3cC1jb250ZW50JTJGcGx1Z2lucyUyRmd0cmFuc2xhdGUlMkZmbGFncyUyRjI0JTJGemgtQ04ucG5nJTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwYWx0JTNEJTIyemgtQ04lMjIlMjAlMkYlM0UlMjBDaGluZXNlJTIwKFNpbXBsaWZpZWQpJTNDJTJGYSUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTIwb25jbGljayUzRCUyMmRvR1RyYW5zbGF0ZSgncnUlN0NubCcpJTNCalF1ZXJ5KCdkaXYuc3dpdGNoZXIlMjBkaXYuc2VsZWN0ZWQlMjBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKSUzQnJldHVybiUyMGZhbHNlJTNCJTIyJTIwdGl0bGUlM0QlMjJEdXRjaCUyMiUyMGNsYXNzJTNEJTIybnR1cmwlMjIlM0UlM0NpbWclMjBkYXRhLWd0LWxhenktc3JjJTNEJTIyJTJGJTJGZnJlZWRvLXNwb3J0LnJ1JTJGd3AtY29udGVudCUyRnBsdWdpbnMlMkZndHJhbnNsYXRlJTJGZmxhZ3MlMkYyNCUyRm5sLnBuZyUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIwd2lkdGglM0QlMjIyNCUyMiUyMGFsdCUzRCUyMm5sJTIyJTIwJTJGJTNFJTIwRHV0Y2glM0MlMkZhJTNFJTNDYSUyMGhyZWYlM0QlMjIlMjMlMjIlMjBvbmNsaWNrJTNEJTIyZG9HVHJhbnNsYXRlKCdydSU3Q2VuJyklM0JqUXVlcnkoJ2Rpdi5zd2l0Y2hlciUyMGRpdi5zZWxlY3RlZCUyMGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpJTNCcmV0dXJuJTIwZmFsc2UlM0IlMjIlMjB0aXRsZSUzRCUyMkVuZ2xpc2glMjIlMjBjbGFzcyUzRCUyMm50dXJsJTIyJTNFJTNDaW1nJTIwZGF0YS1ndC1sYXp5LXNyYyUzRCUyMiUyRiUyRmZyZWVkby1zcG9ydC5ydSUyRndwLWNvbnRlbnQlMkZwbHVnaW5zJTJGZ3RyYW5zbGF0ZSUyRmZsYWdzJTJGMjQlMkZlbi5wbmclMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHdpZHRoJTNEJTIyMjQlMjIlMjBhbHQlM0QlMjJlbiUyMiUyMCUyRiUzRSUyMEVuZ2xpc2glM0MlMkZhJTNFJTNDYSUyMGhyZWYlM0QlMjIlMjMlMjIlMjBvbmNsaWNrJTNEJTIyZG9HVHJhbnNsYXRlKCdydSU3Q2ZyJyklM0JqUXVlcnkoJ2Rpdi5zd2l0Y2hlciUyMGRpdi5zZWxlY3RlZCUyMGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpJTNCcmV0dXJuJTIwZmFsc2UlM0IlMjIlMjB0aXRsZSUzRCUyMkZyZW5jaCUyMiUyMGNsYXNzJTNEJTIybnR1cmwlMjIlM0UlM0NpbWclMjBkYXRhLWd0LWxhenktc3JjJTNEJTIyJTJGJTJGZnJlZWRvLXNwb3J0LnJ1JTJGd3AtY29udGVudCUyRnBsdWdpbnMlMkZndHJhbnNsYXRlJTJGZmxhZ3MlMkYyNCUyRmZyLnBuZyUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIwd2lkdGglM0QlMjIyNCUyMiUyMGFsdCUzRCUyMmZyJTIyJTIwJTJGJTNFJTIwRnJlbmNoJTNDJTJGYSUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTIwb25jbGljayUzRCUyMmRvR1RyYW5zbGF0ZSgncnUlN0NkZScpJTNCalF1ZXJ5KCdkaXYuc3dpdGNoZXIlMjBkaXYuc2VsZWN0ZWQlMjBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKSUzQnJldHVybiUyMGZhbHNlJTNCJTIyJTIwdGl0bGUlM0QlMjJHZXJtYW4lMjIlMjBjbGFzcyUzRCUyMm50dXJsJTIyJTNFJTNDaW1nJTIwZGF0YS1ndC1sYXp5LXNyYyUzRCUyMiUyRiUyRmZyZWVkby1zcG9ydC5ydSUyRndwLWNvbnRlbnQlMkZwbHVnaW5zJTJGZ3RyYW5zbGF0ZSUyRmZsYWdzJTJGMjQlMkZkZS5wbmclMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHdpZHRoJTNEJTIyMjQlMjIlMjBhbHQlM0QlMjJkZSUyMiUyMCUyRiUzRSUyMEdlcm1hbiUzQyUyRmElM0UlM0NhJTIwaHJlZiUzRCUyMiUyMyUyMiUyMG9uY2xpY2slM0QlMjJkb0dUcmFuc2xhdGUoJ3J1JTdDaXQnKSUzQmpRdWVyeSgnZGl2LnN3aXRjaGVyJTIwZGl2LnNlbGVjdGVkJTIwYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSklM0JyZXR1cm4lMjBmYWxzZSUzQiUyMiUyMHRpdGxlJTNEJTIySXRhbGlhbiUyMiUyMGNsYXNzJTNEJTIybnR1cmwlMjIlM0UlM0NpbWclMjBkYXRhLWd0LWxhenktc3JjJTNEJTIyJTJGJTJGZnJlZWRvLXNwb3J0LnJ1JTJGd3AtY29udGVudCUyRnBsdWdpbnMlMkZndHJhbnNsYXRlJTJGZmxhZ3MlMkYyNCUyRml0LnBuZyUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIwd2lkdGglM0QlMjIyNCUyMiUyMGFsdCUzRCUyMml0JTIyJTIwJTJGJTNFJTIwSXRhbGlhbiUzQyUyRmElM0UlM0NhJTIwaHJlZiUzRCUyMiUyMyUyMiUyMG9uY2xpY2slM0QlMjJkb0dUcmFuc2xhdGUoJ3J1JTdDcHQnKSUzQmpRdWVyeSgnZGl2LnN3aXRjaGVyJTIwZGl2LnNlbGVjdGVkJTIwYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSklM0JyZXR1cm4lMjBmYWxzZSUzQiUyMiUyMHRpdGxlJTNEJTIyUG9ydHVndWVzZSUyMiUyMGNsYXNzJTNEJTIybnR1cmwlMjIlM0UlM0NpbWclMjBkYXRhLWd0LWxhenktc3JjJTNEJTIyJTJGJTJGZnJlZWRvLXNwb3J0LnJ1JTJGd3AtY29udGVudCUyRnBsdWdpbnMlMkZndHJhbnNsYXRlJTJGZmxhZ3MlMkYyNCUyRnB0LnBuZyUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIwd2lkdGglM0QlMjIyNCUyMiUyMGFsdCUzRCUyMnB0JTIyJTIwJTJGJTNFJTIwUG9ydHVndWVzZSUzQyUyRmElM0UlM0NhJTIwaHJlZiUzRCUyMiUyMyUyMiUyMG9uY2xpY2slM0QlMjJkb0dUcmFuc2xhdGUoJ3J1JTdDcnUnKSUzQmpRdWVyeSgnZGl2LnN3aXRjaGVyJTIwZGl2LnNlbGVjdGVkJTIwYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSklM0JyZXR1cm4lMjBmYWxzZSUzQiUyMiUyMHRpdGxlJTNEJTIyUnVzc2lhbiUyMiUyMGNsYXNzJTNEJTIybnR1cmwlMjBzZWxlY3RlZCUyMiUzRSUzQ2ltZyUyMGRhdGEtZ3QtbGF6eS1zcmMlM0QlMjIlMkYlMkZmcmVlZG8tc3BvcnQucnUlMkZ3cC1jb250ZW50JTJGcGx1Z2lucyUyRmd0cmFuc2xhdGUlMkZmbGFncyUyRjI0JTJGcnUucG5nJTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwYWx0JTNEJTIycnUlMjIlMjAlMkYlM0UlMjBSdXNzaWFuJTNDJTJGYSUzRSUzQ2ElMjBocmVmJTNEJTIyJTIzJTIyJTIwb25jbGljayUzRCUyMmRvR1RyYW5zbGF0ZSgncnUlN0NlcycpJTNCalF1ZXJ5KCdkaXYuc3dpdGNoZXIlMjBkaXYuc2VsZWN0ZWQlMjBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKSUzQnJldHVybiUyMGZhbHNlJTNCJTIyJTIwdGl0bGUlM0QlMjJTcGFuaXNoJTIyJTIwY2xhc3MlM0QlMjJudHVybCUyMiUzRSUzQ2ltZyUyMGRhdGEtZ3QtbGF6eS1zcmMlM0QlMjIlMkYlMkZmcmVlZG8tc3BvcnQucnUlMkZ3cC1jb250ZW50JTJGcGx1Z2lucyUyRmd0cmFuc2xhdGUlMkZmbGFncyUyRjI0JTJGZXMucG5nJTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB3aWR0aCUzRCUyMjI0JTIyJTIwYWx0JTNEJTIyZXMlMjIlMjAlMkYlM0UlMjBTcGFuaXNoJTNDJTJGYSUzRSUzQyUyRmRpdiUzRSUwQSUzQyUyRmRpdiUzRSUwQSUzQ3NjcmlwdCUzRSUwQWpRdWVyeSgnLnN3aXRjaGVyJTIwLnNlbGVjdGVkJykuY2xpY2soZnVuY3Rpb24oKSUyMCU3QmpRdWVyeSgnLnN3aXRjaGVyJTIwLm9wdGlvbiUyMGElMjBpbWcnKS5lYWNoKGZ1bmN0aW9uKCklMjAlN0JpZighalF1ZXJ5KHRoaXMpJTVCMCU1RC5oYXNBdHRyaWJ1dGUoJ3NyYycpKWpRdWVyeSh0aGlzKS5hdHRyKCdzcmMnJTJDJTIwalF1ZXJ5KHRoaXMpLmF0dHIoJ2RhdGEtZ3QtbGF6eS1zcmMnKSklN0QpJTNCaWYoIShqUXVlcnkoJy5zd2l0Y2hlciUyMC5vcHRpb24nKS5pcygnJTNBdmlzaWJsZScpKSklMjAlN0JqUXVlcnkoJy5zd2l0Y2hlciUyMC5vcHRpb24nKS5zdG9wKHRydWUlMkN0cnVlKS5kZWxheSgxMDApLnNsaWRlRG93big1MDApJTNCalF1ZXJ5KCcuc3dpdGNoZXIlMjAuc2VsZWN0ZWQlMjBhJykudG9nZ2xlQ2xhc3MoJ29wZW4nKSU3RCU3RCklM0IlMEFqUXVlcnkoJy5zd2l0Y2hlciUyMC5vcHRpb24nKS5iaW5kKCdtb3VzZXdoZWVsJyUyQyUyMGZ1bmN0aW9uKGUpJTIwJTdCdmFyJTIwb3B0aW9ucyUyMCUzRCUyMGpRdWVyeSgnLnN3aXRjaGVyJTIwLm9wdGlvbicpJTNCaWYob3B0aW9ucy5pcygnJTNBdmlzaWJsZScpKW9wdGlvbnMuc2Nyb2xsVG9wKG9wdGlvbnMuc2Nyb2xsVG9wKCklMjAtJTIwZS5vcmlnaW5hbEV2ZW50LndoZWVsRGVsdGEpJTNCcmV0dXJuJTIwZmFsc2UlM0IlN0QpJTNCJTBBalF1ZXJ5KCdib2R5Jykubm90KCcuc3dpdGNoZXInKS5jbGljayhmdW5jdGlvbihlKSUyMCU3QmlmKGpRdWVyeSgnLnN3aXRjaGVyJTIwLm9wdGlvbicpLmlzKCclM0F2aXNpYmxlJyklMjAlMjYlMjYlMjBlLnRhcmdldCUyMCElM0QlMjBqUXVlcnkoJy5zd2l0Y2hlciUyMC5vcHRpb24nKS5nZXQoMCkpJTIwJTdCalF1ZXJ5KCcuc3dpdGNoZXIlMjAub3B0aW9uJykuc3RvcCh0cnVlJTJDdHJ1ZSkuZGVsYXkoMTAwKS5zbGlkZVVwKDUwMCklM0JqUXVlcnkoJy5zd2l0Y2hlciUyMC5zZWxlY3RlZCUyMGEnKS50b2dnbGVDbGFzcygnb3BlbicpJTdEJTdEKSUzQiUwQSUzQyUyRnNjcmlwdCUzRSUwQSUzQ3N0eWxlJTNFJTBBJTIzZ29vZy1ndC10dCUyMCU3QmRpc3BsYXklM0Fub25lJTIwIWltcG9ydGFudCUzQiU3RCUwQS5nb29nLXRlLWJhbm5lci1mcmFtZSUyMCU3QmRpc3BsYXklM0Fub25lJTIwIWltcG9ydGFudCUzQiU3RCUwQS5nb29nLXRlLW1lbnUtdmFsdWUlM0Fob3ZlciUyMCU3QnRleHQtZGVjb3JhdGlvbiUzQW5vbmUlMjAhaW1wb3J0YW50JTNCJTdEJTBBLmdvb2ctdGV4dC1oaWdobGlnaHQlMjAlN0JiYWNrZ3JvdW5kLWNvbG9yJTNBdHJhbnNwYXJlbnQlMjAhaW1wb3J0YW50JTNCYm94LXNoYWRvdyUzQW5vbmUlMjAhaW1wb3J0YW50JTNCJTdEJTBBYm9keSUyMCU3QnRvcCUzQTAlMjAhaW1wb3J0YW50JTNCJTdEJTBBJTIzZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiUyMCU3QmRpc3BsYXklM0Fub25lIWltcG9ydGFudCUzQiU3RCUwQSUzQyUyRnN0eWxlJTNFJTBBJTBBJTNDZGl2JTIwaWQlM0QlMjJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQyJTIyJTNFJTNDJTJGZGl2JTNFJTBBJTNDc2NyaXB0JTNFJTBBZnVuY3Rpb24lMjBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdDIoKSUyMCU3Qm5ldyUyMGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCglN0JwYWdlTGFuZ3VhZ2UlM0ElMjAncnUnJTJDYXV0b0Rpc3BsYXklM0ElMjBmYWxzZSU3RCUyQyUyMCdnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQyJyklM0IlN0QlMEElM0MlMkZzY3JpcHQlM0UlM0NzY3JpcHQlMjBzcmMlM0QlMjIlMkYlMkZ0cmFuc2xhdGUuZ29vZ2xlLmNvbSUyRnRyYW5zbGF0ZV9hJTJGZWxlbWVudC5qcyUzRmNiJTNEZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQyJTIyJTNFJTNDJTJGc2NyaXB0JTNFJTBBJTBBJTBBJTNDc2NyaXB0JTNFJTBBZnVuY3Rpb24lMjBHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSUyMCU3QnZhciUyMGtleVZhbHVlJTIwJTNEJTIwZG9jdW1lbnQlNUInY29va2llJyU1RC5tYXRjaCgnKCU1RSU3QyUzQiklMjAlM0Znb29ndHJhbnMlM0QoJTVCJTVFJTNCJTVEKikoJTNCJTdDJTI0KScpJTNCcmV0dXJuJTIwa2V5VmFsdWUlMjAlM0YlMjBrZXlWYWx1ZSU1QjIlNUQuc3BsaXQoJyUyRicpJTVCMiU1RCUyMCUzQSUyMG51bGwlM0IlN0QlMEFmdW5jdGlvbiUyMEdUcmFuc2xhdGVGaXJlRXZlbnQoZWxlbWVudCUyQ2V2ZW50KSU3QnRyeSU3QmlmKGRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KSU3QnZhciUyMGV2dCUzRGRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KCklM0JlbGVtZW50LmZpcmVFdmVudCgnb24nJTJCZXZlbnQlMkNldnQpJTdEZWxzZSU3QnZhciUyMGV2dCUzRGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyklM0JldnQuaW5pdEV2ZW50KGV2ZW50JTJDdHJ1ZSUyQ3RydWUpJTNCZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2dCklN0QlN0RjYXRjaChlKSU3QiU3RCU3RCUwQWZ1bmN0aW9uJTIwZG9HVHJhbnNsYXRlKGxhbmdfcGFpciklN0JpZihsYW5nX3BhaXIudmFsdWUpbGFuZ19wYWlyJTNEbGFuZ19wYWlyLnZhbHVlJTNCaWYobGFuZ19wYWlyJTNEJTNEJycpcmV0dXJuJTNCdmFyJTIwbGFuZyUzRGxhbmdfcGFpci5zcGxpdCgnJTdDJyklNUIxJTVEJTNCaWYoR1RyYW5zbGF0ZUdldEN1cnJlbnRMYW5nKCklMjAlM0QlM0QlMjBudWxsJTIwJTI2JTI2JTIwbGFuZyUyMCUzRCUzRCUyMGxhbmdfcGFpci5zcGxpdCgnJTdDJyklNUIwJTVEKXJldHVybiUzQnZhciUyMHRlQ29tYm8lM0J2YXIlMjBzZWwlM0Rkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JyklM0Jmb3IodmFyJTIwaSUzRDAlM0JpJTNDc2VsLmxlbmd0aCUzQmklMkIlMkIpaWYoc2VsJTVCaSU1RC5jbGFzc05hbWUuaW5kZXhPZignZ29vZy10ZS1jb21ibycpISUzRC0xKSU3QnRlQ29tYm8lM0RzZWwlNUJpJTVEJTNCYnJlYWslM0IlN0RpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpJTNEJTNEbnVsbCU3QyU3Q2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQyJykuaW5uZXJIVE1MLmxlbmd0aCUzRCUzRDAlN0MlN0N0ZUNvbWJvLmxlbmd0aCUzRCUzRDAlN0MlN0N0ZUNvbWJvLmlubmVySFRNTC5sZW5ndGglM0QlM0QwKSU3QnNldFRpbWVvdXQoZnVuY3Rpb24oKSU3QmRvR1RyYW5zbGF0ZShsYW5nX3BhaXIpJTdEJTJDNTAwKSU3RGVsc2UlN0J0ZUNvbWJvLnZhbHVlJTNEbGFuZyUzQkdUcmFuc2xhdGVGaXJlRXZlbnQodGVDb21ibyUyQydjaGFuZ2UnKSUzQkdUcmFuc2xhdGVGaXJlRXZlbnQodGVDb21ibyUyQydjaGFuZ2UnKSU3RCU3RCUwQWlmKEdUcmFuc2xhdGVHZXRDdXJyZW50TGFuZygpJTIwISUzRCUyMG51bGwpalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpJTIwJTdCdmFyJTIwbGFuZ19odG1sJTIwJTNEJTIwalF1ZXJ5KCdkaXYuc3dpdGNoZXIlMjBkaXYub3B0aW9uJykuZmluZCgnaW1nJTVCYWx0JTNEJTIyJyUyQkdUcmFuc2xhdGVHZXRDdXJyZW50TGFuZygpJTJCJyUyMiU1RCcpLnBhcmVudCgpLmh0bWwoKSUzQmlmKHR5cGVvZiUyMGxhbmdfaHRtbCUyMCElM0QlMjAndW5kZWZpbmVkJylqUXVlcnkoJ2Rpdi5zd2l0Y2hlciUyMGRpdi5zZWxlY3RlZCUyMGEnKS5odG1sKGxhbmdfaHRtbC5yZXBsYWNlKCdkYXRhLWd0LWxhenktJyUyQyUyMCcnKSklM0IlN0QpJTNCJTBBJTNDJTJGc2NyaXB0JTNFJTBB