Content-Type: multipart/related; start=; boundary=----------pPKmZWKAKX6FyFLrWarDxR Content-Location: http://www.dzzzr.org.ua/forum/showthread.php?t=497 Subject: =?utf-8?Q?DozoR=20Classic.=20=D0=98=D0=B3=D1=80=D0=B0=201=20=D0=BD=D0=BE=D1=8F=D0=B1=D1=80=D1=8F=202008=20=D0=B3=D0=BE=D0=B4=D0=B0=20-=20"=D0=A0=D0=B0=D0=B7=D0=B4=D0=B2=D0=BE=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BB=D0=B8=D1=87=D0=BD=D0=BE=D1=81=D1=82=D0=B8"=20-=20=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=20DozoR=20-=20=D0=A5=D0=B0=D1=80=D1=8C=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=showthread.htm Content-Type: text/html; charset=windows-1251; name=showthread.htm Content-ID: Content-Location: http://www.dzzzr.org.ua/forum/showthread.php?t=497 Content-Transfer-Encoding: 8bit DozoR Classic. Игра 1 ноября 2008 года - "Раздвоение личности" - Проект DozoR - Харьков
 

Вернуться   Проект DozoR - Харьков > Игры > Архив Игр
Добро пожаловать, M a X
Ваш последний визит: 22.06.2009 в 18:12
Личные сообщения: Новых 0, всего 0.
Новые сообщения на форуме
Темы за последние сутки

Голосование: Пожалуйста, оцените эту игру.
Открытый опрос: другие пользователи будут видеть, кто как проголосовал.
Опции опроса
Пожалуйста, оцените эту игру.

Ответ
 
Опции темы Поиск в этой теме Оценить тему Опции просмотра
Старый 07.11.2008, 11:20   #1
zauropod
The Boondock Saint
 
Аватар для zauropod
 
Регистрация: 14.04.2008
Адрес: 80502553457
Сообщений: 143
Вес репутации: 4 zauropod юный флудераст
Отправить сообщение для zauropod с помощью ICQ
По умолчанию DozoR Classic. Игра 1 ноября 2008 года - "Раздвоение личности"

Игра «Раздвоение личности»

Задание 1 - «Флешмоб»

Получено пять одинаковых телеграмм:

"ПЕТР ОСЛИКОВ ПРОСТОЙ МАССОВИК РЕССПЕКТ КУКЛОЧЕВУ ЦК ГРАМЫКА"
Удалось выяснить места отправки:
1. Ул. Ахсарова, остановка "маг. Тополёк"
2. Ул. Чкалова, остановка "ул. Чкалова"
3. Ул. Блюхера, остановка "Фармацевтическая академия"
4. Пр-т. Тракторостроителей, Трамвайная остановка "Салтовское шоссе"
5. Пр-т Гагарина, остановка "Ул. Зерновая"
Вот думаем, разбираться самим или высылать на места бригады?

# Два кода.

Коды: R9D10 R3D45

Подсказка 1 (00:30:00)

Эмоционально

Подсказка 2 (01:00:00)

улицаклочковскаяпроспектмосковскийсупермаркетывост орг

Анаграмма 6 слов "УлицаКлочковскаяПроспектМосковскийСупермаркетыВос торг". В помощь решения анаграммы даны 5 подсказок. На остановках были прописаны собранные слова "Улица" "Клочковская" "Проспект" "Московский" "Супермаркеты".
На парковках супермаркетов агентами выдавался сантиметр с прописаным кодом и реквизит к одному из уровней.
Реквизит выдавался на Восторгах для того что бы разные таблицы оказались в разных экипажах, что добавило бы при прохождении дальнейших уровней необходимости в дополнительной координации.



Задание 2 - «Комсомольское/Алейхема»

- У нас в среду был день рождения
- мир вам
- Да ладно, мы ж не на улице…
- Это псевдоним, хоть и с ошибкой
- в 87-ой раз повторяю - мы не такие
- в 50-ый отвечаю - мне Рабинович рассказывал.

# КО-2 + КО-1. Код один. Ключ+замок: ключи - 4 части, замок - пять частей. Краска + маркер.

Коды: D4R29

Подсказка 1 (00:30:00)

- 29 октября нам исполнилось бы 90 лет.
-мир вам традиционная форма приветствия

Подсказка 2 (01:00:00)

- Я уже не пионер, но ещё не коммунист.
- Поздравляю Алейхем, вот вам шолом на голову.

ул. Шолом-Алейхема, 50 : "мир вам псевдоним Рабинович" - вывод на Шолом-Алейхема. 50 - на 50.
Комсомольское шоссе, 87: "в среду был" - 29 октября. "У нас" - это не один человек, "29 октября день рождения" - комсомола. 87 - на 87.
На Шолом-Алейхема команды собирали 5 частей "матрицы", а на Комсомольском шоссе - 4 части ключа. Вычёркивая "змейкой" собранные коды из мартицы получался единственно верный ответ.



Задание 3 - «Кибальчича/Индустриальная»

- Скоро на экранах ремэйк мультфильма Гайдара
- Покупайте только у нас Azul, Burdeos, Verde
- теперь 27 мальчиков-киборгов борется с буржуинством…
- а также группы пропагандирующие стиль музыки Nine Inch Nails Stabbing Westward Unheilig

# КО-2 + КО-4. Восемь кодов краской.

Коды: D5R56 34DR9 R345D D98R1 67RD1 RD239 D908R 45D2R

Подсказка 1 (00:30:00)

- этот мальчиш - не плохиш!
- на станции, не доезжая завода, не плохая плитка.

Подсказка 2 (01:00:00)

- Кабиль чачи
- плитка со вкусом индустрии.

Кибальчича, 27: Гайдар, буржуинство - указание на произведение "Сказка про военную тайну"; мальчики-киборги - на кибальчиша; 27 - на 27. (можно догадаться можно гуглить)
перекрёсток Индустриальная/Плиточная: Azul, Burdeos, Verde - производители плитки; Nine Inch Nails Stabbing Westward Unheilig - группы пропагандирующие Industrial.
В поле - простой поиск, коды 4 у поля 1 и 4 у поля 2



Задание 4 - «Биологический/Чапаева»

Захотелось мне как то почитать, и тут у меня я и спрашиваю:
- Читал, как красный командир повстречался с русским полководцем?
- Неа, собраюсь прочитать про это на последних страницах журнала «Наука и Жизнь»... И пойти домой по привычке.
При этом мы и не подозревали, как у нас много общего, и что только это нас и объединяет, но я бы вычеркнул это из своей жизни

# КО-2 +КО-2. Два составных кода. По 14 частей маркером на объекте. За каждый неправильный код - 10 минут штрафа.

Коды: D917R D423R

Подсказка 1 (00:30:00)

Я задумался при чтении и в голове начали витать мысли:
- а что там в журнале про Петьку было?
- ну да, в конце-то концов, там и про Аристотеля, и Линнея, и Быстрова, и Майра что то было, и про железную дорогу.

Подсказка 2 (01:00:00)

- Слыхал, что в четверг в ХАТОБе Ефремов выделывал? Ну прям операция "Летнее наступление Красной Армии в 1944 году"!
- Последний логический переезд через биорельсы

ул. Чапаева х ул. Багратиона + пер. Биологический, 18
Красный командир - Чапаев, Русский полководец - Багратион. - пересечение ул. Чапаева с ул. Багратиона.
Жизнь - Био+ Наука "логия" + А я по шпалам (пойду домой по привычке) - В конце ул.Биологической на пересечении с железной дорогой были метки выводящие на объект поиска.
Полевая логика: 14 кодов (символов) у поля 1 + 14 кодов (символов) у поля 2. 4 символа по обоим объектам были одинаковыми, что и было необходимо обнаружить, и на что указывалось в задании ("у нас много общего, и что только это нас и объединяет, но я бы вычеркнул это из своей жизни").
У обоих полей в реквизите были 2 листка с символами, на которых при выделении этих символов получалось 2 кода (по одному у каждого поля)



Задание 5 - «Кузнечный/Артема»






Их соединяет 335а

# КО-2 + КО-2. По пять частей на объекте. Маркер + Краска. За каждый неправильный код - 10 минут штрафа.

Коды: R99D9

Подсказка 1 (00:30:00)

335А - уже не электричка, но ещё не скорый.

Подсказка 2 (01:00:00)

- Вакула был ПЕРвым
- Федор Сергеев - 39

На карте Питера и Днепропетровска указаны объекты с аналогичными Харьковским адресами. "335А" - поезд Санкт-Петербург - Днепропетровск - указание на нужные города.
Полевая логика: Ул. Артёма: 5 явных кодов с индексами года над кодом.
пер. Кузнечный: 5 подсказок выводящие на символ Олимпийских игр 1980 года - Мишку.
Правильным ответом был код с индексом 1980



Задание 6 - «Олимпийская»

У меня все мышцы болят. К моему второму я пришли все китайские дети удачи и они играют.

Уважайте противника.

# КО-3. 10 кодов краской. Рекомендуем отправлять более одного экипажа. На выполнение задания 2 часа.

Коды: R123D DR984 D3R29 76R9D 5D82R 12D3R DR296 45D9R R83D1 23DR1

Подсказка 1 (00:30:00)

Добро пожаловать Бэй-Бэй, Цзин-Цзин, Хуань-Хуань, Ин-Ин и Ни-Ни!

Подсказка 2 (01:00:00)

Этим летом весь мир играл в Пекине. Именно столько талисманов можно было там встретить.

"китайские дети удачи игр(а,ы)" - достаточно для гугла, вывод на олимпиаду. "У меня все мышцы болят" - указание на спорт; "все" (китайские дети удачи) - 5.
Мегапоиск, 10 кодов.



Задание 7 - «Власенко/Энтузиастов»

- Я любил слушать только валерия: в этом маскараде песен, я-дерево, увидимся за пять минут до первых, с ног до головы. Хоть он и противный.
- А я, в отличии от него, любил миксовать: … Нам нет преград ни в море ни на суше,…
- Он хоть и противный...
- И подборку: Дезертиры, анархисты Уркаганы, матросня Зарубили шашкой Петьку Гады подлые, садисты Если долго смотреть в одну точку, То скоро из-за угла Он появится снова и снова Что нужно нам? Шоссе полоска узкая, Да запчастей заветный магазин.

# КО-2 + КО-2. Два кода. Два ключа + два замка. Маркер. За каждый неправильный код - 10 минут штрафа.

Коды: DR347 D433R

Подсказка 1 (00:30:00)

- Я слушаю Валерия - за пять минут до первых. Хоть он и противный.
- А я марш, переплетающийся с транспортной музыкой.

Подсказка 2 (01:00:00)

- в салонке
- транспортный EN-туз и астов

Власенко, 5: "валерий в этом маскараде песен, я-дерево, увидимся за пять минут до первых, с ног до головы" - вывод на Валерия Власенко. Кол-во песен - 5; "Хоть он и противный" - напротив.
Перекрёсток Энтузиастов/Транспортная: "Нам нет преград ни в море ни на суше" - марш Энтузиастов; нагугленные песни Паравоз, Трамвай и Автомобили - указание на транспортную. "миксовать" - на перекрёсток.
Полевая логика: Власенко - 2 символа DR внутри квадрата, DR внутри куда.
энтузиастов/транспортная - 2 кода.
Каждый код состоит из 2 квадратов/кубов чисел.
Квадрат : dr[115649] =dr[34*34; 7*7]=dr347
Куб: d[7950727]r=d[43*43*43; 3*3*3]r=d433r



Задание 8 - «Московский/Оренбургская»

Алфавит, в две шеренги стройся. Занять круговую оборону!

а в э д ё с в н л ц ю о н э щ
н о п я р у п е э ж н б а б ы
я ы х ч х н в з с г о к п ч н
б е к ё я л д ё с р г т н э щ
ю у м л р н я г у б с ю а к ы
т ж о д ё п ч х н е ш ъ п ч н
б е к р г т я э у в н л г е р
ю у м б л ю д и х п ц э т а м
т ж о е ш ъ п з ч в з с ф ж и


а в э ё я л б е к н э щ в н п
н м п л о н ю с м а к ы х о ч
я ы х д ё п т ж о п ч н з ё с
г е р ц ю о в н л д ё с б г о
т в м ж с б п к э я и у ж й р
ф ж и г о к в з с ч х н ю ц т
б и к л ё д а а в т м и ш б о
г п о л р з в о ё ь с о и п г
ж е р с н в н х з ш ъ р к о ж

Я сегодня буду сорока-восьминожка
А я Би-Дуал

# КО-2 + КО-1. Два кода в неявном виде. Используйте параметры от меньшего к большему.

Коды: R6D12 R7D14

Подсказка 1 (00:30:00)

А для тех, кто умеет считать до 33 игра в чёт-нечет.

01 03 31 05 07 19 03 15 13 24 32 16 15 31 27
15 16 17 33 18 21 17 06 31 08 15 02 01 02 29
33 29 23 25 23 15 03 09 19 04 16 12 17 25 15
02 06 12 07 33 13 05 07 19 18 04 20 15 31 27
32 21 14 13 18 15 33 04 21 02 19 32 01 12 29
20 08 16 05 07 17 25 23 15 06 26 28 17 25 15
02 06 12 18 04 20 33 31 21 03 15 13 04 06 18
32 21 14 02 13 32 05 10 23 17 24 31 20 01 14
20 08 16 06 26 28 17 09 25 03 09 19 22 08 10


01 03 31 07 33 13 02 06 12 15 31 27 03 15 17
15 14 17 13 16 15 32 19 14 01 12 29 23 16 25
33 29 23 05 07 17 20 08 16 17 25 15 09 07 19
04 06 18 24 32 16 03 15 13 05 07 19 02 04 16
20 03 14 08 19 02 17 12 31 33 10 21 08 11 18
22 08 10 04 16 12 03 09 19 25 23 15 32 24 20
02 10 12 13 07 05 01 01 03 20 14 10 26 02 16
04 17 16 13 18 09 03 16 07 30 19 16 10 17 04
08 06 18 19 15 03 15 23 09 26 28 18 12 16 08

Подсказка 2 (01:00:00)

01 03 31 07 33 13 02 06 12 15 31 27 03 15 17
15 14 17 13 16 15 32 19 14 01 12 29 23 16 25
33 29 23 05 07 17 20 08 16 17 25 15 09 07 19
04 06 18 24 32 16 03 15 13 05 07 19 02 04 16
20 03 14 08 19 02 17 12 31 33 10 21 08 11 18
22 08 10 04 16 12 03 09 19 25 23 15 32 24 20
02 10 12 13 07 05 01 01 03 20 14 10 26 02 16
04 17 16 13 18 09 03 16 07 30 19 16 10 17 04
08 06 18 19 15 03 15 23 09 26 28 18 12 16 08


"Алфавит, в две шеренги стройся" - заменить буквы в таблицах, разбив алфавит на 1 и 2 (первый-второй); "Занять круговую оборону!" - обратить внимание на 1-цу окружённую 2-ми или наоборот. Затем нужно было "окружённые" символы соотнести с соответствующей буквой таблиц задания.
"Я сегодня буду сорока-восьминожка" - 48, "А я Би-Дуал" - 22.
Подсказка: тоже представление через чёт и нечет (уже переведённое). "считать до 33" - указание, что цифра порядок буквы.
Полевая логика: Оренбуржская - нарисован круг Диаметром 12см (у команд есть реквизит - сантиметр) и радиусом 6см. Код R6D12
Московский проспект - колёсный диск 14 дюймов.Код R7D14.



Задание 9 - «Раллийка»

- Застолблю ка я пару мест.
- Каких?
- фяпыйнбрйзфгзбзжзиляпчякяпъаякйн
- а второе?
- дкзжяпнбясдфмзцдрйяю
- Соласен. +1

# КО-2. Код один. 10 частей. Маркер. За каждый неправильный код - 10 минут штрафа.

Коды: 78DR3

Подсказка 1 (00:30:00)

Занятная арифметика:
а + 1 = б

Подсказка 2 (01:00:00)

Задание выполняли параллельно: техник Елизаров и Харьковская рыбаловная дивизия.

Ралийка:
1) Экипаж
1. Харьковских Дивизий Х Маршала Рыбалко
2. Богдана Хмельницкого Х Московский проспект
3. Трактора Х Немышлянская
4. Немышлянская Х Коммуны
5. Маршала Жукова Х Ак. Юрьева

2) Экипаж
1. Елизарова Х Техническая
2. Новый быт Х Елизарова
3. Ленинградская Х Черниговская
4. Муранова Х Социалистическая
5. Социалистическая Х Елизарова

На указанных перекрёстках на столбах были указаны:
1й экипаж - коды
2й жкипаж - маски кодов [- - + - -] указывающие на символ необходимый для финишного кода.
__________________
oh yes, I have to find my path
no less, walk on earth, water, and fire
the elements compose a magnum opus
my modus operandi is amalgam
zauropod вне форума Добавить отзыв для zauropod Пожаловаться на это сообщение   Ответить с цитированием Мульти-цитирование этого сообщения Быстрый ответ на это сообщение
Ответ


Быстрый ответ
Сообщение:
Убрать форматирование текста
Полужирный
Курсив
Подчёркнутый

Вставить рисунок
Вставить тег цитаты [QUOTE] вокруг выделенного текста
 
Уменьшить размер
Увеличить размер
Опции

Здесь присутствуют: 1 (пользователей: 1 , гостей: 0)
M a X

Ваши права в разделе
Вы не можете создавать темы
Вы можете отвечать на сообщения
Вы можете прикреплять файлы
Вы можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 09:51.
Выход M a X



Design By: Miner Skinz.com
vBulletin® Version 3.6.8.
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Integrated by BBpixel Team 2009 :: jvbPlugin R1013.368.1

Перевод: zCarot
------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline Content-Type: image/gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/misc/bg.gif Content-Transfer-Encoding: Base64 R0lGODlhMgAyAJEAAFFRUUZGRkxMTAAAACH5BAAAAAAALAAAAAAyADIAAAL/jI4Q hqfcXnNrCpngNSpy3XXZ5pGjaYopJKotCy7aVnl1dlM5jQRq/zv4ZoKhxTjx6WYP pmzShD5tq5OLcaVYYdrRLxRDkb6fngVDlRLRuMZ6x1Of4WyyGFyy68Oo1/bflYXj tBNlQ0gIRITkFlTkyAi0pIZIaUnlF8jVh7UpuJcXBuoF8WY6dypnpprW2sZ6V0Ya SjsLWKV5mxlbODV4+dsaKQRZvFg8eQicHNy2+9ypG51rqzVqLVqKug2rwy30/erq DXs9ll2LXcLZhesOrRzfzEwf93iMf2SsX284T1MJ07R3A+Gxi4XQHJ5qqcbZEwex IURyDuugq3YuXUZpRu0MftrUz1fIXiQV6cuXZF/KkQH/+fPm0ZNMjgkvqsO4sEg4 ihMf8pTIM6jPhwpl3Ty6kRrBjgWbymO5DCCrYfdOWk15rAAAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_global.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_global.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_global.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qKgoqIEhhbmRsZSBGaXJlYnVnIGNh bGxzIHdoZW4gRmlyZWJ1ZyBpcyBub3QgYXZhaWxhYmxlIChnZXRmaXJlYnVnLmNv bSkKKi8KaWYgKCF3aW5kb3cuY29uc29sZSB8fCAhY29uc29sZS5maXJlYnVnKQp7 Cgl3aW5kb3cuY29uc29sZSA9IHt9OwoJdmFyIG5hbWVzID0gWyJsb2ciLCAiZGVi dWciLCAiaW5mbyIsICJ3YXJuIiwgImVycm9yIiwgImFzc2VydCIsICJkaXIiLCAi ZGlyeG1sIiwgImdyb3VwIiwgImdyb3VwRW5kIiwgInRpbWUiLCAidGltZUVuZCIs ICJjb3VudCIsICJ0cmFjZSIsICJwcm9maWxlIiwgInByb2ZpbGVFbmQiXTsKCWZv ciAodmFyIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyArK2kpIHdpbmRvdy5jb25z b2xlW25hbWVzW2ldXSA9IGZ1bmN0aW9uKCkge307Cn0KCi8qKgoqIEhhbmRsZSBZ VUkgY3VzdG9tIGV2ZW50IGNhbGxzIHdoZW4gWVVJIGlzIG5vdCBhdmFpbGFibGUg KGNsaWVudHNjcmlwdC95dWkveWFob28tZG9tLWV2ZW50LmpzKQoqLwppZiAodHlw ZW9mIFlBSE9PID09ICJ1bmRlZmluZWQiKQp7CglmdW5jdGlvbiBudWxsX2V2ZW50 KCkgeyB0aGlzLmZpcmUgPSBmdW5jdGlvbigpIHt9OyB0aGlzLnN1YnNjcmliZSA9 IGZ1bmN0aW9uKCkge307IH07Cn0KCi8qKgoqIFNldHVwIFZhcmlhYmxlcwoqCiog QHZhcglzdHJpbmcJU0VTU0lPTlVSTCAtIHN0b3JlcyB0aGUgc2Vzc2lvbiBVUkwK KiBAdmFyCWFycmF5CXZicGhyYXNlIC0gc3RvcmVzIHRleHQgcGhyYXNlcwoqIEB2 YXIJYXJyYXkJdkJfRWRpdG9yIC0gYXJyYXkgb2YgdkJfVGV4dF9FZGl0b3Igb2Jq ZWN0cwoqIEB2YXIJYm9vbGVhbglpZ25vcmVxdW90ZWNoYXJzIC0gaWdub3JlIGNo YXJhY3RlcnMgaW5zaWRlIFtxdW90ZV0gdGFncyBmb3IgbWVzc2FnZSBsZW5ndGgg Y2hlY2sKKiBAdmFyCWludGVnZXIJcGFnZW5hdmNvdW50ZXIgLSBjb3VudHMgdGhl IG51bWJlciBvZiBwYWdlbmF2IGluc3RhbmNlcyBlbmNvdW50ZXJlZCBzbyBmYXIK KiBAdmFyCWJvb2xlYW4JaXNfcmVnZXhwIC0gZG9lcyB3aW5kb3cucmVnRXhwIGV4 aXN0PyAtIENhdGNoIGVycm9ycyB3aXRoIGxlc3MgY2FwYWJsZSBicm93c2Vycwoq IEB2YXIJYm9vbGVhbglBSkFYX0NvbXBhdGlibGUgLSBkb2VzIHRoZSBjdXJyZW50 IGJyb3dzZXIgc3VwcG9ydCBBSkFYPwoqIEB2YXIJc3RyaW5nCXBvaW50ZXJfY3Vy c29yIC0gaGVscCBvdXQgb2xkIHZlcnNpb25zIG9mIElFIHRoYXQgZG9uJ3QgdW5k ZXJzdGFuZCBzdHlsZS5jdXJzb3IgPSBwb2ludGVyCiovCnZhciBTRVNTSU9OVVJM ICAgICAgID0gKHR5cGVvZihTRVNTSU9OVVJMKSA9PSAidW5kZWZpbmVkIiA/ICIi IDogU0VTU0lPTlVSTCk7CnZhciB2YnBocmFzZSAgICAgICAgID0gKHR5cGVvZih2 YnBocmFzZSkgPT0gInVuZGVmaW5lZCIgPyBuZXcgQXJyYXkoKSA6IHZicGhyYXNl KTsKdmFyIHZCX0VkaXRvciAgICAgICAgPSBuZXcgQXJyYXkoKTsKdmFyIGlnbm9y ZXF1b3RlY2hhcnMgPSBmYWxzZTsKdmFyIHBhZ2VuYXZjb3VudGVyICAgPSAwOwp2 YXIgaXNfcmVnZXhwICAgICAgICA9ICh3aW5kb3cuUmVnRXhwKSA/IHRydWUgOiBm YWxzZTsKdmFyIEFKQVhfQ29tcGF0aWJsZSAgPSBmYWxzZTsKdmFyIHBvaW50ZXJf Y3Vyc29yICAgPSAoaXNfaWUgPyAnaGFuZCcgOiAncG9pbnRlcicpOwoKLyoqCiog RGVmaW5lIHRoZSBicm93c2VyIGxvYWRpbmcgdGhlIHBhZ2UKKgoqIEB2YXIJc3Ry aW5nCXVzZXJBZ2VudCBVc2VyYWdlbnQgc3RyaW5nCiogQHZhcglib29sZWFuCWlz X29wZXJhICBPcGVyYQoqIEB2YXIJYm9vbGVhbglpc19zYWYgICAgU2FmYXJpCiog QHZhcglib29sZWFuCWlzX3dlYnR2ICBXZWJUVgoqIEB2YXIJYm9vbGVhbglpc19p ZSAgICAgSW50ZXJuZXQgRXhwbG9yZXIKKiBAdmFyCWJvb2xlYW4JaXNfaWU0ICAg IEludGVybmV0IEV4cGxvcmVyIDQKKiBAdmFyCWJvb2xlYW4JaXNfaWU3ICAgIElu dGVybmV0IEV4cGxvcmVyIDcKKiBAdmFyCWJvb2xlYW4JaXNfcHMzICAgIFBsYXlz dGF0aW9uIDMKKiBAdmFyCWJvb2xlYW4JaXNfbW96ICAgIE1vemlsbGEgLyBGaXJl Zm94IC8gQ2FtaW5vCiogQHZhcglib29sZWFuCWlzX2tvbiAgICBLb25xdWVyb3IK KiBAdmFyCWJvb2xlYW4JaXNfbnMgICAgIE5ldHNjYXBlCiogQHZhcglib29sZWFu CWlzX25zNCAgICBOZXRzY2FwZSA0CiogQHZhcglib29sZWFuCWlzX21hYyAgICBD bGllbnQgaXMgcnVubmluZyBNYWNPUwoqLwp2YXIgdXNlckFnZW50ID0gbmF2aWdh dG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpOwp2YXIgaXNfb3BlcmEgID0gKCh1 c2VyQWdlbnQuaW5kZXhPZignb3BlcmEnKSAhPSAtMSkgfHwgKHR5cGVvZih3aW5k b3cub3BlcmEpICE9ICd1bmRlZmluZWQnKSk7CnZhciBpc19zYWYgICAgPSAoKHVz ZXJBZ2VudC5pbmRleE9mKCdhcHBsZXdlYmtpdCcpICE9IC0xKSB8fCAobmF2aWdh dG9yLnZlbmRvciA9PSAnQXBwbGUgQ29tcHV0ZXIsIEluYy4nKSk7CnZhciBpc193 ZWJ0diAgPSAodXNlckFnZW50LmluZGV4T2YoJ3dlYnR2JykgIT0gLTEpOwp2YXIg aXNfaWUgICAgID0gKCh1c2VyQWdlbnQuaW5kZXhPZignbXNpZScpICE9IC0xKSAm JiAoIWlzX29wZXJhKSAmJiAoIWlzX3NhZikgJiYgKCFpc193ZWJ0dikpOwp2YXIg aXNfaWU0ICAgID0gKChpc19pZSkgJiYgKHVzZXJBZ2VudC5pbmRleE9mKCdtc2ll IDQuJykgIT0gLTEpKTsKdmFyIGlzX2llNyAgICA9ICgoaXNfaWUpICYmICh1c2Vy QWdlbnQuaW5kZXhPZignbXNpZSA3LicpICE9IC0xKSk7CnZhciBpc19wczMgICAg PSAodXNlckFnZW50LmluZGV4T2YoJ3BsYXlzdGF0aW9uIDMnKSAhPSAtMSk7CnZh ciBpc19tb3ogICAgPSAoKG5hdmlnYXRvci5wcm9kdWN0ID09ICdHZWNrbycpICYm ICghaXNfc2FmKSk7CnZhciBpc19rb24gICAgPSAodXNlckFnZW50LmluZGV4T2Yo J2tvbnF1ZXJvcicpICE9IC0xKTsKdmFyIGlzX25zICAgICA9ICgodXNlckFnZW50 LmluZGV4T2YoJ2NvbXBhdGlibGUnKSA9PSAtMSkgJiYgKHVzZXJBZ2VudC5pbmRl eE9mKCdtb3ppbGxhJykgIT0gLTEpICYmICghaXNfb3BlcmEpICYmICghaXNfd2Vi dHYpICYmICghaXNfc2FmKSk7CnZhciBpc19uczQgICAgPSAoKGlzX25zKSAmJiAo cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pID09IDQpKTsKdmFyIGlzX21h YyAgICA9ICh1c2VyQWdlbnQuaW5kZXhPZignbWFjJykgIT0gLTEpOwoKLyoqCiog V29ya2Fyb3VuZCBmb3IgaGVpbm91cyBJRSBidWcgLSBhZGQgc3BlY2lhbCB2Qmxl bmd0aCBwcm9wZXJ0eSB0byBhbGwgc3RyaW5ncwoqIFRoaXMgbWV0aG9kIGlzIGFw cGxpZWQgdG8gQUxMIHN0cmluZyBvYmplY3RzIGF1dG9tYXRpY2FsbHkKKgoqIEBy ZXR1cm4JaW50ZWdlcgoqLwpTdHJpbmcucHJvdG90eXBlLnZCbGVuZ3RoID0gZnVu Y3Rpb24oKQp7CglyZXR1cm4gKGlzX2llICYmIHRoaXMuaW5kZXhPZigiXG4iKSAh PSAtMSkgPyB0aGlzLnJlcGxhY2UoL1xyP1xuL2csICJfIikubGVuZ3RoIDogdGhp cy5sZW5ndGg7Cn0KCi8qKgoqIE92ZXJyaWRlcyBJRSdzIG9yaWdpbmFsIFN0cmlu Zy5wcm90b3R5cGUuc3Vic3RyIHRvIGFjY2VwdCBuZWdhdGl2ZSB2YWx1ZXMKKgoq IEBwYXJhbQlpbnRlZ2VyCVN1YnN0cmluZyBzdGFydCBwb3NpdGlvbgoqIEBwYXJh bQlpbnRlZ2VyCVN1YnN0cmluZyBsZW5ndGgKKgoqIEByZXR1cm4Jc3RyaW5nCiov CmlmICgiMTIzNCIuc3Vic3RyKC0yLCAyKSA9PSAiMTIiKSAvLyAod2hpY2ggd291 bGQgYmUgaW5jb3JyZWN0KQp7CglTdHJpbmcucHJvdG90eXBlLnN1YnN0cl9vcmln ID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHI7CgoJU3RyaW5nLnByb3RvdHlwZS5z dWJzdHIgPSBmdW5jdGlvbihzdGFydCwgbGVuZ3RoKQoJewoJCWlmICh0eXBlb2Yo bGVuZ3RoKSA9PSAidW5kZWZpbmVkIikKCQl7CgkJCXJldHVybiB0aGlzLnN1YnN0 cl9vcmlnKChzdGFydCA8IDAgPyB0aGlzLmxlbmd0aCArIHN0YXJ0IDogc3RhcnQp KTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIHRoaXMuc3Vic3RyX29yaWcoKHN0 YXJ0IDwgMCA/IHRoaXMubGVuZ3RoICsgc3RhcnQgOiBzdGFydCksIGxlbmd0aCk7 CgkJfQoJfTsKfQoKLyoqCiogRGVmaW5lIEFycmF5LnNoaWZ0KCkgZm9yIGJyb3dz ZXJzIHRoYXQgZG9uJ3QgaGF2ZSBpdAoqLwppZiAodHlwZW9mIEFycmF5LnByb3Rv dHlwZS5zaGlmdCA9PT0gJ3VuZGVmaW5lZCcpCnsKCUFycmF5LnByb3RvdHlwZS5z aGlmdCA9IGZ1bmN0aW9uKCkKCXsKCQlmb3IodmFyIGkgPSAwLCBiID0gdGhpc1sw XSwgbCA9IHRoaXMubGVuZ3RoLTE7IGkgPCBsOyBpKyspCgkJewoJCQl0aGlzW2ld ID0gdGhpc1tpICsgMV07CgkJfQoJCXRoaXMubGVuZ3RoLS07CgkJcmV0dXJuIGI7 Cgl9Owp9CgovKioKKiBGdW5jdGlvbiB0byBlbXVsYXRlIGRvY3VtZW50LmdldEVs ZW1lbnRCeUlkCioKKiBAcGFyYW0Jc3RyaW5nCU9iamVjdCBJRAoqCiogQHJldHVy bgltaXhlZAludWxsIGlmIG5vdCBmb3VuZCwgb2JqZWN0IGlmIGZvdW5kCiovCmZ1 bmN0aW9uIGZldGNoX29iamVjdChpZG5hbWUpCnsKCWlmIChkb2N1bWVudC5nZXRF bGVtZW50QnlJZCkKCXsKCQlyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo aWRuYW1lKTsKCX0KCWVsc2UgaWYgKGRvY3VtZW50LmFsbCkKCXsKCQlyZXR1cm4g ZG9jdW1lbnQuYWxsW2lkbmFtZV07Cgl9CgllbHNlIGlmIChkb2N1bWVudC5sYXll cnMpCgl7CgkJcmV0dXJuIGRvY3VtZW50LmxheWVyc1tpZG5hbWVdOwoJfQoJZWxz ZQoJewoJCXJldHVybiBudWxsOwoJfQp9CgovKioKKiBGdW5jdGlvbiB0byBlbXVs YXRlIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lCioKKiBAcGFyYW0Jb2Jq ZWN0CVBhcmVudCBvYmplY3QgKGVnOiBkb2N1bWVudCkKKiBAcGFyYW0Jc3RyaW5n CVRhZyB0eXBlIChlZzogJ3RkJykKKgoqIEByZXR1cm4JYXJyYXkKKi8KZnVuY3Rp b24gZmV0Y2hfdGFncyhwYXJlbnRvYmosIHRhZykKewoJaWYgKHBhcmVudG9iaiA9 PSBudWxsKQoJewoJCXJldHVybiBuZXcgQXJyYXkoKTsKCX0KCWVsc2UgaWYgKHR5 cGVvZiBwYXJlbnRvYmouZ2V0RWxlbWVudHNCeVRhZ05hbWUgIT0gJ3VuZGVmaW5l ZCcpCgl7CgkJcmV0dXJuIHBhcmVudG9iai5nZXRFbGVtZW50c0J5VGFnTmFtZSh0 YWcpOwoJfQoJZWxzZSBpZiAocGFyZW50b2JqLmFsbCAmJiBwYXJlbnRvYmouYWxs LnRhZ3MpCgl7CgkJcmV0dXJuIHBhcmVudG9iai5hbGwudGFncyh0YWcpOwoJfQoJ ZWxzZQoJewoJCXJldHVybiBuZXcgQXJyYXkoKTsKCX0KfQoKLyoqCiogRnVuY3Rp b24gdG8gY291bnQgdGhlIG51bWJlciBvZiB0YWdzIGluIGFuIG9iamVjdAoqCiog QHBhcmFtCW9iamVjdAlQYXJlbnQgb2JqZWN0IChlZzogZG9jdW1lbnQpCiogQHBh cmFtCXN0cmluZwlUYWcgdHlwZSAoZWc6ICd0ZCcpCioKKiBAcmV0dXJuCWludGVn ZXIKKi8KZnVuY3Rpb24gZmV0Y2hfdGFnX2NvdW50KHBhcmVudG9iaiwgdGFnKQp7 CglyZXR1cm4gZmV0Y2hfdGFncyhwYXJlbnRvYmosIHRhZykubGVuZ3RoOwp9Cgov LyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBFdmVudCBoYW5kbGVy cwoKLyoqCiogSGFuZGxlcyB0aGUgZGlmZmVyZW50IGV2ZW50IG1vZGVscyBvZiBk aWZmZXJlbnQgYnJvd3NlcnMgYW5kIHByZXZlbnRzIGV2ZW50IGJ1YmJsaW5nCioK KiBAcGFyYW0JZXZlbnQJRXZlbnQgb2JqZWN0CioKKiBAcmV0dXJuCWV2ZW50Ciov CmZ1bmN0aW9uIGRvX2FuX2UoZXZlbnRvYmopCnsKCWlmICghZXZlbnRvYmogfHwg aXNfaWUpCgl7CgkJd2luZG93LmV2ZW50LnJldHVyblZhbHVlID0gZmFsc2U7CgkJ d2luZG93LmV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7CgkJcmV0dXJuIHdpbmRv dy5ldmVudDsKCX0KCWVsc2UKCXsKCQlldmVudG9iai5zdG9wUHJvcGFnYXRpb24o KTsKCQlldmVudG9iai5wcmV2ZW50RGVmYXVsdCgpOwoJCXJldHVybiBldmVudG9i ajsKCX0KfQoKLyoqCiogSGFuZGxlcyB0aGUgZGlmZmVyZW50IGV2ZW50IG1vZGVs cyBvZiBkaWZmZXJlbnQgYnJvd3NlcnMgYW5kIHByZXZlbnRzIGV2ZW50IGJ1YmJs aW5nIGluIGEgbGVzc2VyIHdheSB0aGFuIGRvX2FuX2UoKQoqCiogQHBhcmFtCWV2 ZW50CUV2ZW50IG9iamVjdAoqCiogQHJldHVybglldmVudAoqLwpmdW5jdGlvbiBl X2J5X2d1bShldmVudG9iaikKewoJaWYgKCFldmVudG9iaiB8fCBpc19pZSkKCXsK CQl3aW5kb3cuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKCQlyZXR1cm4gd2lu ZG93LmV2ZW50OwoJfQoJZWxzZQoJewoJCWlmIChldmVudG9iai50YXJnZXQudHlw ZSA9PSAnc3VibWl0JykKCQl7CgkJCS8vIG5hdWdodHkgc2FmYXJpCgkJCWV2ZW50 b2JqLnRhcmdldC5mb3JtLnN1Ym1pdCgpOwoJCX0KCQlldmVudG9iai5zdG9wUHJv cGFnYXRpb24oKTsKCQlyZXR1cm4gZXZlbnRvYmo7Cgl9Cn0KCi8vICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIE1lc3NhZ2UgbWFuaXB1bGF0aW9uIGFu ZCB2YWxpZGF0aW9uCgovKioKKiBDaGVja3MgdGhhdCBhIG1lc3NhZ2UgaXMgdmFs aWQgZm9yIHN1Ym1pc3Npb24gdG8gUEhQCioKKiBAcGFyYW0Jc3RyaW5nCU1lc3Nh Z2UgdGV4dAoqIEBwYXJhbQltaXhlZAlFaXRoZXIgc3ViamVjdCB0ZXh0IChpZiB5 b3Ugd2FudCB0byBtYWtlIHN1cmUgaXQgZXhpc3RzKSBvciAwIGlmIHlvdSBkb24n dCBjYXJlCiogQHBhcmFtCWludGVnZXIJTWluaW11bSBhY2NlcHRhYmxlIGNoYXJh Y3RlciBsaW1pdCBmb3IgdGhlIG1lc3NhZ2UKKgoqIEByZXR1cm4JYm9vbGVhbgoq LwpmdW5jdGlvbiB2YWxpZGF0ZW1lc3NhZ2UobWVzc2FnZXRleHQsIHN1YmplY3R0 ZXh0LCBtaW5jaGFycykKewoJaWYgKGlzX2tvbiB8fCBpc19zYWYgfHwgaXNfd2Vi dHYpCgl7CgkJLy8gaWdub3JlIGxlc3MtdGhhbi1jYXBhYmxlIGJyb3dzZXJzCgkJ cmV0dXJuIHRydWU7Cgl9CgllbHNlIGlmIChzdWJqZWN0dGV4dC5sZW5ndGggPCAx KQoJewoJCS8vIHN1YmplY3Qgbm90IHNwZWNpZmllZAoJCWFsZXJ0KHZicGhyYXNl WydtdXN0X2VudGVyX3N1YmplY3QnXSk7CgkJcmV0dXJuIGZhbHNlOwoJfQoJZWxz ZQoJewoJCXZhciBzdHJpcHBlZCA9IFBIUC50cmltKHN0cmlwY29kZShtZXNzYWdl dGV4dCwgZmFsc2UsIGlnbm9yZXF1b3RlY2hhcnMpKTsKCgkJaWYgKHN0cmlwcGVk Lmxlbmd0aCA8IG1pbmNoYXJzKQoJCXsKCQkJLy8gbWluaW11bSBtZXNzYWdlIGxl bmd0aCBub3QgbWV0CgkJCWFsZXJ0KGNvbnN0cnVjdF9waHJhc2UodmJwaHJhc2Vb J21lc3NhZ2VfdG9vX3Nob3J0J10sIG1pbmNoYXJzKSk7CgkJCXJldHVybiBmYWxz ZTsKCQl9CgkJZWxzZSBpZiAodHlwZW9mKGRvY3VtZW50LmZvcm1zLnZiZm9ybSkg IT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mKGRvY3VtZW50LmZvcm1zLnZiZm9ybS5p bWFnZXN0YW1wKSAhPSAndW5kZWZpbmVkJykKCQl7CgkJCS8vIFRoaXMgZm9ybSBo YXMgaW1hZ2UgdmVyaWZpY2F0aW9uIGVuYWJsZWQKCQkJZG9jdW1lbnQuZm9ybXMu dmJmb3JtLmltYWdlc3RhbXAuZmFpbGVkID0gZmFsc2U7CgoJCQlpZiAoZG9jdW1l bnQuZm9ybXMudmJmb3JtLmltYWdlc3RhbXAudmFsdWUubGVuZ3RoICE9IDYpCgkJ CXsKCQkJCWFsZXJ0KHZicGhyYXNlWydjb21wbGV0ZV9pbWFnZV92ZXJpZmljYXRp b24nXSk7CgkJCQlkb2N1bWVudC5mb3Jtcy52YmZvcm0uaW1hZ2VzdGFtcC5mYWls ZWQgPSB0cnVlOwoJCQkJZG9jdW1lbnQuZm9ybXMudmJmb3JtLmltYWdlc3RhbXAu Zm9jdXMoKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJ CXJldHVybiB0cnVlOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCS8vIGV2ZXJ5dGhp bmcgc2VlbXMgb2sKCQkJcmV0dXJuIHRydWU7CgkJfQoJfQp9CgoKLyoqCiogU3Ry aXBzIHF1b3RlcyBhbmQgYmJjb2RlIHRhZ3MgZnJvbSB0ZXh0CioKKiBAcGFyYW0J c3RyaW5nCVRleHQgdG8gbWFuaXB1bGF0ZQoqIEBwYXJhbQlib29sZWFuCUlmIHRy dWUsIHN0cmlwIDx4PiBvdGhlcndpc2Ugc3RyaXAgW3hdCiogQHBhcmFtCWJvb2xl YW4JSWYgdHJ1ZSwgc3RyaXAgYWxsIFtxdW90ZV0uLi5jb250ZW50cy4uLlsvcXVv dGVdCioKKiBAcmV0dXJuCXN0cmluZwoqLwpmdW5jdGlvbiBzdHJpcGNvZGUoc3Ry LCBpc2h0bWwsIHN0cmlwcXVvdGVzKQp7CglpZiAoIWlzX3JlZ2V4cCkKCXsKCQly ZXR1cm4gc3RyOwoJfQoKCWlmIChzdHJpcHF1b3RlcykKCXsKCQl2YXIgc3RhcnRf dGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwoKCQl3aGlsZSAoKHN0YXJ0aW5k ZXggPSBQSFAuc3RyaXBvcyhzdHIsICdbcXVvdGUnKSkgIT09IGZhbHNlKQoJCXsK CQkJaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gc3RhcnRfdGltZSA+IDIwMDAp CgkJCXsKCQkJCS8vIHdoaWxlIGxvb3AgaGFzIGJlZW4gcnVubmluZyBmb3Igb3Zl ciAyIHNlY29uZHMgYW5kIGhhcyBwcm9iYWJseSBnb25lIGluZmluaXRlCgkJCQli cmVhazsKCQkJfQoKCQkJaWYgKChzdG9waW5kZXggPSBQSFAuc3RyaXBvcyhzdHIs ICdbL3F1b3RlXScpKSAhPT0gZmFsc2UpCgkJCXsKCQkJCWZyYWdtZW50ID0gc3Ry LnN1YnN0cihzdGFydGluZGV4LCBzdG9waW5kZXggLSBzdGFydGluZGV4ICsgOCk7 CgkJCQlzdHIgPSBzdHIucmVwbGFjZShmcmFnbWVudCwgJycpOwoJCQl9CgkJCWVs c2UKCQkJewoJCQkJYnJlYWs7CgkJCX0KCQkJc3RyID0gUEhQLnRyaW0oc3RyKTsK CQl9Cgl9CgoJaWYgKGlzaHRtbCkKCXsKCQkvLyBleGVtcHQgaW1hZ2UgdGFncyAt LSB0aGV5IG5lZWQgdG8gY291bnQgYXMgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5n CgkJLy8gYXMgdGhlIGRvIGFzIEJCIGNvZGVzCgkJc3RyID0gc3RyLnJlcGxhY2Uo LzxpbWdbXj5dK3NyYz0iKFteIl0rKSJbXj5dKj4vZ2ksICckMScpOwoKCQl2YXIg aHRtbDEgPSBuZXcgUmVnRXhwKCI8KFxcdyspW14+XSo+IiwgJ2dpJyk7CgkJdmFy IGh0bWwyID0gbmV3IFJlZ0V4cCgiPFxcL1xcdys+IiwgJ2dpJyk7CgoJCXN0ciA9 IHN0ci5yZXBsYWNlKGh0bWwxLCAnJyk7CgkJc3RyID0gc3RyLnJlcGxhY2UoaHRt bDIsICcnKTsKCgkJdmFyIGh0bWwzID0gbmV3IFJlZ0V4cCgnKCZuYnNwOyknLCAn Z2knKTsKCQlzdHIgPSBzdHIucmVwbGFjZShodG1sMywgJyAnKTsKCX0KCWVsc2UK CXsKCQl2YXIgYmJjb2RlMSA9IG5ldyBSZWdFeHAoIlxcWyhcXHcrKSg9W15cXF1d Kik/XFxdIiwgJ2dpJyk7CgkJdmFyIGJiY29kZTIgPSBuZXcgUmVnRXhwKCJcXFtc XC8oXFx3KylcXF0iLCAnZ2knKTsKCgkJc3RyID0gc3RyLnJlcGxhY2UoYmJjb2Rl MSwgJycpOwoJCXN0ciA9IHN0ci5yZXBsYWNlKGJiY29kZTIsICcnKTsKCX0KCgly ZXR1cm4gc3RyOwp9CgovLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwov LyB2Ql9QSFBfRW11bGF0b3IgY2xhc3MKLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKCi8qKgoqIFBIUCBGdW5jdGlvbiBFbXVsYXRvciBDbGFzcwoqLwpm dW5jdGlvbiB2Ql9QSFBfRW11bGF0b3IoKQp7Cn0KCi8vID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci8vIHZCX1BIUF9FbXVsYXRvciBNZXRob2RzCgovKioK KiBGaW5kIGEgc3RyaW5nIHdpdGhpbiBhIHN0cmluZyAoY2FzZSBpbnNlbnNpdGl2 ZSkKKgoqIEBwYXJhbQlzdHJpbmcJSGF5c3RhY2sKKiBAcGFyYW0Jc3RyaW5nCU5l ZWRsZQoqIEBwYXJhbQlpbnRlZ2VyCU9mZnNldAoqCiogQHJldHVybgltaXhlZAlO b3QgZm91bmQ6IGZhbHNlIC8gRm91bmQ6IGludGVnZXIgcG9zaXRpb24KKi8KdkJf UEhQX0VtdWxhdG9yLnByb3RvdHlwZS5zdHJpcG9zID0gZnVuY3Rpb24oaGF5c3Rh Y2ssIG5lZWRsZSwgb2Zmc2V0KQp7CglpZiAodHlwZW9mIG9mZnNldCA9PSAndW5k ZWZpbmVkJykKCXsKCQlvZmZzZXQgPSAwOwoJfQoKCWluZGV4ID0gaGF5c3RhY2su dG9Mb3dlckNhc2UoKS5pbmRleE9mKG5lZWRsZS50b0xvd2VyQ2FzZSgpLCBvZmZz ZXQpOwoKCXJldHVybiAoaW5kZXggPT0gLTEgPyBmYWxzZSA6IGluZGV4KTsKfQoK LyoqCiogVHJpbXMgbGVhZGluZyB3aGl0ZXNwYWNlCioKKiBAcGFyYW0Jc3RyaW5n CVN0cmluZyB0byB0cmltCioKKiBAcmV0dXJuCXN0cmluZwoqLwp2Ql9QSFBfRW11 bGF0b3IucHJvdG90eXBlLmx0cmltID0gZnVuY3Rpb24oc3RyKQp7CglyZXR1cm4g c3RyLnJlcGxhY2UoL15ccysvZywgJycpOwp9CgovKioKKiBUcmltcyB0cmFpbGlu ZyB3aGl0ZXNwYWNlCioKKiBAcGFyYW0Jc3RyaW5nCVN0cmluZyB0byB0cmltCioK KiBAcmV0dXJuCXN0cmluZwoqLwp2Ql9QSFBfRW11bGF0b3IucHJvdG90eXBlLnJ0 cmltID0gZnVuY3Rpb24oc3RyKQp7CglyZXR1cm4gc3RyLnJlcGxhY2UoLyhccysp JC9nLCAnJyk7Cn0KCi8qKgoqIFRyaW1zIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdo aXRlc3BhY2UKKgoqIEBwYXJhbQlzdHJpbmcJU3RyaW5nIHRvIHRyaW0KKgoqIEBy ZXR1cm4Jc3RyaW5nCiovCnZCX1BIUF9FbXVsYXRvci5wcm90b3R5cGUudHJpbSA9 IGZ1bmN0aW9uKHN0cikKewoJcmV0dXJuIHRoaXMubHRyaW0odGhpcy5ydHJpbShz dHIpKTsKfQoKLyoqCiogRW11bGF0aW9uIG9mIFBIUCdzIHByZWdfcXVvdGUoKQoq CiogQHBhcmFtCXN0cmluZwlTdHJpbmcgdG8gcHJvY2VzcwoqCiogQHJldHVybglz dHJpbmcKKi8KdkJfUEhQX0VtdWxhdG9yLnByb3RvdHlwZS5wcmVnX3F1b3RlID0g ZnVuY3Rpb24oc3RyKQp7CgkvLyByZXBsYWNlICsgeyB9ICggKSBbIF0gfCAvID8g XiAkIFwgLiA9ICEgPCA+IDogKiB3aXRoIGJhY2tzbGFzaCtjaGFyYWN0ZXIKCXJl dHVybiBzdHIucmVwbGFjZSgvKFwrfFx7fFx9fFwofFwpfFxbfFxdfFx8fFwvfFw/ fFxefFwkfFxcfFwufFw9fFwhfFw8fFw+fFw6fFwqKS9nLCAiXFwkMSIpOwp9Cgov KioKKiBFbXVsYXRlcyBQSFAncyBwcmVnX21hdGNoX2FsbCgpLi4uIHNvcnQgb2YK KgoqIEBwYXJhbQlzdHJpbmcJSGF5c3RhY2sKKiBAcGFyYW0Jc3RyaW5nCVJlZ3Vs YXIgZXhwcmVzc2lvbiAtIHRvIGJlIGluc2VydGVkIGludG8gUmVnRXhwKHgpCioK KiBAcmV0dXJuCW1peGVkCUFycmF5IG9uIG1hdGNoLCBmYWxzZSBvbiBubyBtYXRj aAoqLwp2Ql9QSFBfRW11bGF0b3IucHJvdG90eXBlLm1hdGNoX2FsbCA9IGZ1bmN0 aW9uKHN0cmluZywgcmVnZXgpCnsKCXZhciBnbWF0Y2ggPSBzdHJpbmcubWF0Y2go UmVnRXhwKHJlZ2V4LCAiZ2ltIikpOwoJaWYgKGdtYXRjaCkKCXsKCQl2YXIgbWF0 Y2hlcyA9IG5ldyBBcnJheSgpOwoKCQl2YXIgaXJlZ2V4ID0gbmV3IFJlZ0V4cChy ZWdleCwgImltIik7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBnbWF0Y2gubGVuZ3Ro OyBpKyspCgkJewoJCQltYXRjaGVzW21hdGNoZXMubGVuZ3RoXSA9IGdtYXRjaFtp XS5tYXRjaChpcmVnZXgpOwoJCX0KCgkJcmV0dXJuIG1hdGNoZXM7Cgl9CgllbHNl Cgl7CgkJcmV0dXJuIGZhbHNlOwoJfQp9CgovKioKKiBFbXVsYXRlcyB1bmh0bWxz cGVjaWFsY2hhcnMgaW4gdkJ1bGxldGluCioKKiBAcGFyYW0Jc3RyaW5nCVN0cmlu ZyB0byBwcm9jZXNzCioKKiBAcmV0dXJuCXN0cmluZwoqLwp2Ql9QSFBfRW11bGF0 b3IucHJvdG90eXBlLnVuaHRtbHNwZWNpYWxjaGFycyA9IGZ1bmN0aW9uKHN0cikK ewoJZiA9IG5ldyBBcnJheSgvJmx0Oy9nLCAvJmd0Oy9nLCAvJnF1b3Q7L2csIC8m YW1wOy9nKTsKCXIgPSBuZXcgQXJyYXkoJzwnLCAnPicsICciJywgJyYnKTsKCglm b3IgKHZhciBpIGluIGYpCgl7CgkJc3RyID0gc3RyLnJlcGxhY2UoZltpXSwgcltp XSk7Cgl9CgoJcmV0dXJuIHN0cjsKfQoKLyoqCiogVW5lc2NhcGUgQ0RBVEEgZnJv bSB2Ql9BSkFYX1hNTF9CdWlsZGVyIFBIUCBjbGFzcwoqCiogQHBhcmFtCXN0cmlu ZwlFc2NhcGVkIENEQVRBCioKKiBAcmV0dXJuCXN0cmluZwoqLwp2Ql9QSFBfRW11 bGF0b3IucHJvdG90eXBlLnVuZXNjYXBlX2NkYXRhID0gZnVuY3Rpb24oc3RyKQp7 Cgl2YXIgcjEgPSAvPFw9XCFcPVxbXD1DXD1EXD1BXD1UXD1BXD1cWy9nOwoJdmFy IHIyID0gL1xdXD1cXVw9Pi9nOwoKCXJldHVybiBzdHIucmVwbGFjZShyMSwgJzwh W0NEQVRBWycpLnJlcGxhY2UocjIsICddXT4nKTsKfQoKLyoqCiogRW11bGF0ZXMg UEhQJ3MgaHRtbHNwZWNpYWxjaGFycygpCioKKiBAcGFyYW0Jc3RyaW5nCVN0cmlu ZyB0byBwcm9jZXNzCioKKiBAcmV0dXJuCXN0cmluZwoqLwp2Ql9QSFBfRW11bGF0 b3IucHJvdG90eXBlLmh0bWxzcGVjaWFsY2hhcnMgPSBmdW5jdGlvbihzdHIpCnsK CS8vdmFyIGYgPSBuZXcgQXJyYXkoLyYoPyEjWzAtOV0rOykvZywgLzwvZywgLz4v ZywgLyIvZyk7Cgl2YXIgZiA9IG5ldyBBcnJheSgKCQkoaXNfbWFjICYmIGlzX2ll ID8gbmV3IFJlZ0V4cCgnJicsICdnJykgOiBuZXcgUmVnRXhwKCcmKD8hI1swLTld KzspJywgJ2cnKSksCgkJbmV3IFJlZ0V4cCgnPCcsICdnJyksCgkJbmV3IFJlZ0V4 cCgnPicsICdnJyksCgkJbmV3IFJlZ0V4cCgnIicsICdnJykKCSk7Cgl2YXIgciA9 IG5ldyBBcnJheSgKCQknJmFtcDsnLAoJCScmbHQ7JywKCQknJmd0OycsCgkJJyZx dW90OycKCSk7CgoJZm9yICh2YXIgaSA9IDA7IGkgPCBmLmxlbmd0aDsgaSsrKQoJ ewoJCXN0ciA9IHN0ci5yZXBsYWNlKGZbaV0sIHJbaV0pOwoJfQoKCXJldHVybiBz dHI7Cn0KCi8qKgoqIFNlYXJjaGVzIGFuIGFycmF5IGZvciBhIHZhbHVlCioKKiBA cGFyYW0Jc3RyaW5nCU5lZWRsZQoqIEBwYXJhbQlhcnJheQlIYXlzdGFjawoqIEBw YXJhbQlib29sZWFuCUNhc2UgaW5zZW5zaXRpdmUKKgoqIEByZXR1cm4JaW50ZWdl cglOb3QgZm91bmQ6IC0xIC8gRm91bmQ6IGludGVnZXIgaW5kZXgKKi8KdkJfUEhQ X0VtdWxhdG9yLnByb3RvdHlwZS5pbl9hcnJheSA9IGZ1bmN0aW9uKGluZWVkbGUs IGhheXN0YWNrLCBjYXNlaW5zZW5zaXRpdmUpCnsKCXZhciBuZWVkbGUgPSBuZXcg U3RyaW5nKGluZWVkbGUpOwoKCWlmIChjYXNlaW5zZW5zaXRpdmUpCgl7CgkJbmVl ZGxlID0gbmVlZGxlLnRvTG93ZXJDYXNlKCk7CgkJZm9yICh2YXIgaSBpbiBoYXlz dGFjaykKCQl7CgkJCWlmIChoYXlzdGFja1tpXS50b0xvd2VyQ2FzZSgpID09IG5l ZWRsZSkKCQkJewoJCQkJcmV0dXJuIGk7CgkJCX0KCQl9Cgl9CgllbHNlCgl7CgkJ Zm9yICh2YXIgaSBpbiBoYXlzdGFjaykKCQl7CgkJCWlmIChoYXlzdGFja1tpXSA9 PSBuZWVkbGUpCgkJCXsKCQkJCXJldHVybiBpOwoJCQl9CgkJfQoJfQoJcmV0dXJu IC0xOwp9CgovKioKKiBFbXVsYXRlcyBQSFAncyBzdHJwYWQoKQoqCiogQHBhcmFt CXN0cmluZwlUZXh0IHRvIHBhZAoqIEBwYXJhbQlpbnRlZ2VyCUxlbmd0aCB0byBw YWQKKiBAcGFyYW0Jc3RyaW5nCVN0cmluZyB3aXRoIHdoaWNoIHRvIHBhZAoqCiog QHJldHVybglzdHJpbmcKKi8KdkJfUEhQX0VtdWxhdG9yLnByb3RvdHlwZS5zdHJf cGFkID0gZnVuY3Rpb24odGV4dCwgbGVuZ3RoLCBwYWRzdHJpbmcpCnsKCXRleHQg PSBuZXcgU3RyaW5nKHRleHQpOwoJcGFkc3RyaW5nID0gbmV3IFN0cmluZyhwYWRz dHJpbmcpOwoKCWlmICh0ZXh0Lmxlbmd0aCA8IGxlbmd0aCkKCXsKCQlwYWR0ZXh0 ID0gbmV3IFN0cmluZyhwYWRzdHJpbmcpOwoKCQl3aGlsZSAocGFkdGV4dC5sZW5n dGggPCAobGVuZ3RoIC0gdGV4dC5sZW5ndGgpKQoJCXsKCQkJcGFkdGV4dCArPSBw YWRzdHJpbmc7CgkJfQoKCQl0ZXh0ID0gcGFkdGV4dC5zdWJzdHIoMCwgKGxlbmd0 aCAtIHRleHQubGVuZ3RoKSkgKyB0ZXh0OwoJfQoKCXJldHVybiB0ZXh0Owp9Cgov KioKKiBBIHNvcnQgb2YgZW11bGF0aW9uIG9mIFBIUCdzIHVybGVuY29kZSAtIG5v dCAxMDAlIHRoZSBzYW1lLCBidXQgYWNjb21wbGlzaGVzIHRoZSBzYW1lIHRoaW5n CioKKiBAcGFyYW0Jc3RyaW5nCVN0cmluZyB0byBlbmNvZGUKKgoqIEByZXR1cm4J c3RyaW5nCiovCnZCX1BIUF9FbXVsYXRvci5wcm90b3R5cGUudXJsZW5jb2RlID0g ZnVuY3Rpb24odGV4dCkKewoJdGV4dCA9IGVzY2FwZSh0ZXh0LnRvU3RyaW5nKCkp LnJlcGxhY2UoL1wrL2csICIlMkIiKTsKCgkvLyB0aGlzIGVzY2FwZXMgMTI4IC0g MjU1LCBhcyBKUyB1c2VzIHRoZSB1bmljb2RlIGNvZGUgcG9pbnRzIGZvciB0aGVt LgoJLy8gVGhpcyBjYXVzZXMgcHJvYmxlbXMgd2l0aCBzdWJtaXR0aW5nIHRleHQg dmlhIEFKQVggd2l0aCB0aGUgVVRGLTggY2hhcnNldC4KCXZhciBtYXRjaGVzID0g dGV4dC5tYXRjaCgvKCUoWzAtOUEtRl17Mn0pKS9naSk7CglpZiAobWF0Y2hlcykK CXsKCQlmb3IgKHZhciBtYXRjaGlkID0gMDsgbWF0Y2hpZCA8IG1hdGNoZXMubGVu Z3RoOyBtYXRjaGlkKyspCgkJewoJCQl2YXIgY29kZSA9IG1hdGNoZXNbbWF0Y2hp ZF0uc3Vic3RyaW5nKDEsMyk7CgkJCWlmIChwYXJzZUludChjb2RlLCAxNikgPj0g MTI4KQoJCQl7CgkJCQl0ZXh0ID0gdGV4dC5yZXBsYWNlKG1hdGNoZXNbbWF0Y2hp ZF0sICcldTAwJyArIGNvZGUpOwoJCQl9CgkJfQoJfQoKCS8vICUyNSBnZXRzIHRy YW5zbGF0ZWQgdG8gJSBieSBQSFAsIHNvIGlmIHlvdSBoYXZlICUyNXUxMjM0LAoJ Ly8gd2Ugc2VlIGl0IGFzICV1MTIzNCBhbmQgaXQgZ2V0cyB0cmFuc2xhdGVkLiBT byBtYWtlIGl0ICV1MDAyNXUxMjM0LAoJLy8gd2hpY2ggd2lsbCBwcmludCBhcyAl dTEyMzQhCgl0ZXh0ID0gdGV4dC5yZXBsYWNlKCclMjUnLCAnJXUwMDI1Jyk7CgoJ cmV0dXJuIHRleHQ7Cn0KCi8qKgoqIFdvcmtzIGEgYml0IGxpa2UgdWNmaXJzdCwg YnV0IHdpdGggc29tZSBleHRyYSBvcHRpb25zCioKKiBAcGFyYW0Jc3RyaW5nCVN0 cmluZyB3aXRoIHdoaWNoIHRvIHdvcmsKKiBAcGFyYW0Jc3RyaW5nCUN1dCBvZmYg c3RyaW5nIGJlZm9yZSBmaXJzdCBvY2N1cmVuY2Ugb2YgdGhpcyBzdHJpbmcKKgoq IEByZXR1cm4Jc3RyaW5nCiovCnZCX1BIUF9FbXVsYXRvci5wcm90b3R5cGUudWNm aXJzdCA9IGZ1bmN0aW9uKHN0ciwgY3V0b2ZmKQp7CglpZiAodHlwZW9mIGN1dG9m ZiAhPSAndW5kZWZpbmVkJykKCXsKCQl2YXIgY3V0cG9zID0gc3RyLmluZGV4T2Yo Y3V0b2ZmKTsKCQlpZiAoY3V0cG9zID4gMCkKCQl7CgkJCXN0ciA9IHN0ci5zdWJz dHIoMCwgY3V0cG9zKTsKCQl9Cgl9CgoJc3RyID0gc3RyLnNwbGl0KCcgJyk7Cglm b3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykKCXsKCQlzdHJbaV0g PSBzdHJbaV0uc3Vic3RyKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBzdHJbaV0uc3Vi c3RyKDEpOwoJfQoJcmV0dXJuIHN0ci5qb2luKCcgJyk7Cn0KCi8vICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIHZCX0FKQVhfSGFuZGxlcgovLyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKLyoqCiogWE1MIFNlbmRlciBDbGFz cwoqCiogQHBhcmFtCWJvb2xlYW4JU2hvdWxkIGNvbm5lY3Rpb25zIGJlIGFzeW5j cm9ub3VzPwoqLwpmdW5jdGlvbiB2Ql9BSkFYX0hhbmRsZXIoYXN5bmMpCnsKCS8q KgoJKiBTaG91bGQgY29ubmVjdGlvbnMgYmUgYXN5bmNocm9ub3VzPwoJKgoJKiBA dmFyCWJvb2xlYW4KCSovCgl0aGlzLmFzeW5jID0gYXN5bmMgPyB0cnVlIDogZmFs c2U7Cn0KCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIHZCX0FK QVhfSGFuZGxlciBtZXRob2RzCgovKioKKiBJbml0aWFsaXplcyB0aGUgWE1MIGhh bmRsZXIKKgoqIEByZXR1cm4JYm9vbGVhbglUcnVlIGlmIGhhbmRsZXIgY3JlYXRl ZCBPSwoqLwp2Ql9BSkFYX0hhbmRsZXIucHJvdG90eXBlLmluaXQgPSBmdW5jdGlv bigpCnsKCWlmICh0eXBlb2YgdmJfZGlzYWJsZV9hamF4ICE9ICd1bmRlZmluZWQn ICYmIHZiX2Rpc2FibGVfYWpheCA9PSAyKQoJewoJCS8vIGRpc2FibGUgYWxsIGFq YXggZmVhdHVyZXMKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJaWYgKHR5cGVvZiBYTUxI dHRwUmVxdWVzdCAhPSAidW5kZWZpbmVkIikKCXsKCQl0aGlzLmhhbmRsZXIgPSBu ZXcgWE1MSHR0cFJlcXVlc3QoKTsKCQlyZXR1cm4gKHRoaXMuaGFuZGxlci5zZXRS ZXF1ZXN0SGVhZGVyID8gdHJ1ZSA6IGZhbHNlKTsKCX0KCWVsc2UgaWYgKGlzX2ll ICYmICFpc19pZTcpCgl7CgkJdGhpcy5oYW5kbGVyID0gZXZhbCgibmV3IEEiICsg ImN0aXYiICsgImVYIiArICJPYiIgKyAiamVjdCgnTWljciIgKyAib3NvZnQuWE0i ICsgIkxIVFRQJyk7Iik7CgkJcmV0dXJuIHRydWU7Cgl9CgllbHNlCgl7CgkJcmV0 dXJuIGZhbHNlOwoJfQp9CgovKioKKiBEZXRlY3RzIGlmIHRoZSBicm93c2VyIGlz IGZ1bGx5IGNvbXBhdGlibGUKKgoqIEByZXR1cm4JYm9vbGVhbgoqLwp2Ql9BSkFY X0hhbmRsZXIucHJvdG90eXBlLmlzX2NvbXBhdGlibGUgPSBmdW5jdGlvbigpCnsK CWlmICh0eXBlb2YgdmJfZGlzYWJsZV9hamF4ICE9ICd1bmRlZmluZWQnICYmIHZi X2Rpc2FibGVfYWpheCA9PSAyKQoJewoJCS8vIGRpc2FibGUgYWxsIGFqYXggZmVh dHVyZXMKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJaWYgKGlzX2llICYmICFpc19pZTQp IHsgcmV0dXJuIHRydWU7IH0KCWVsc2UgaWYgKHR5cGVvZiBYTUxIdHRwUmVxdWVz dCAhPSAndW5kZWZpbmVkJykKCXsKCQl0cnkgeyByZXR1cm4gWE1MSHR0cFJlcXVl c3QucHJvdG90eXBlLnNldFJlcXVlc3RIZWFkZXIgPyB0cnVlIDogZmFsc2U7IH0K CQljYXRjaChlKQoJCXsKCQkJdHJ5IHsgdmFyIHRlc3RlciA9IG5ldyBYTUxIdHRw UmVxdWVzdCgpOyByZXR1cm4gdGVzdGVyLnNldFJlcXVlc3RIZWFkZXIgPyB0cnVl IDogZmFsc2U7IH0KCQkJY2F0Y2goZSkgeyByZXR1cm4gZmFsc2U7IH0KCQl9Cgl9 CgllbHNlIHsgcmV0dXJuIGZhbHNlOyB9Cn0KCi8qKgoqIENoZWNrcyBpZiB0aGUg c3lzdGVtIGlzIHJlYWR5CioKKiBAcmV0dXJuCWJvb2xlYW4JRmFsc2UgaWYgcmVh ZHkKKi8KdkJfQUpBWF9IYW5kbGVyLnByb3RvdHlwZS5ub3RfcmVhZHkgPSBmdW5j dGlvbigpCnsKCXJldHVybiAodGhpcy5oYW5kbGVyLnJlYWR5U3RhdGUgJiYgKHRo aXMuaGFuZGxlci5yZWFkeVN0YXRlIDwgNCkpOwp9CgovKioKKiBPblJlYWR5U3Rh dGVDaGFuZ2UgZXZlbnQgaGFuZGxlcgoqCiogQHBhcmFtCWZ1bmN0aW9uCiovCnZC X0FKQVhfSGFuZGxlci5wcm90b3R5cGUub25yZWFkeXN0YXRlY2hhbmdlID0gZnVu Y3Rpb24oZXZlbnQpCnsKCWlmICghdGhpcy5oYW5kbGVyKQoJewoJCWlmICAoIXRo aXMuaW5pdCgpKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCWlmICh0eXBl b2YgZXZlbnQgPT0gJ2Z1bmN0aW9uJykKCXsKCQl0aGlzLmhhbmRsZXIub25yZWFk eXN0YXRlY2hhbmdlID0gZXZlbnQ7Cgl9CgllbHNlCgl7CgkJYWxlcnQoJ1hNTCBT ZW5kZXIgT25SZWFkeVN0YXRlIGV2ZW50IGlzIG5vdCBhIGZ1bmN0aW9uJyk7Cgl9 CgoJcmV0dXJuIGZhbHNlOwp9CgovKioKKiBTZW5kcyBkYXRhCioKKiBAcGFyYW0J c3RyaW5nCURlc3RpbmF0aW9uIFVSTAoqIEBwYXJhbQlzdHJpbmcJUmVxdWVzdCBE YXRhCioKKiBAcmV0dXJuCW1peGVkCVJldHVybiBtZXNzYWdlCiovCnZCX0FKQVhf SGFuZGxlci5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uKGRlc3R1cmwsIGRhdGFz dHJlYW0pCnsKCWlmICghdGhpcy5oYW5kbGVyKQoJewoJCWlmICghdGhpcy5pbml0 KCkpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoJaWYgKCF0aGlzLm5vdF9y ZWFkeSgpKQoJewoJCXRoaXMuaGFuZGxlci5vcGVuKCdQT1NUJywgZGVzdHVybCwg dGhpcy5hc3luYyk7CgkJdGhpcy5oYW5kbGVyLnNldFJlcXVlc3RIZWFkZXIoJ0Nv bnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQn KTsKCQl0aGlzLmhhbmRsZXIuc2VuZChkYXRhc3RyZWFtICsgJyZzPScgKyBmZXRj aF9zZXNzaW9uaGFzaCgpKTsKCgkJaWYgKCF0aGlzLmFzeW5jICYmIHRoaXMuaGFu ZGxlci5yZWFkeVN0YXRlID09IDQgJiYgdGhpcy5oYW5kbGVyLnN0YXR1cyA9PSAy MDApCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CglyZXR1cm4gZmFsc2U7Cn0K Ci8qKgoqIEZldGNoZXMgdGhlIGNvbnRlbnRzIG9mIGFuIFhNTCBub2RlCioKKiBA cGFyYW0Jb2JqZWN0CVhNTCBub2RlCioKKiBAcmV0dXJuCXN0cmluZwlYTUwgbm9k ZSBjb250ZW50cwoqLwp2Ql9BSkFYX0hhbmRsZXIucHJvdG90eXBlLmZldGNoX2Rh dGEgPSBmdW5jdGlvbih4bWxfbm9kZSkKewoJaWYgKHhtbF9ub2RlICYmIHhtbF9u b2RlLmZpcnN0Q2hpbGQgJiYgeG1sX25vZGUuZmlyc3RDaGlsZC5ub2RlVmFsdWUp Cgl7CgkJcmV0dXJuIFBIUC51bmVzY2FwZV9jZGF0YSh4bWxfbm9kZS5maXJzdENo aWxkLm5vZGVWYWx1ZSk7Cgl9CgllbHNlCgl7CgkJcmV0dXJuICcnOwoJfQp9Cgov LyB3ZSBjYW4gY2hlY2sgdGhpcyB2YXJpYWJsZSB0byBzZWUgaWYgYnJvd3NlciBp cyBBSkFYIGNvbXBhdGlibGUKQUpBWF9Db21wYXRpYmxlID0gdkJfQUpBWF9IYW5k bGVyLnByb3RvdHlwZS5pc19jb21wYXRpYmxlKCk7CmNvbnNvbGUuaW5mbygiQnJv d3NlciBpcyVzIEFKQVggY29tcGF0aWJsZSIsIEFKQVhfQ29tcGF0aWJsZSA/ICIi IDogIiBOT1QiKTsKCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8v IHZCX0hpZGRlbl9Gb3JtCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CgovKioKKiBGb3JtIEdlbmVyYXRvciBDbGFzcwoqCiogQnVpbGRzIGEgZm9ybSBm aWxsZWQgd2l0aCBoaWRkZW4gZmllbGRzIGZvciBpbnZpc2libGUgc3VibWl0IHZp YSBQT1NUCioKKiBAcGFyYW0Jc3RyaW5nCVNjcmlwdCAobXlfdGFyZ2V0X3Njcmlw dC5waHApCiovCmZ1bmN0aW9uIHZCX0hpZGRlbl9Gb3JtKHNjcmlwdCkKewoJdGhp cy5hY3Rpb24gPSBzY3JpcHQ7Cgl0aGlzLnZhcmlhYmxlcyA9IG5ldyBBcnJheSgp Owp9CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyB2Ql9IaWRk ZW5fRm9ybSBtZXRob2RzCgovKioKKiBBZGRzIGEgaGlkZGVuIGlucHV0IGZpZWxk IHRvIHRoZSBmb3JtIG9iamVjdAoqCiogQHBhcmFtCXN0cmluZwlOYW1lIGF0dHJp YnV0ZQoqIEBwYXJhbQlzdHJpbmcJVmFsdWUgYXR0cmlidXRlCiovCnZCX0hpZGRl bl9Gb3JtLnByb3RvdHlwZS5hZGRfdmFyaWFibGUgPSBmdW5jdGlvbihuYW1lLCB2 YWx1ZSkKewoJdGhpcy52YXJpYWJsZXNbdGhpcy52YXJpYWJsZXMubGVuZ3RoXSA9 IG5ldyBBcnJheShuYW1lLCB2YWx1ZSk7Cgljb25zb2xlLmxvZygidkJfSGlkZGVu X0Zvcm0gOjogYWRkX3ZhcmlhYmxlKCVzKSIsIG5hbWUpOwp9OwoKLyoqCiogRmV0 Y2hlcyBhbGwgZm9ybSBlbGVtZW50cyBpbnNpZGUgYW4gSFRNTCBlbGVtZW50IGFu ZCBwZXJmb3JtcyAnYWRkX2lucHV0KCknIG9uIHRoZW0KKgoqIEBwYXJhbQlvYmpl Y3QJSFRNTCBlbGVtZW50IHRvIHNlYXJjaAoqLwp2Ql9IaWRkZW5fRm9ybS5wcm90 b3R5cGUuYWRkX3ZhcmlhYmxlc19mcm9tX29iamVjdCA9IGZ1bmN0aW9uKG9iaikK ewoJaWYgKCFvYmopCgl7CgkJcmV0dXJuOwoJfQoJY29uc29sZS5pbmZvKCJ2Ql9I aWRkZW5fRm9ybSA6OiBhZGRfdmFyaWFibGVzX2Zyb21fb2JqZWN0KCVzKSIsIG9i ai5pZCk7Cgl2YXIgaW5wdXRzID0gZmV0Y2hfdGFncyhvYmosICdpbnB1dCcpOwoJ Zm9yICh2YXIgaSA9IDA7IGkgPCBpbnB1dHMubGVuZ3RoOyBpKyspCgl7CgkJc3dp dGNoIChpbnB1dHNbaV0udHlwZSkKCQl7CgkJCWNhc2UgJ2NoZWNrYm94JzoKCQkJ Y2FzZSAncmFkaW8nOgoJCQkJaWYgKGlucHV0c1tpXS5jaGVja2VkKQoJCQkJewoJ CQkJCXRoaXMuYWRkX3ZhcmlhYmxlKGlucHV0c1tpXS5uYW1lLCBpbnB1dHNbaV0u dmFsdWUpOwoJCQkJfQoJCQkJYnJlYWs7CgkJCWNhc2UgJ3RleHQnOgoJCQljYXNl ICdoaWRkZW4nOgoJCQljYXNlICdwYXNzd29yZCc6CgkJCQl0aGlzLmFkZF92YXJp YWJsZShpbnB1dHNbaV0ubmFtZSwgaW5wdXRzW2ldLnZhbHVlKTsKCQkJCWJyZWFr OwoJCQlkZWZhdWx0OgoJCQkJY29udGludWU7CgkJfQoJfQoKCXZhciB0ZXh0YXJl YXMgPSBmZXRjaF90YWdzKG9iaiwgJ3RleHRhcmVhJyk7Cglmb3IgKHZhciBpID0g MDsgaSA8IHRleHRhcmVhcy5sZW5ndGg7IGkrKykKCXsKCQl0aGlzLmFkZF92YXJp YWJsZSh0ZXh0YXJlYXNbaV0ubmFtZSwgdGV4dGFyZWFzW2ldLnZhbHVlKTsKCX0K Cgl2YXIgc2VsZWN0cyA9IGZldGNoX3RhZ3Mob2JqLCAnc2VsZWN0Jyk7Cglmb3Ig KHZhciBpID0gMDsgaSA8IHNlbGVjdHMubGVuZ3RoOyBpKyspCgl7CgkJaWYgKHNl bGVjdHNbaV0ubXVsdGlwbGUpCgkJewoJCQlmb3IgKHZhciBqID0gMDsgaiA8IHNl bGVjdHNbaV0ub3B0aW9ucy5sZW5ndGg7IGorKykKCQkJewoJCQkJaWYgKHNlbGVj dHNbaV0ub3B0aW9uc1tqXS5zZWxlY3RlZCkKCQkJCXsKCQkJCQl0aGlzLmFkZF92 YXJpYWJsZShzZWxlY3RzW2ldLm5hbWUsIHNlbGVjdHNbaV0ub3B0aW9uc1tqXS52 YWx1ZSk7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJdGhpcy5hZGRfdmFy aWFibGUoc2VsZWN0c1tpXS5uYW1lLCBzZWxlY3RzW2ldLm9wdGlvbnNbc2VsZWN0 c1tpXS5zZWxlY3RlZEluZGV4XS52YWx1ZSk7CgkJfQoJfQp9OwoKLyoqCiogRmV0 Y2hlcyBhIHZhcmlhYmxlIHZhbHVlCioKKiBAcGFyYW0Jc3RyaW5nCVZhcmlhYmxl IG5hbWUKKgoqIEByZXR1cm4JbWl4ZWQJVmFyaWFibGUgdmFsdWUKKi8KdkJfSGlk ZGVuX0Zvcm0ucHJvdG90eXBlLmZldGNoX3ZhcmlhYmxlID0gZnVuY3Rpb24odmFy bmFtZSkKewoJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnZhcmlhYmxlcy5sZW5n dGg7IGkrKykKCXsKCQlpZiAodGhpcy52YXJpYWJsZXNbaV1bMF0gPT0gdmFybmFt ZSkKCQl7CgkJCXJldHVybiB0aGlzLnZhcmlhYmxlc1tpXVsxXTsKCQl9Cgl9CgoJ cmV0dXJuIG51bGw7Cn07CgovKioKKiBTdWJtaXRzIHRoZSBoaWRkZW4gZm9ybSBv YmplY3QKKi8KdkJfSGlkZGVuX0Zvcm0ucHJvdG90eXBlLnN1Ym1pdF9mb3JtID0g ZnVuY3Rpb24oKQp7Cgl0aGlzLmZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50 KCdmb3JtJyk7Cgl0aGlzLmZvcm0ubWV0aG9kID0gJ3Bvc3QnOwoJdGhpcy5mb3Jt LmFjdGlvbiA9IHRoaXMuYWN0aW9uOwoKCWZvciAodmFyIGkgPSAwOyBpIDwgdGhp cy52YXJpYWJsZXMubGVuZ3RoOyBpKyspCgl7CgkJdmFyIGlucHV0b2JqID0gZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKCgkJaW5wdXRvYmoudHlwZSAg PSAnaGlkZGVuJzsKCQlpbnB1dG9iai5uYW1lICA9IHRoaXMudmFyaWFibGVzW2ld WzBdOwoJCWlucHV0b2JqLnZhbHVlID0gdGhpcy52YXJpYWJsZXNbaV1bMV07CgoJ CXRoaXMuZm9ybS5hcHBlbmRDaGlsZChpbnB1dG9iaik7Cgl9CgoJY29uc29sZS5p bmZvKCJ2Ql9IaWRkZW5fRm9ybSA6OiBzdWJtaXRfZm9ybSgpIC0+ICVzIiwgdGhp cy5hY3Rpb24pOwoJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmZvcm0p LnN1Ym1pdCgpOwp9OwoKLyoqCiogQnVpbGRzIGEgVVJJIHF1ZXJ5IHN0cmluZyBm cm9tIHRoZSBnaXZlbiB2YXJpYWJsZXMKKi8KdkJfSGlkZGVuX0Zvcm0ucHJvdG90 eXBlLmJ1aWxkX3F1ZXJ5X3N0cmluZyA9IGZ1bmN0aW9uKCkKewoJdmFyIHF1ZXJ5 X3N0cmluZyA9ICcnOwoKCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy52YXJpYWJs ZXMubGVuZ3RoOyBpKyspCgl7CgkJcXVlcnlfc3RyaW5nICs9IHRoaXMudmFyaWFi bGVzW2ldWzBdICsgJz0nICsgUEhQLnVybGVuY29kZSh0aGlzLnZhcmlhYmxlc1tp XVsxXSkgKyAnJic7Cgl9CgoJY29uc29sZS5pbmZvKCJ2Ql9IaWRkZW5fRm9ybSA6 OiBRdWVyeSBTdHJpbmcgPSAlcyIsIHF1ZXJ5X3N0cmluZyk7CglyZXR1cm4gcXVl cnlfc3RyaW5nOwp9CgovKioKKiBMZWdhY3kgZnVuY3Rpb25zIGZvciBiYWNrd2Fy ZCBjb21wYXRhYmlsaXR5CiovCnZCX0hpZGRlbl9Gb3JtLnByb3RvdHlwZS5hZGRf aW5wdXQgPSB2Ql9IaWRkZW5fRm9ybS5wcm90b3R5cGUuYWRkX3ZhcmlhYmxlOwp2 Ql9IaWRkZW5fRm9ybS5wcm90b3R5cGUuYWRkX2lucHV0c19mcm9tX29iamVjdCA9 IHZCX0hpZGRlbl9Gb3JtLnByb3RvdHlwZS5hZGRfdmFyaWFibGVzX2Zyb21fb2Jq ZWN0OwoKLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gV2luZG93 IG9wZW5lcnMgYW5kIGluc3RhbnQgbWVzc2VuZ2VyIHdyYXBwZXJzCgovKioKKiBP cGVucyBhIGdlbmVyaWMgYnJvd3NlciB3aW5kb3cKKgoqIEBwYXJhbQlzdHJpbmcJ VVJMCiogQHBhcmFtCWludGVnZXIJV2lkdGgKKiBAcGFyYW0JaW50ZWdlcglIZWln aHQKKiBAcGFyYW0Jc3RyaW5nCU9wdGlvbmFsIFdpbmRvdyBJRAoqLwpmdW5jdGlv biBvcGVuV2luZG93KHVybCwgd2lkdGgsIGhlaWdodCwgd2luZG93aWQpCnsKCXJl dHVybiB3aW5kb3cub3BlbigKCQl1cmwsCgkJKHR5cGVvZiB3aW5kb3dpZCA9PSAn dW5kZWZpbmVkJyA/ICd2QlBvcHVwJyA6IHdpbmRvd2lkKSwKCQknc3RhdHVzYmFy PW5vLG1lbnViYXI9bm8sdG9vbGJhcj1ubyxzY3JvbGxiYXJzPXllcyxyZXNpemFi bGU9eWVzJwoJCSsgKHR5cGVvZiB3aWR0aCAhPSAndW5kZWZpbmVkJyA/ICgnLHdp ZHRoPScgKyB3aWR0aCkgOiAnJykgKyAodHlwZW9mIGhlaWdodCAhPSAndW5kZWZp bmVkJyA/ICgnLGhlaWdodD0nICsgaGVpZ2h0KSA6ICcnKQoJKTsKfQoKLyoqCiog T3BlbnMgY29udHJvbCBwYW5lbCBoZWxwIHdpbmRvdwoqCiogQHBhcmFtCXN0cmlu ZwlTY3JpcHQgbmFtZQoqIEBwYXJhbQlzdHJpbmcJQWN0aW9uIHR5cGUKKiBAcGFy YW0Jc3RyaW5nCU9wdGlvbiB2YWx1ZQoqCiogQHJldHVybgl3aW5kb3cKKi8KZnVu Y3Rpb24ganNfb3Blbl9oZWxwKHNjcmlwdG5hbWUsIGFjdGlvbnR5cGUsIG9wdGlv bnZhbCkKewoJcmV0dXJuIG9wZW5XaW5kb3coCgkJJ2hlbHAucGhwP3M9JyArIFNF U1NJT05IQVNIICsgJyZkbz1hbnN3ZXImcGFnZT0nICsgc2NyaXB0bmFtZSArICcm cGFnZWFjdGlvbj0nICsgYWN0aW9udHlwZSArICcmb3B0aW9uPScgKyBvcHRpb252 YWwsCgkJNjAwLCA0NTAsICdoZWxwd2luZG93JwoJKTsKfQoKLyoqCiogT3BlbnMg YSB3aW5kb3cgdG8gc2hvdyBhIGxpc3Qgb2YgYXR0YWNobWVudHMgaW4gYSB0aHJl YWQgKG1pc2MucGhwP2RvPXNob3dhdHRhY2htZW50cykKKgoqIEBwYXJhbQlpbnRl Z2VyCVRocmVhZCBJRAoqCiogQHJldHVybgl3aW5kb3cKKi8KZnVuY3Rpb24gYXR0 YWNobWVudHModGhyZWFkaWQpCnsKCXJldHVybiBvcGVuV2luZG93KAoJCSdtaXNj LnBocD8nICsgU0VTU0lPTlVSTCArICdkbz1zaG93YXR0YWNobWVudHMmdD0nICsg dGhyZWFkaWQsCgkJNDgwLCAzMDAKCSk7Cn0KCi8qKgoqIE9wZW5zIGEgd2luZG93 IHRvIHNob3cgYSBsaXN0IG9mIHBvc3RlcnMgaW4gYSB0aHJlYWQgKG1pc2MucGhw P2RvPXdob3Bvc3RlZCkKKgoqIEBwYXJhbQlpbnRlZ2VyCVRocmVhZCBJRAoqCiog QHJldHVybgl3aW5kb3cKKi8KZnVuY3Rpb24gd2hvKHRocmVhZGlkKQp7CglyZXR1 cm4gb3BlbldpbmRvdygKCQknbWlzYy5waHA/JyArIFNFU1NJT05VUkwgKyAnZG89 d2hvcG9zdGVkJnQ9JyArIHRocmVhZGlkLAoJCTIzMCwgMzAwCgkpOwp9CgovKioK KiBPcGVucyBhbiBJTSBXaW5kb3cKKgoqIEBwYXJhbQlzdHJpbmcJSU0gdHlwZQoq IEBwYXJhbQlpbnRlZ2VyCVVzZXIgSUQKKiBAcGFyYW0JaW50ZWdlcglXaWR0aCBv ZiB3aW5kb3cKKiBAcGFyYW0JaW50ZWdlcglIZWlnaHQgb2Ygd2luZG93CioKKiBA cmV0dXJuCXdpbmRvdwoqLwpmdW5jdGlvbiBpbXdpbmRvdyhpbXR5cGUsIHVzZXJp ZCwgd2lkdGgsIGhlaWdodCkKewoJcmV0dXJuIG9wZW5XaW5kb3coCgkJJ3NlbmRt ZXNzYWdlLnBocD8nICsgU0VTU0lPTlVSTCArICdkbz1pbSZ0eXBlPScgKyBpbXR5 cGUgKyAnJnU9JyArIHVzZXJpZCwKCQl3aWR0aCwgaGVpZ2h0CgkpOwp9CgovKioK KiBTZW5kcyBhbiBNU04gbWVzc2FnZQoqCiogQHBhcmFtCXN0cmluZwlUYXJnZXQg TVNOIGhhbmRsZQoqCiogQHJldHVybglib29sZWFuCWZhbHNlCiovCmZ1bmN0aW9u IFNlbmRNU05NZXNzYWdlKG5hbWUpCnsKCWlmICghaXNfaWUpCgl7CgkJYWxlcnQo dmJwaHJhc2VbJ21zbl9mdW5jdGlvbnNfb25seV93b3JrX2luX2llJ10pOwoJCXJl dHVybiBmYWxzZTsKCX0KCWVsc2UKCXsKCQlNc2dyT2JqLkluc3RhbnRNZXNzYWdl KG5hbWUpOwoJCXJldHVybiBmYWxzZTsKCX0KfQoKLyoqCiogQWRkcyBhbiBNU04g Q29udGFjdCAocmVxdWlyZXMgTVNOKQoqCiogQHBhcmFtCXN0cmluZwlNU04gaGFu ZGxlCioKKiBAcmV0dXJuCWJvb2xlYW4JZmFsc2UKKi8KZnVuY3Rpb24gQWRkTVNO Q29udGFjdChuYW1lKQp7CglpZiAoIWlzX2llKQoJewoJCWFsZXJ0KHZicGhyYXNl Wydtc25fZnVuY3Rpb25zX29ubHlfd29ya19pbl9pZSddKTsKCQlyZXR1cm4gZmFs c2U7Cgl9CgllbHNlCgl7CgkJTXNnck9iai5BZGRDb250YWN0KDAsIG5hbWUpOwoJ CXJldHVybiBmYWxzZTsKCX0KfQoKLyoqCiogRGV0ZWN0cyBDYXBzLUxvY2sgd2hl biBhIGtleSBpcyBwcmVzc2VkCioKKiBAcGFyYW0JZXZlbnQKKgoqIEByZXR1cm4J Ym9vbGVhbglUcnVlIGlmIENhcHMtTG9jayBpcyBvbgoqLwpmdW5jdGlvbiBkZXRl Y3RfY2Fwc19sb2NrKGUpCnsKCWUgPSAoZSA/IGUgOiB3aW5kb3cuZXZlbnQpOwoK CXZhciBrZXljb2RlID0gKGUud2hpY2ggPyBlLndoaWNoIDogKGUua2V5Q29kZSA/ IGUua2V5Q29kZSA6IChlLmNoYXJDb2RlID8gZS5jaGFyQ29kZSA6IDApKSk7Cgl2 YXIgc2hpZnRlZCA9IChlLnNoaWZ0S2V5IHx8IChlLm1vZGlmaWVycyAmJiAoZS5t b2RpZmllcnMgJiA0KSkpOwoJdmFyIGN0cmxlZCA9IChlLmN0cmxLZXkgfHwgKGUu bW9kaWZpZXJzICYmIChlLm1vZGlmaWVycyAmIDIpKSk7CgoJLy8gaWYgY2hhcmFj dGVycyBhcmUgdXBwZXJjYXNlIHdpdGhvdXQgc2hpZnQsIG9yIGxvd2VyY2FzZSB3 aXRoIHNoaWZ0LCBjYXBzLWxvY2sgaXMgb24uCglyZXR1cm4gKGtleWNvZGUgPj0g NjUgJiYga2V5Y29kZSA8PSA5MCAmJiAhc2hpZnRlZCAmJiAhY3RybGVkKSB8fCAo a2V5Y29kZSA+PSA5NyAmJiBrZXljb2RlIDw9IDEyMiAmJiBzaGlmdGVkKTsKfQoK LyoqCiogQ29uZmlybXMgbG9nLW91dCByZXF1ZXN0CioKKiBAcGFyYW0Jc3RyaW5n CUxvZy1vdXQgY29uZmlybWF0aW9uIG1lc3NhZ2UKKgoqIEByZXR1cm4JYm9vbGVh bgoqLwpmdW5jdGlvbiBsb2dfb3V0KGNvbmZpcm1hdGlvbl9tZXNzYWdlKQp7Cgl2 YXIgaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaHRtbCIpWzBd OwoJaHQuc3R5bGUuZmlsdGVyID0gInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1p Y3Jvc29mdC5CYXNpY0ltYWdlKGdyYXlzY2FsZT0xKSI7CglpZiAoY29uZmlybShj b25maXJtYXRpb25fbWVzc2FnZSkpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgllbHNl Cgl7CgkJaHQuc3R5bGUuZmlsdGVyID0gIiI7CgkJcmV0dXJuIGZhbHNlOwoJfQp9 CgovLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovLyBDb29raWUgaGFu ZGxlcnMKCi8qKgoqIFNldHMgYSBjb29raWUKKgoqIEBwYXJhbQlzdHJpbmcJQ29v a2llIG5hbWUKKiBAcGFyYW0Jc3RyaW5nCUNvb2tpZSB2YWx1ZQoqIEBwYXJhbQlk YXRlCUNvb2tpZSBleHBpcnkgZGF0ZQoqLwpmdW5jdGlvbiBzZXRfY29va2llKG5h bWUsIHZhbHVlLCBleHBpcmVzKQp7Cgljb25zb2xlLmxvZygiU2V0IENvb2tpZSA6 OiAlcyA9ICclcyciLCBuYW1lLCB2YWx1ZSk7Cglkb2N1bWVudC5jb29raWUgPSBu YW1lICsgJz0nICsgZXNjYXBlKHZhbHVlKSArICc7IHBhdGg9LycgKyAodHlwZW9m IGV4cGlyZXMgIT0gJ3VuZGVmaW5lZCcgPyAnOyBleHBpcmVzPScgKyBleHBpcmVz LnRvR01UU3RyaW5nKCkgOiAnJyk7Cn0KCi8qKgoqIERlbGV0ZXMgYSBjb29raWUK KgoqIEBwYXJhbQlzdHJpbmcJQ29va2llIG5hbWUKKi8KZnVuY3Rpb24gZGVsZXRl X2Nvb2tpZShuYW1lKQp7Cgljb25zb2xlLmxvZygiRGVsZXRlIENvb2tpZSA6OiAl cyIsIG5hbWUpOwoJZG9jdW1lbnQuY29va2llID0gbmFtZSArICc9JyArICc7IGV4 cGlyZXM9VGh1LCAwMS1KYW4tNzAgMDA6MDA6MDEgR01UJyArICAnOyBwYXRoPS8n Owp9CgovKioKKiBGZXRjaGVzIHRoZSB2YWx1ZSBvZiBhIGNvb2tpZQoqCiogQHBh cmFtCXN0cmluZwlDb29raWUgbmFtZQoqCiogQHJldHVybglzdHJpbmcKKi8KZnVu Y3Rpb24gZmV0Y2hfY29va2llKG5hbWUpCnsKCWNvb2tpZV9uYW1lID0gbmFtZSAr ICc9JzsKCWNvb2tpZV9sZW5ndGggPSBkb2N1bWVudC5jb29raWUubGVuZ3RoOwoJ Y29va2llX2JlZ2luID0gMDsKCXdoaWxlIChjb29raWVfYmVnaW4gPCBjb29raWVf bGVuZ3RoKQoJewoJCXZhbHVlX2JlZ2luID0gY29va2llX2JlZ2luICsgY29va2ll X25hbWUubGVuZ3RoOwoJCWlmIChkb2N1bWVudC5jb29raWUuc3Vic3RyaW5nKGNv b2tpZV9iZWdpbiwgdmFsdWVfYmVnaW4pID09IGNvb2tpZV9uYW1lKQoJCXsKCQkJ dmFyIHZhbHVlX2VuZCA9IGRvY3VtZW50LmNvb2tpZS5pbmRleE9mICgnOycsIHZh bHVlX2JlZ2luKTsKCQkJaWYgKHZhbHVlX2VuZCA9PSAtMSkKCQkJewoJCQkJdmFs dWVfZW5kID0gY29va2llX2xlbmd0aDsKCQkJfQoJCQl2YXIgY29va2llX3ZhbHVl ID0gdW5lc2NhcGUoZG9jdW1lbnQuY29va2llLnN1YnN0cmluZyh2YWx1ZV9iZWdp biwgdmFsdWVfZW5kKSk7CgkJCWNvbnNvbGUubG9nKCJGZXRjaCBDb29raWUgOjog JXMgPSAnJXMnIiwgbmFtZSwgY29va2llX3ZhbHVlKTsKCQkJcmV0dXJuIGNvb2tp ZV92YWx1ZTsKCQl9CgkJY29va2llX2JlZ2luID0gZG9jdW1lbnQuY29va2llLmlu ZGV4T2YoJyAnLCBjb29raWVfYmVnaW4pICsgMTsKCQlpZiAoY29va2llX2JlZ2lu ID09IDApCgkJewoJCQlicmVhazsKCQl9Cgl9Cgljb25zb2xlLmxvZygiRmV0Y2gg Q29va2llIDo6ICVzIChudWxsKSIsIG5hbWUpOwoJcmV0dXJuIG51bGw7Cn0KCi8v ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIEZvcm0gZWxlbWVudCBt YW5hZ2VycyAodXNlZCBmb3IgJ2NoZWNrIGFsbCcgdHlwZSBzeXN0ZW1zKQoKLyoq CiogU2V0cyBhbGwgY2hlY2tib3hlcywgcmFkaW8gYnV0dG9ucyBvciBzZWxlY3Rz IGluIGEgZ2l2ZW4gZm9ybSB0byBhIGdpdmVuIHN0YXRlLCB3aXRoIGV4Y2VwdGlv bnMKKgoqIEBwYXJhbQlvYmplY3QJRm9ybSBvYmplY3QKKiBAcGFyYW0Jc3RyaW5n CVRhcmdldCBlbGVtZW50IHR5cGUgKG9uZSBvZiAncmFkaW8nLCAnc2VsZWN0LW9u ZScsICdjaGVja2JveCcpCiogQHBhcmFtCXN0cmluZwlTZWxlY3RlZCBvcHRpb24g aW4gY2FzZSBvZiAncmFkaW8nCiogQHBhcmFtCWFycmF5CUFycmF5IG9mIGVsZW1l bnQgbmFtZXMgdG8gYmUgZXhjbHVkZWQKKiBAcGFyYW0JbWl4ZWQJVmFsdWUgdG8g Z2l2ZSB0byBmb3VuZCBlbGVtZW50cwoqLwpmdW5jdGlvbiBqc190b2dnbGVfYWxs KGZvcm1vYmosIGZvcm10eXBlLCBvcHRpb24sIGV4Y2x1ZGUsIHNldHRvKQp7Cglm b3IgKHZhciBpID0wOyBpIDwgZm9ybW9iai5lbGVtZW50cy5sZW5ndGg7IGkrKykK CXsKCQl2YXIgZWxtID0gZm9ybW9iai5lbGVtZW50c1tpXTsKCQlpZiAoZWxtLnR5 cGUgPT0gZm9ybXR5cGUgJiYgUEhQLmluX2FycmF5KGVsbS5uYW1lLCBleGNsdWRl LCBmYWxzZSkgPT0gLTEpCgkJewoJCQlzd2l0Y2ggKGZvcm10eXBlKQoJCQl7CgkJ CQljYXNlICdyYWRpbyc6CgkJCQkJaWYgKGVsbS52YWx1ZSA9PSBvcHRpb24pIC8v IG9wdGlvbiA9PSAnJyBldmFsdWF0ZXMgdHJ1ZSB3aGVuIG9wdGlvbiA9IDAKCQkJ CQl7CgkJCQkJCWVsbS5jaGVja2VkID0gc2V0dG87CgkJCQkJfQoJCQkJYnJlYWs7 CgkJCQljYXNlICdzZWxlY3Qtb25lJzoKCQkJCQllbG0uc2VsZWN0ZWRJbmRleCA9 IHNldHRvOwoJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCWVsbS5jaGVja2Vk ID0gc2V0dG87CgkJCQlicmVhazsKCQkJfQoJCX0KCX0KfQoKLyoqCiogU2V0cyBh bGwgPHNlbGVjdD4gZWxlbWVudHMgdG8gdGhlIHNlbGVjdGVkSW5kZXggc3BlY2lm aWVkIGJ5IHRoZSAnc2VsZWN0YWxsJyBlbGVtZW50CioKKiBAcGFyYW0Jb2JqZWN0 CUZvcm0gb2JqZWN0CiovCmZ1bmN0aW9uIGpzX3NlbGVjdF9hbGwoZm9ybW9iaikK ewoJZXhjbHVkZSA9IG5ldyBBcnJheSgpOwoJZXhjbHVkZVswXSA9ICdzZWxlY3Rh bGwnOwoJanNfdG9nZ2xlX2FsbChmb3Jtb2JqLCAnc2VsZWN0LW9uZScsICcnLCBl eGNsdWRlLCBmb3Jtb2JqLnNlbGVjdGFsbC5zZWxlY3RlZEluZGV4KTsKfQoKLyoq CiogU2V0cyBhbGwgPGlucHV0IHR5cGU9ImNoZWNrYm94IiAvPiBlbGVtZW50cyB0 byBoYXZlIHRoZSBzYW1lIGNoZWNrZWQgc3RhdHVzIGFzICdhbGxib3gnCioKKiBA cGFyYW0Jb2JqZWN0CUZvcm0gb2JqZWN0CiovCmZ1bmN0aW9uIGpzX2NoZWNrX2Fs bChmb3Jtb2JqKQp7CglleGNsdWRlID0gbmV3IEFycmF5KCk7CglleGNsdWRlWzBd ID0gJ2tlZXBhdHRhY2htZW50cyc7CglleGNsdWRlWzFdID0gJ2FsbGJveCc7Cgll eGNsdWRlWzJdID0gJ3JlbW92ZWFsbCc7Cglqc190b2dnbGVfYWxsKGZvcm1vYmos ICdjaGVja2JveCcsICcnLCBleGNsdWRlLCBmb3Jtb2JqLmFsbGJveC5jaGVja2Vk KTsKfQoKLyoqCiogU2V0cyBhbGwgPGlucHV0IHR5cGU9InJhZGlvIiAvPiBncm91 cHMgdG8gaGF2ZSBhIHBhcnRpY3VsYXIgb3B0aW9uIGNoZWNrZWQKKgoqIEBwYXJh bQlvYmplY3QJRm9ybSBvYmplY3QKKiBAcGFyYW0JbWl4ZWQJU2VsZWN0ZWQgb3B0 aW9uCiovCmZ1bmN0aW9uIGpzX2NoZWNrX2FsbF9vcHRpb24oZm9ybW9iaiwgb3B0 aW9uKQp7CglleGNsdWRlID0gbmV3IEFycmF5KCk7CglleGNsdWRlWzBdID0gJ3Vz ZXVzZXJncm91cCc7Cglqc190b2dnbGVfYWxsKGZvcm1vYmosICdyYWRpbycsIG9w dGlvbiwgZXhjbHVkZSwgdHJ1ZSk7Cn0KCi8qKgoqIEFsaWFzIHRvIGpzX2NoZWNr X2FsbAoqLwpmdW5jdGlvbiBjaGVja2FsbChmb3Jtb2JqKQp7Cglqc19jaGVja19h bGwoZm9ybW9iaik7Cn0KCi8qKgoqIEFsaWFzIHRvIGpzX2NoZWNrX2FsbF9vcHRp b24KKi8KZnVuY3Rpb24gY2hlY2thbGxfb3B0aW9uKGZvcm1vYmosIG9wdGlvbikK ewoJanNfY2hlY2tfYWxsX29wdGlvbihmb3Jtb2JqLCBvcHRpb24pOwp9CgovKioK KiBSZXNpemUgZnVuY3Rpb24gZm9yIENQIHRleHRhcmVhcwoqCiogQHBhcmFtCWlu dGVnZXIJSWYgcG9zaXRpdmUsIHNpemUgdXAsIG90aGVyd2lzZSBzaXplIGRvd24K KiBAcGFyYW0Jc3RyaW5nCUlEIG9mIHRoZSB0ZXh0YXJlYQoqCiogQHJldHVybgli b29sZWFuCWZhbHNlCiovCmZ1bmN0aW9uIHJlc2l6ZV90ZXh0YXJlYSh0bywgaWQp CnsKCWlmICh0byA8IDApCgl7CgkJdmFyIHJvd3MgPSAtNTsKCQl2YXIgY29scyA9 IC0xMDsKCX0KCWVsc2UKCXsKCQl2YXIgcm93cyA9IDU7CgkJdmFyIGNvbHMgPSAx MDsKCX0KCgl2YXIgdGV4dGFyZWEgPSBmZXRjaF9vYmplY3QoaWQpOwoJaWYgKHR5 cGVvZiB0ZXh0YXJlYS5vcmlnX3Jvd3MgPT0gJ3VuZGVmaW5lZCcpCgl7CgkJdGV4 dGFyZWEub3JpZ19yb3dzID0gdGV4dGFyZWEucm93czsKCQl0ZXh0YXJlYS5vcmln X2NvbHMgPSB0ZXh0YXJlYS5jb2xzOwoJfQoKCXZhciBuZXdyb3dzID0gdGV4dGFy ZWEucm93cyArIHJvd3M7Cgl2YXIgbmV3Y29scyA9IHRleHRhcmVhLmNvbHMgKyBj b2xzOwoKCWlmIChuZXdyb3dzID49IHRleHRhcmVhLm9yaWdfcm93cyAmJiBuZXdj b2xzID49IHRleHRhcmVhLm9yaWdfY29scykKCXsKCQl0ZXh0YXJlYS5yb3dzID0g bmV3cm93czsKCQl0ZXh0YXJlYS5jb2xzID0gbmV3Y29sczsKCX0KCglyZXR1cm4g ZmFsc2U7Cn0KCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIENv bGxhcHNpYmxlIGVsZW1lbnQgaGFuZGxlcnMKCi8qKgoqIFRvZ2dsZXMgdGhlIGNv bGxhcHNlIHN0YXRlIG9mIGFuIG9iamVjdCwgYW5kIHNhdmVzIHN0YXRlIHRvICd2 YnVsbGV0aW5fY29sbGFwc2UnIGNvb2tpZQoqCiogQHBhcmFtCXN0cmluZwlVbmlx dWUgSUQgZm9yIHRoZSBjb2xsYXBzZSBncm91cAoqCiogQHJldHVybglib29sZWFu CWZhbHNlCiovCmZ1bmN0aW9uIHRvZ2dsZV9jb2xsYXBzZShvYmppZCkKewoJaWYg KCFpc19yZWdleHApCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoKCW9iaiA9IGZldGNo X29iamVjdCgnY29sbGFwc2VvYmpfJyArIG9iamlkKTsKCWltZyA9IGZldGNoX29i amVjdCgnY29sbGFwc2VpbWdfJyArIG9iamlkKTsKCWNlbCA9IGZldGNoX29iamVj dCgnY29sbGFwc2VjZWxfJyArIG9iamlkKTsKCglpZiAoIW9iaikKCXsKCQkvLyBu b3RoaW5nIHRvIGNvbGxhcHNlIQoJCWlmIChpbWcpCgkJewoJCQkvLyBoaWRlIHRo ZSBjbGlja3kgaW1hZ2UgaWYgdGhlcmUgaXMgb25lCgkJCWltZy5zdHlsZS5kaXNw bGF5ID0gJ25vbmUnOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgoJaWYgKG9iai5z dHlsZS5kaXNwbGF5ID09ICdub25lJykKCXsKCQlvYmouc3R5bGUuZGlzcGxheSA9 ICcnOwoJCXNhdmVfY29sbGFwc2VkKG9iamlkLCBmYWxzZSk7CgkJaWYgKGltZykK CQl7CgkJCWltZ19yZSA9IG5ldyBSZWdFeHAoIl9jb2xsYXBzZWRcXC5naWYkIik7 CgkJCWltZy5zcmMgPSBpbWcuc3JjLnJlcGxhY2UoaW1nX3JlLCAnLmdpZicpOwoJ CX0KCQlpZiAoY2VsKQoJCXsKCQkJY2VsX3JlID0gbmV3IFJlZ0V4cCgiXih0aGVh ZHx0Y2F0KShfY29sbGFwc2VkKSQiKTsKCQkJY2VsLmNsYXNzTmFtZSA9IGNlbC5j bGFzc05hbWUucmVwbGFjZShjZWxfcmUsICckMScpOwoJCX0KCX0KCWVsc2UKCXsK CQlvYmouc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQlzYXZlX2NvbGxhcHNlZChv YmppZCwgdHJ1ZSk7CgkJaWYgKGltZykKCQl7CgkJCWltZ19yZSA9IG5ldyBSZWdF eHAoIlxcLmdpZiQiKTsKCQkJaW1nLnNyYyA9IGltZy5zcmMucmVwbGFjZShpbWdf cmUsICdfY29sbGFwc2VkLmdpZicpOwoJCX0KCQlpZiAoY2VsKQoJCXsKCQkJY2Vs X3JlID0gbmV3IFJlZ0V4cCgiXih0aGVhZHx0Y2F0KSQiKTsKCQkJY2VsLmNsYXNz TmFtZSA9IGNlbC5jbGFzc05hbWUucmVwbGFjZShjZWxfcmUsICckMV9jb2xsYXBz ZWQnKTsKCQl9Cgl9CglyZXR1cm4gZmFsc2U7Cn0KCi8qKgoqIFVwZGF0ZXMgdmJ1 bGxldGluX2NvbGxhcHNlIGNvb2tpZSB3aXRoIGNvbGxhcHNlIHByZWZlcmVuY2Vz CioKKiBAcGFyYW0Jc3RyaW5nCVVuaXF1ZSBJRCBmb3IgdGhlIGNvbGxhcHNlIGdy b3VwCiogQHBhcmFtCWJvb2xlYW4JQWRkIGEgY29va2llCiovCmZ1bmN0aW9uIHNh dmVfY29sbGFwc2VkKG9iamlkLCBhZGRjb2xsYXBzZWQpCnsKCXZhciBjb2xsYXBz ZWQgPSBmZXRjaF9jb29raWUoJ3ZidWxsZXRpbl9jb2xsYXBzZScpOwoJdmFyIHRt cCA9IG5ldyBBcnJheSgpOwoKCWlmIChjb2xsYXBzZWQgIT0gbnVsbCkKCXsKCQlj b2xsYXBzZWQgPSBjb2xsYXBzZWQuc3BsaXQoJ1xuJyk7CgoJCWZvciAodmFyIGkg aW4gY29sbGFwc2VkKQoJCXsKCQkJaWYgKGNvbGxhcHNlZFtpXSAhPSBvYmppZCAm JiBjb2xsYXBzZWRbaV0gIT0gJycpCgkJCXsKCQkJCXRtcFt0bXAubGVuZ3RoXSA9 IGNvbGxhcHNlZFtpXTsKCQkJfQoJCX0KCX0KCglpZiAoYWRkY29sbGFwc2VkKQoJ ewoJCXRtcFt0bXAubGVuZ3RoXSA9IG9iamlkOwoJfQoKCWV4cGlyZXMgPSBuZXcg RGF0ZSgpOwoJZXhwaXJlcy5zZXRUaW1lKGV4cGlyZXMuZ2V0VGltZSgpICsgKDEw MDAgKiA4NjQwMCAqIDM2NSkpOwoJc2V0X2Nvb2tpZSgndmJ1bGxldGluX2NvbGxh cHNlJywgdG1wLmpvaW4oJ1xuJyksIGV4cGlyZXMpOwp9CgovLyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwovLyBFdmVudCBIYW5kbGVycyBmb3IgUGFnZU5h diBtZW51cwoKLyoqCiogQ2xhc3MgdG8gaGFuZGxlIHBhZ2VuYXYgZXZlbnRzCiov CmZ1bmN0aW9uIHZCcGFnZW5hdigpCnsKfQoKLyoqCiogSGFuZGxlcyBjbGlja3Mg b24gcGFnZW5hdiBtZW51IGNvbnRyb2wgb2JqZWN0cwoqLwp2QnBhZ2VuYXYucHJv dG90eXBlLmNvbnRyb2xvYmpfb25jbGljayA9IGZ1bmN0aW9uKGUpCnsKCXRoaXMu X29uY2xpY2soZSk7Cgl2YXIgaW5wdXRzID0gZmV0Y2hfdGFncyh0aGlzLm1lbnUu bWVudW9iaiwgJ2lucHV0Jyk7Cglmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0cy5s ZW5ndGg7IGkrKykKCXsKCQlpZiAoaW5wdXRzW2ldLnR5cGUgPT0gJ3RleHQnKQoJ CXsKCQkJaW5wdXRzW2ldLmZvY3VzKCk7CgkJCWJyZWFrOwoJCX0KCX0KfTsKCi8q KgoqIFN1Ym1pdHMgdGhlIHBhZ2VuYXYgZm9ybS4uLiBzb3J0IG9mCiovCnZCcGFn ZW5hdi5wcm90b3R5cGUuZm9ybV9nb3RvcGFnZSA9IGZ1bmN0aW9uKGUpCnsKCWlm ICgocGFnZW51bSA9IHBhcnNlSW50KGZldGNoX29iamVjdCgncGFnZW5hdl9pdHh0 JykudmFsdWUsIDEwKSkgPiAwKQoJewoJCXdpbmRvdy5sb2NhdGlvbiA9IHRoaXMu YWRkciArICcmcGFnZT0nICsgcGFnZW51bTsKCX0KCXJldHVybiBmYWxzZTsKfTsK Ci8qKgoqIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSAnR28nIGJ1dHRvbiBpbiBwYWdl bmF2IHBvcHVwcwoqLwp2QnBhZ2VuYXYucHJvdG90eXBlLmlidG5fb25jbGljayA9 IGZ1bmN0aW9uKGUpCnsKCXJldHVybiB0aGlzLmZvcm0uZ290b3BhZ2UoKTsKfTsK Ci8qKgoqIEhhbmRsZXMga2V5cHJlc3NlcyBpbiB0aGUgdGV4dCBpbnB1dCBvZiBw YWdlbmF2IHBvcHVwcwoqLwp2QnBhZ2VuYXYucHJvdG90eXBlLml0eHRfb25rZXlw cmVzcyA9IGZ1bmN0aW9uKGUpCnsKCXJldHVybiAoKGUgPyBlIDogd2luZG93LmV2 ZW50KS5rZXlDb2RlID09IDEzID8gdGhpcy5mb3JtLmdvdG9wYWdlKCkgOiB0cnVl KTsKfTsKCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIERIVE1M IFBvcHVwIE1lbnUgSGFuZGxpbmcgKGNvbXBsZW1lbnRzIHZidWxsZXRpbl9tZW51 LmpzKQoKLyoqCiogV3JhcHBlciBmb3IgdkJtZW51LnJlZ2lzdGVyCioKKiBAcGFy YW0Jc3RyaW5nCUNvbnRyb2wgSUQKKiBAcGFyYW0JYm9vbGVhbglObyBpbWFnZSAo dHJ1ZSkKKiBAcGFyYW0JYm9vbGVhbglEb2VzIG5vdGhpbmcgYW55IG1vcmUKKi8K ZnVuY3Rpb24gdmJtZW51X3JlZ2lzdGVyKGNvbnRyb2xpZCwgbm9pbWFnZSwgZGF0 ZWZpZWxkKQp7CglpZiAodHlwZW9mKHZCbWVudSkgPT0gIm9iamVjdCIpCgl7CgkJ cmV0dXJuIHZCbWVudS5yZWdpc3Rlcihjb250cm9saWQsIG5vaW1hZ2UpOwoJfQoJ ZWxzZQoJewoJCXJldHVybiBmYWxzZTsKCX0KfQoKLy8gIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKLy8gU3R1ZmYgdGhhdCByZWFsbHkgZG9lc24ndCBmaXQg YW55d2hlcmUgZWxzZQoKLyoqCiogU2V0cyBhbiBlbGVtZW50IGFuZCBhbGwgaXRz IGNoaWxkcmVuIHRvIGJlICd1bnNlbGVjdGFibGUnCioKKiBAcGFyYW0Jb2JqZWN0 CU9iamVjdCB0byBiZSBtYWRlIHVuc2VsZWN0YWJsZQoqLwpmdW5jdGlvbiBzZXRf dW5zZWxlY3RhYmxlKG9iaikKewoJaWYgKCFpc19pZTQgJiYgdHlwZW9mIG9iai50 YWdOYW1lICE9ICd1bmRlZmluZWQnKQoJewoJCWlmIChvYmouaGFzQ2hpbGROb2Rl cygpKQoJCXsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBvYmouY2hpbGROb2Rlcy5s ZW5ndGg7IGkrKykKCQkJewoJCQkJc2V0X3Vuc2VsZWN0YWJsZShvYmouY2hpbGRO b2Rlc1tpXSk7CgkJCX0KCQl9CgkJb2JqLnVuc2VsZWN0YWJsZSA9ICdvbic7Cgl9 Cn0KCi8qKgoqIEZldGNoZXMgdGhlIHNlc3Npb25oYXNoIGZyb20gdGhlIFNFU1NJ T05VUkwgdmFyaWFibGUKKgoqIEByZXR1cm4Jc3RyaW5nCiovCmZ1bmN0aW9uIGZl dGNoX3Nlc3Npb25oYXNoKCkKewoJcmV0dXJuIChTRVNTSU9OVVJMID09ICcnID8g JycgOiBTRVNTSU9OVVJMLnN1YnN0cigyLCAzMikpOwp9CgovKioKKiBFbXVsYXRl cyB0aGUgUEhQIHZlcnNpb24gb2YgdkJ1bGxldGluJ3MgY29uc3RydWN0X3BocmFz ZSgpIHNwcmludGYgd3JhcHBlcgoqCiogQHBhcmFtCXN0cmluZwlTdHJpbmcgY29u dGFpbmluZyAlMSRzIHR5cGUgcmVwbGFjZW1lbnQgbWFya2VycwoqIEBwYXJhbQlz dHJpbmcJRmlyc3QgcmVwbGFjZW1lbnQKKiBAcGFyYW0Jc3RyaW5nCU50aCByZXBs YWNlbWVudAoqCiogQHJldHVybglzdHJpbmcKKi8KZnVuY3Rpb24gY29uc3RydWN0 X3BocmFzZSgpCnsKCWlmICghYXJndW1lbnRzIHx8IGFyZ3VtZW50cy5sZW5ndGgg PCAxIHx8ICFpc19yZWdleHApCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoKCXZhciBh cmdzID0gYXJndW1lbnRzOwoJdmFyIHN0ciA9IGFyZ3NbMF07Cgl2YXIgcmU7CgoJ Zm9yICh2YXIgaSA9IDE7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKQoJewoJCXJlID0g bmV3IFJlZ0V4cCgiJSIgKyBpICsgIlxcJHMiLCAnZ2knKTsKCQlzdHIgPSBzdHIu cmVwbGFjZShyZSwgYXJnc1tpXSk7Cgl9CglyZXR1cm4gc3RyOwp9CgovKioKKiBI YW5kbGVzIHRoZSBxdWljayBzdHlsZS9sYW5ndWFnZSBvcHRpb25zIGluIHRoZSBm b290ZXIKKgoqIEBwYXJhbQlvYmplY3QJU2VsZWN0IG9iamVjdAoqIEBwYXJhbQlz dHJpbmcJVHlwZSAoc3R5bGUgb3IgbGFuZ3VhZ2UpCiovCmZ1bmN0aW9uIHN3aXRj aF9pZChzZWxlY3RvYmosIHR5cGUpCnsKCXZhciBpZCA9IHNlbGVjdG9iai5vcHRp b25zW3NlbGVjdG9iai5zZWxlY3RlZEluZGV4XS52YWx1ZTsKCglpZiAoaWQgPT0g JycpCgl7CgkJcmV0dXJuOwoJfQoKCXZhciB1cmwgPSBuZXcgU3RyaW5nKHdpbmRv dy5sb2NhdGlvbik7Cgl2YXIgZnJhZ21lbnQgPSBuZXcgU3RyaW5nKCcnKTsKCgkv LyBnZXQgcmlkIG9mIGZyYWdtZW50Cgl1cmwgPSB1cmwuc3BsaXQoJyMnKTsKCgkv LyBkZWFsIHdpdGggdGhlIGZyYWdtZW50IGZpcnN0CglpZiAodXJsWzFdKQoJewoJ CWZyYWdtZW50ID0gJyMnICsgdXJsWzFdOwoJfQoKCS8vIGRlYWwgd2l0aCB0aGUg bWFpbiB1cmwKCXVybCA9IHVybFswXTsKCgkvLyByZW1vdmUgaWQ9eCYgZnJvbSBt YWluIGJpdAoJaWYgKHVybC5pbmRleE9mKHR5cGUgKyAnaWQ9JykgIT0gLTEgJiYg aXNfcmVnZXhwKQoJewoJCXJlID0gbmV3IFJlZ0V4cCh0eXBlICsgImlkPVxcZCsm PyIpOwoJCXVybCA9IHVybC5yZXBsYWNlKHJlLCAnJyk7Cgl9CgoJLy8gYWRkIHRo ZSA/IHRvIHRoZSB1cmwgaWYgbmVlZGVkCglpZiAodXJsLmluZGV4T2YoJz8nKSA9 PSAtMSkKCXsKCQl1cmwgKz0gJz8nOwoJfQoJZWxzZQoJewoJCS8vIG1ha2Ugc3Vy ZSB0aGF0IHdlIGhhdmUgYSB2YWxpZCBjaGFyYWN0ZXIgdG8gam9pbiBvdXIgaWQg Yml0CgkJbGFzdGNoYXIgPSB1cmwuc3Vic3RyKHVybC5sZW5ndGggLSAxKTsKCQlp ZiAobGFzdGNoYXIgIT0gJyYnICYmIGxhc3RjaGFyICE9ICc/JykKCQl7CgkJCXVy bCArPSAnJic7CgkJfQoJfQoKCXdpbmRvdy5sb2NhdGlvbiA9IHVybCArIHR5cGUg KyAnaWQ9JyArIGlkICsgZnJhZ21lbnQ7Cn0KCi8qKgoqIFRha2VzIHRoZSAnYWx0 JyBhdHRyaWJ1dGUgZm9yIGFuIGltYWdlIGFuZCBhdHRhY2hlcyBpdCB0byB0aGUg J3RpdGxlJyBhdHRyaWJ1dGUKKgoqIEBwYXJhbQlvYmplY3QJSW1hZ2Ugb2JqZWN0 CiovCmZ1bmN0aW9uIGltZ19hbHRfMl90aXRsZShpbWcpCnsKCWlmICghaW1nLnRp dGxlICYmIGltZy5hbHQgIT0gJycpCgl7CgkJaW1nLnRpdGxlID0gaW1nLmFsdDsK CX0KfQoKLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gSW5pdGlh bGl6ZSBhIFBvc3RCaXQKCi8qKgoqIFRoaXMgZnVuY3Rpb24gcnVucyBhbGwgdGhl IG5lY2Vzc2FyeSBKYXZhc2NyaXB0IGNvZGUgb24gYSBQb3N0Qml0CiogYWZ0ZXIg aXQgaGFzIGJlZW4gbG9hZGVkIHZpYSBBSkFYLiBEb24ndCB1c2UgdGhpcyBtZXRo b2QgYmVmb3JlIGEKKiBjb21wbGV0ZSBwYWdlIGxvYWQgb3IgeW91J2xsIGhhdmUg cHJvYmxlbXMuCioKKiBAcGFyYW0Jb2JqZWN0CU9iamVjdCBjb250YWluaW5nIHBv c3RiaXRzCiovCmZ1bmN0aW9uIFBvc3RCaXRfSW5pdChvYmosIHBvc3RpZCkKewoJ Y29uc29sZS5sb2coIlBvc3RCaXQgSW5pdDogJWQiLCBwb3N0aWQpOwoKCWlmICh0 eXBlb2YgdkJtZW51ICE9ICd1bmRlZmluZWQnKQoJewoJCS8vIGluaXQgcHJvZmls ZSBtZW51KHMpCgkJdmFyIGRpdnMgPSBmZXRjaF90YWdzKG9iaiwgJ2RpdicpOwoJ CWZvciAodmFyIGkgPSAwOyBpIDwgZGl2cy5sZW5ndGg7IGkrKykKCQl7CgkJCWlm IChkaXZzW2ldLmlkICYmIGRpdnNbaV0uaWQuc3Vic3RyKDAsIDkpID09ICdwb3N0 bWVudV8nKQoJCQl7CgkJCQl2Qm1lbnUucmVnaXN0ZXIoZGl2c1tpXS5pZCwgdHJ1 ZSk7CgkJCX0KCQl9Cgl9CgoJaWYgKHR5cGVvZiB2Ql9RdWlja0VkaXRvciAhPSAn dW5kZWZpbmVkJykKCXsKCQkvLyBpbml0IHF1aWNrIGVkaXQgY29udHJvbHMKCQl2 Ql9BSkFYX1F1aWNrRWRpdF9Jbml0KG9iaik7Cgl9CgoJaWYgKHR5cGVvZiB2Ql9R dWlja1JlcGx5ICE9ICd1bmRlZmluZWQnKQoJewoJCS8vIGluaXQgcXVpY2sgcmVw bHkgYnV0dG9uCgkJcXJfaW5pdF9idXR0b25zKG9iaik7Cgl9CgoJaWYgKHR5cGVv ZiBtcV9pbml0ICE9ICd1bmRlZmluZWQnKQoJewoJCS8vIGluaXQgcXVpY2sgcmVw bHkgYnV0dG9uCgkJbXFfaW5pdChvYmopOwoJfQoKCWlmICh0eXBlb2YgdkJyZXAg IT0gJ3VuZGVmaW5lZCcpCgl7CgkJaWYgKHR5cGVvZiBwb3N0aWQgIT0gJ3VuZGVm aW5lZCcgJiYgdHlwZW9mIHBvc3RpZCAhPSAnbnVsbCcpCgkJewoJCQl2YnJlcF9y ZWdpc3Rlcihwb3N0aWQpOwoJCX0KCX0KCglpZiAodHlwZW9mIGlubGluZU1vZCAh PSAndW5kZWZpbmVkJykKCXsKCQlpbV9pbml0KG9iaik7Cgl9Cn0KCi8vICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIE1haW4gdkJ1bGxldGluIEphdmFz Y3JpcHQgSW5pdGlhbGl6YXRpb24KCi8qKgoqIFRoaXMgZnVuY3Rpb24gcnVucyAo YWxtb3N0KSBhdCB0aGUgZW5kIG9mIHNjcmlwdCBsb2FkaW5nIG9uIG1vc3QgdkJ1 bGxldGluIHBhZ2VzCioKKiBJdCBzZXRzIHVwIHRoaW5ncyBsaWtlIGltYWdlIGFs dC0+dGl0bGUgdGFncywgdHVybnMgb24gdGhlIHBvcHVwIG1lbnUgc3lzdGVtIGV0 Yy4KKgoqIEByZXR1cm4JYm9vbGVhbgoqLwpmdW5jdGlvbiB2QnVsbGV0aW5faW5p dCgpCnsKCS8vIGRvbid0IGJvdGhlciBkb2luZyBhbnkgZXhjaXRpbmcgc3R1ZmYg Zm9yIFdlYlRWCglpZiAoaXNfd2VidHYpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoK CS8vIHNldCAndGl0bGUnIHRhZ3MgZm9yIGltYWdlIGVsZW1lbnRzCgl2YXIgaW1n cyA9IGZldGNoX3RhZ3MoZG9jdW1lbnQsICdpbWcnKTsKCWZvciAodmFyIGkgPSAw OyBpIDwgaW1ncy5sZW5ndGg7IGkrKykKCXsKCQlpbWdfYWx0XzJfdGl0bGUoaW1n c1tpXSk7Cgl9CgoJLy8gZmluYWxpemUgcG9wdXAgbWVudXMKCWlmICh0eXBlb2Yg dkJtZW51ID09ICdvYmplY3QnKQoJewoJCS8vIGNsb3NlIGFsbCBtZW51cyBvbiBk b2N1bWVudCBjbGljayBvciByZXNpemUKCQlpZiAodHlwZW9mKFlBSE9PKSAhPSAi dW5kZWZpbmVkIikKCQl7CgkJCVlBSE9PLnV0aWwuRXZlbnQub24oZG9jdW1lbnQs ICJjbGljayIsIHZibWVudV9oaWRlKTsKCQkJWUFIT08udXRpbC5FdmVudC5vbih3 aW5kb3csICJyZXNpemUiLCB2Ym1lbnVfaGlkZSk7CgkJfQoJCWVsc2UgaWYgKHdp bmRvdy5hdHRhY2hFdmVudCAmJiAhaXNfc2FmKQoJCXsKCQkJZG9jdW1lbnQuYXR0 YWNoRXZlbnQoJ29uY2xpY2snLCB2Ym1lbnVfaGlkZSk7CgkJCXdpbmRvdy5hdHRh Y2hFdmVudCgnb25yZXNpemUnLCB2Ym1lbnVfaGlkZSk7CgkJfQoJCWVsc2UgaWYg KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgJiYgIWlzX3NhZikKCQl7CgkJCWRv Y3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdmJtZW51X2hpZGUsIGZh bHNlKTsKCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHZibWVu dV9oaWRlLCBmYWxzZSk7CgkJfQoJCWVsc2UKCQl7CgkJCXdpbmRvdy5vbmNsaWNr ID0gdmJtZW51X2hpZGU7CgkJCXdpbmRvdy5vbnJlc2l6ZSA9IHZibWVudV9oaWRl OwoJCX0KCgkJLy8gYWRkIHBvcHVwcyB0byBwYWdlbmF2IGVsZW1lbnRzCgkJdmFy IHBhZ2VuYXZzID0gZmV0Y2hfdGFncyhkb2N1bWVudCwgJ3RkJyk7CgkJZm9yICh2 YXIgbiA9IDA7IG4gPCBwYWdlbmF2cy5sZW5ndGg7IG4rKykKCQl7CgkJCWlmIChw YWdlbmF2c1tuXS5oYXNDaGlsZE5vZGVzKCkgJiYgcGFnZW5hdnNbbl0uZmlyc3RD aGlsZC5uYW1lICYmIHBhZ2VuYXZzW25dLmZpcnN0Q2hpbGQubmFtZS5pbmRleE9m KCdQYWdlTmF2JykgIT0gLTEpCgkJCXsKCQkJCXZhciBhZGRyID0gcGFnZW5hdnNb bl0udGl0bGU7CgkJCQlwYWdlbmF2c1tuXS50aXRsZSA9ICcnOwoJCQkJcGFnZW5h dnNbbl0uaW5uZXJIVE1MID0gJyc7CgkJCQlwYWdlbmF2c1tuXS5pZCA9ICdwYWdl bmF2LicgKyBuOwoJCQkJdmFyIHBuID0gdkJtZW51LnJlZ2lzdGVyKHBhZ2VuYXZz W25dLmlkKTsKCQkJCWlmIChpc19zYWYpCgkJCQl7CgkJCQkJcG4uY29udHJvbG9i ai5fb25jbGljayA9IHBuLmNvbnRyb2xvYmoub25jbGljazsKCQkJCQlwbi5jb250 cm9sb2JqLm9uY2xpY2sgPSB2QnBhZ2VuYXYucHJvdG90eXBlLmNvbnRyb2xvYmpf b25jbGljazsKCQkJCX0KCQkJfQoJCX0KCgkJLy8gcHJvY2VzcyB0aGUgcGFnZW5h dnMgcG9wdXAgZm9ybQoJCWlmICh0eXBlb2YgYWRkciAhPSAndW5kZWZpbmVkJykK CQl7CgkJCWZldGNoX29iamVjdCgncGFnZW5hdl9mb3JtJykuYWRkciA9IGFkZHI7 CgkJCWZldGNoX29iamVjdCgncGFnZW5hdl9mb3JtJykuZ290b3BhZ2UgPSB2QnBh Z2VuYXYucHJvdG90eXBlLmZvcm1fZ290b3BhZ2U7CgkJCWZldGNoX29iamVjdCgn cGFnZW5hdl9pYnRuJykub25jbGljayA9IHZCcGFnZW5hdi5wcm90b3R5cGUuaWJ0 bl9vbmNsaWNrOwoJCQlmZXRjaF9vYmplY3QoJ3BhZ2VuYXZfaXR4dCcpLm9ua2V5 cHJlc3MgPSB2QnBhZ2VuYXYucHJvdG90eXBlLml0eHRfb25rZXlwcmVzczsKCQl9 CgoJCS8vIGFjdGl2YXRlIHRoZSBtZW51IHN5c3RlbQoJCXZCbWVudS5hY3RpdmF0 ZSh0cnVlKTsKCX0KCgkvLyB0aGUgbmV3IGluaXQgc3lzdGVtCgl2QnVsbGV0aW4u aW5pdCgpOwoKCXJldHVybiB0cnVlOwp9CgovLyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwovLyB2QnVsbGV0aW4gSmF2YXNjcmlwdCBGcmFtZXdvcmsKCi8q KgoqIEdlbmVyYWwgY2xhc3MgZm9yIGhhbmRsaW5nIGN1c3RvbSBldmVudHMgYW5k IGN1c3RvbSBjb250cm9scwoqLwpmdW5jdGlvbiB2QnVsbGV0aW5fRnJhbWV3b3Jr KCkKewoJLyoqCgkqIEB2YXIJYXJyYXkJQXJyYXkgb2YgZWxlbWVudHMgdG8gYmUg cGFzc2VkIHRvIGNvbnRyb2wgaW5pdCBmdW5jdGlvbnMKCSogQHZhcglhcnJheQlB cnJheSBvZiBBSkFYIGxvYWQvc2F2ZSBVUkxzCgkqIEB2YXIJYXJyYXkJQXJyYXkg b2YgWVVJIGN1c3RvbSBldmVudHMKCSogQHZhcglkYXRlCUN1cnJlbnQgdGltZQoJ Ki8KCXRoaXMuZWxlbWVudHMgPSBuZXcgQXJyYXkoKTsKCXRoaXMuYWpheHVybHMg PSBuZXcgQXJyYXkoKTsKCXRoaXMuZXZlbnRzID0gbmV3IEFycmF5KCk7Cgl0aGlz LnRpbWUgPSBuZXcgRGF0ZSgpOwoKCS8vIGN1c3RvbSBldmVudCB0byBmaXJlIGR1 cmluZyBjbGFzcyBpbml0Cgl0aGlzLmFkZF9ldmVudCgic3lzdGVtSW5pdCIpOwp9 CgovKioKKiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IC0gdXN1YWxseSBjYWxsZWQg YXQgZW5kIG9mIGZvb3RlciB0ZW1wbGF0ZQoqLwp2QnVsbGV0aW5fRnJhbWV3b3Jr LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24oKQp7Cgl0aGlzLmV2ZW50cy5zeXN0 ZW1Jbml0LmZpcmUoKTsKCWNvbnNvbGUuaW5mbygiU3lzdGVtIEluaXQgRmlyZWQi KTsKfQoKLyoqCiogRW11bGF0ZXMgT09QIGNsYXNzIGV4dGVuc2lvbgoqCiogQHBh cmFtCW9iamVjdAlFeHRlbmRlZCBjbGFzcwoqIEBwYXJhbQlvYmplY3QJQmFzZSBj bGFzcwoqLwp2QnVsbGV0aW5fRnJhbWV3b3JrLnByb3RvdHlwZS5leHRlbmQgPSBm dW5jdGlvbihzdWJDbGFzcywgYmFzZUNsYXNzKQp7CiAgIGZ1bmN0aW9uIGluaGVy aXRhbmNlKCkge30KICAgaW5oZXJpdGFuY2UucHJvdG90eXBlID0gYmFzZUNsYXNz LnByb3RvdHlwZTsKCiAgIHN1YkNsYXNzLnByb3RvdHlwZSA9IG5ldyBpbmhlcml0 YW5jZSgpOwogICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJD bGFzczsKICAgc3ViQ2xhc3MuYmFzZUNvbnN0cnVjdG9yID0gYmFzZUNsYXNzOwog ICBzdWJDbGFzcy5zdXBlckNsYXNzID0gYmFzZUNsYXNzLnByb3RvdHlwZTsKfQoK LyoqCiogUmVnaXN0ZXJzIGEgY3VzdG9tIGNvbnRyb2wgZm9yIGxhdGVyIGluaXRp YWxpemF0aW9uCiogQXJndW1lbnRzIDEtbiBhcmUgc3RvcmVkIGZvciBsYXRlciB1 c2UKKgoqIEBwYXJhbQlzdHJpbmcJQ29udHJvbCB0eXBlICh2Ql9EYXRlUGlja2Vy IGV0Yy4pCiogQHBhcmFtCXN0cmluZwlIVE1MIGVsZW1lbnQgSUQKKi8KdkJ1bGxl dGluX0ZyYW1ld29yay5wcm90b3R5cGUucmVnaXN0ZXJfY29udHJvbCA9IGZ1bmN0 aW9uKGNvbnRyb2x0eXBlLCBlbGVtZW50KQp7Cgl2YXIgYXJncyA9IG5ldyBBcnJh eSgpOwoJZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKysp Cgl7CgkJYXJncy5wdXNoKGFyZ3VtZW50c1tpXSk7Cgl9CglpZiAoIXRoaXMuZWxl bWVudHNbY29udHJvbHR5cGVdKQoJewoJCWNvbnNvbGUuaW5mbygiQ3JlYXRpbmcg YXJyYXkgdkJ1bGxldGluLmVsZW1lbnRzW1wiJXNcIl0iLCBjb250cm9sdHlwZSk7 CgkJdGhpcy5lbGVtZW50c1tjb250cm9sdHlwZV0gPSBuZXcgQXJyYXkoKTsKCX0K CXZhciB4ID0gdGhpcy5lbGVtZW50c1tjb250cm9sdHlwZV0ucHVzaChhcmdzKTsK CWNvbnNvbGUubG9nKCJ2QnVsbGV0aW4uZWxlbWVudHNbXCIlc1wiXVslZF0gPSAl cyIsIGNvbnRyb2x0eXBlLCB4LTEsIGFyZ3Muam9pbigiLCAiKSk7Cn0KCi8qKgoq IFJlZ2lzdGVycyBBSkFYIGxvYWQvc2F2ZSB1cmxzIGZvciBhIGNvbnRyb2wKKgoq IEBwYXJhbQlGZXRjaCBVUkwKKiBAcGFyYW0JU2F2ZSBVUkwKKiBAcGFyYW0JTGlz dCBvZiBlbGVtZW50cyB0byB3aGljaCB0aGVzZSBVUkxzIGFwcGx5CiovCnZCdWxs ZXRpbl9GcmFtZXdvcmsucHJvdG90eXBlLnJlZ2lzdGVyX2FqYXhfdXJscyA9IGZ1 bmN0aW9uKGZldGNoLCBzYXZlLCBlbGVtZW50cykKewoJdmFyIGZldGNoID0gZmV0 Y2guc3BsaXQoIj8iKTsgZmV0Y2hbMV0gPSBTRVNTSU9OVVJMICsgImFqYXg9MSYi ICsgZmV0Y2hbMV0ucmVwbGFjZSgvXHsoXGQrKSg6XHcrKT9cfS9naSwgJyUkMSRz Jyk7Cgl2YXIgc2F2ZSAgPSAgc2F2ZS5zcGxpdCgiPyIpOyAgc2F2ZVsxXSA9IFNF U1NJT05VUkwgKyAiYWpheD0xJiIgKyBzYXZlWzFdLnJlcGxhY2UoL1x7KFxkKyko Olx3Kyk/XH0vZ2ksICclJDEkcycpOwoKCWNvbnNvbGUubG9nKCJSZWdpc3RlciBB SkFYIFVSTHMgZm9yICVzIiwgZWxlbWVudHMpOwoKCWZvciAodmFyIGkgPSAwOyBp IDwgZWxlbWVudHMubGVuZ3RoOyBpKyspCgl7CgkJdGhpcy5hamF4dXJsc1tlbGVt ZW50c1tpXV0gPSBuZXcgQXJyYXkoZmV0Y2gsIHNhdmUpOwoJfQp9CgovKioKKiBS ZWdpc3RlciBhIGN1c3RvbSBldmVudAoqCiogQHBhcmFtCXN0cmluZwlFdmVudCBu YW1lCiovCnZCdWxsZXRpbl9GcmFtZXdvcmsucHJvdG90eXBlLmFkZF9ldmVudCA9 IGZ1bmN0aW9uKGV2ZW50bmFtZSkKewoJdGhpcy5ldmVudHNbZXZlbnRuYW1lXSA9 ICh0eXBlb2YgWUFIT08gIT0gJ3VuZGVmaW5lZCcgPyBuZXcgWUFIT08udXRpbC5D dXN0b21FdmVudChldmVudG5hbWUpIDogbmV3IG51bGxfZXZlbnQoKSk7Cn0KCi8q KgoqIEJDOiBQYXNzIGNvbnNvbGUgY2FsbHMgdG8gRmlyZWJ1ZyBpZiBpdCdzIGF2 YWlsYWJsZQoqLwp2QnVsbGV0aW5fRnJhbWV3b3JrLnByb3RvdHlwZS5jb25zb2xl ID0gY29uc29sZS5sb2c7CgovLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwoKLy8gaW5pdGlhbGl6ZSB0aGUgUEhQIGZ1bmN0aW9uIGVtdWxhdG9yCnZhciBQ SFAgPSBuZXcgdkJfUEhQX0VtdWxhdG9yKCk7CgovLyBDcmVhdGUgYW4gaW5zdGFu Y2Ugb2YgdGhlIHZCdWxsZXRpbiBGcmFtZXdvcmsgb2JqZWN0CnZhciB2QnVsbGV0 aW4gPSBuZXcgdkJ1bGxldGluX0ZyYW1ld29yaygpOwoKLyo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCnx8ICMgQ1ZTOiAk UkNTZmlsZSQgLSAkUmV2aXNpb246IDE3NTU2ICQKfHwgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKXCo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_menu.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_menu.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_menu.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCnZCdWxsZXRpbi5hZGRfZXZlbnQoInZC bWVudVNob3ciKTsKdkJ1bGxldGluLmFkZF9ldmVudCgidkJtZW51SGlkZSIpOwoK LyoqCiogdkJ1bGxldGluIHBvcHVwIG1lbnUgZXhhbXBsZSB1c2FnZToKKgoqIFRv IGNyZWF0ZSBhIG5ldyBwb3B1cCBtZW51OgoqIAk8ZWxlbWVudCBpZD0ieCI+Q2xp Y2sgbWUgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiB2Ym1lbnVfcmVn aXN0ZXIoJ3gnKTsgPC9zY3JpcHQ+PC9lbGVtZW50PgoqIFRoZSBtZW51IGNsYXNz IGV4cGVjdHMgYW4gZWxlbWVudCB3aXRoIHRoZSBpZCBvZiB4X21lbnUgdGhhdCBj b250YWlucyB0aGUgbWVudS4KKgk8ZGl2IGlkPSJ4X21lbnUiIGNsYXNzPSJ2Ym1l bnVfcG9wdXAiPiAuLi4gPC9kaXY+CiovCgovLyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwovLyB2Ql9Qb3B1cF9IYW5kbGVyCi8vICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCgovKioKKiB2QnVsbGV0aW4gcG9wdXAgbWVudSByZWdp c3RyeQoqLwpmdW5jdGlvbiB2Ql9Qb3B1cF9IYW5kbGVyKCkKewoJLyoqCgkqIE9w dGlvbnM6CgkqCgkqIEB2YXIJaW50ZWdlcglOdW1iZXIgb2Ygc3RlcHMgdG8gdXNl IGluIHNsaWRpbmcgbWVudXMgb3BlbgoJKiBAdmFyCWJvb2xlYW4JVXNlIG9wYWNp dHkgZmFjZSBpbiBtZW51IG9wZW4/CgkqLwoJdGhpcy5vcGVuX3N0ZXBzID0gMTA7 Cgl0aGlzLm9wZW5fZmFkZSA9IGZhbHNlOwoKCXRoaXMuYWN0aXZlID0gZmFsc2U7 CgoJdGhpcy5tZW51cyA9IG5ldyBBcnJheSgpOwoJdGhpcy5hY3RpdmVtZW51ID0g bnVsbDsKCgl0aGlzLmhpZGRlbl9zZWxlY3RzID0gbmV3IEFycmF5KCk7Cn07Cgov LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyB2Ql9Qb3B1cF9IYW5k bGVyIG1ldGhvZHMKCi8qKgoqIEFjdGl2YXRlIC8gRGVhY3RpdmF0ZSB0aGUgbWVu dSBzeXN0ZW0KKgoqIEBwYXJhbQlib29sZWFuCUFjdGl2ZSBzdGF0ZSBmb3IgbWVu dXMKKi8KdkJfUG9wdXBfSGFuZGxlci5wcm90b3R5cGUuYWN0aXZhdGUgPSBmdW5j dGlvbihhY3RpdmUpCnsKCXRoaXMuYWN0aXZlID0gYWN0aXZlOwoJY29uc29sZS5s b2coInZCbWVudSA6OiBTeXN0ZW0gQWN0aXZhdGVkIik7Cn07CgovKioKKiBSZWdp c3RlciBhIGNvbnRyb2wgb2JqZWN0IGFzIGEgbWVudSBjb250cm9sCioKKiBAcGFy YW0Jc3RyaW5nCUlEIG9mIHRoZSBjb250cm9sIG9iamVjdAoqIEBwYXJhbQlib29s ZWFuCURpc2FibGUgbWVudSBwb3AgaW1hZ2UgYWRkaXRpb24KKiBAcGFyYW0JYm9v bGVhbglEaXNhYmxlIG1lbnUgc2xpZGUgb3BlbgoqCiogQHJldHVybgl2Ql9Qb3B1 cF9NZW51CiovCnZCX1BvcHVwX0hhbmRsZXIucHJvdG90eXBlLnJlZ2lzdGVyID0g ZnVuY3Rpb24oY29udHJvbGtleSwgbm9pbWFnZSwgbm9zbGlkZSkKewoJLy9jb25z b2xlLmxvZygidkJtZW51IDo6IHJlZ2lzdGVyaW5nICclcyciLCBjb250cm9sa2V5 KTsKCXRoaXMubWVudXNbY29udHJvbGtleV0gPSBuZXcgdkJfUG9wdXBfTWVudShj b250cm9sa2V5LCBub2ltYWdlLCBub3NsaWRlKTsKCglyZXR1cm4gdGhpcy5tZW51 c1tjb250cm9sa2V5XTsKfTsKCi8qKgoqIEhpZGUgYWN0aXZlIG1lbnUKKi8KdkJf UG9wdXBfSGFuZGxlci5wcm90b3R5cGUuaGlkZSA9IGZ1bmN0aW9uKCkKewoJaWYg KHRoaXMuYWN0aXZlbWVudSAhPSBudWxsKQoJewoJCXRoaXMubWVudXNbdGhpcy5h Y3RpdmVtZW51XS5oaWRlKCk7Cgl9Cn07CgoKLy8gIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKLy8gaW5pdGlhbGl6ZSBtZW51IHJlZ2lzdHJ5Cgp2YXIgdkJt ZW51ID0gbmV3IHZCX1BvcHVwX0hhbmRsZXIoKTsKCi8qKgoqIEZ1bmN0aW9uIHRv IGFsbG93IGFueXRoaW5nIHRvIGhpZGUgYWxsIG1lbnVzCioKKiBAcGFyYW0JZXZl bnQJRXZlbnQgb2JqZWN0CioKKiBAcmV0dXJuCW1peGVkCiovCmZ1bmN0aW9uIHZi bWVudV9oaWRlKGUpCnsKCWlmIChlICYmIGUuYnV0dG9uICYmIGUuYnV0dG9uICE9 IDEgJiYgZS50eXBlID09ICdjbGljaycpCgl7CgkJcmV0dXJuIHRydWU7Cgl9Cgll bHNlCgl7CgkJdkJtZW51LmhpZGUoKTsKCX0KfTsKCi8vICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCi8vIHZCX1BvcHVwX01lbnUKLy8gIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKCi8qKgoqIHZCdWxsZXRpbiBwb3B1cCBtZW51IGNs YXNzIGNvbnN0cnVjdG9yCioKKiBNYW5hZ2VzIGEgc2luZ2xlIG1lbnUgYW5kIGNv bnRyb2wgb2JqZWN0CiogSW5pdGlhbGl6ZXMgY29udHJvbCBvYmplY3QKKgoqIEBw YXJhbQlzdHJpbmcJSUQgb2YgdGhlIGNvbnRyb2wgb2JqZWN0CiogQHBhcmFtCWJv b2xlYW4JRGlzYWJsZSBtZW51IHBvcCBpbWFnZSBhZGRpdGlvbgoqIEBwYXJhbQli b29sZWFuCURpc2FibGUgbWVudSBzbGlkZSBvcGVuCiovCmZ1bmN0aW9uIHZCX1Bv cHVwX01lbnUoY29udHJvbGtleSwgbm9pbWFnZSwgbm9zbGlkZSkKewoJdGhpcy5j b250cm9sa2V5ID0gY29udHJvbGtleTsKCXRoaXMubWVudW5hbWUgPSB0aGlzLmNv bnRyb2xrZXkuc3BsaXQoJy4nKVswXSArICdfbWVudSc7CgoJdGhpcy5pbml0X2Nv bnRyb2wobm9pbWFnZSk7CgoJaWYgKGZldGNoX29iamVjdCh0aGlzLm1lbnVuYW1l KSkKCXsKCQl0aGlzLmluaXRfbWVudSgpOwoJfQoKCXRoaXMuc2xpZGVfb3BlbiA9 ICgoaXNfb3BlcmEgfHwgbm9zbGlkZSkgPyBmYWxzZSA6IHRydWUpOwoJdGhpcy5v cGVuX3N0ZXBzID0gdkJtZW51Lm9wZW5fc3RlcHM7CgoJdkJ1bGxldGluLmFkZF9l dmVudCgidkJtZW51U2hvd18iICsgdGhpcy5jb250cm9sa2V5KTsKCXZCdWxsZXRp bi5hZGRfZXZlbnQoInZCbWVudUhpZGVfIiArIHRoaXMuY29udHJvbGtleSk7Cn07 CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyB2Ql9Qb3B1cF9N ZW51IG1ldGhvZHMKCi8qKgoqIEluaXRpYWxpemUgdGhlIGNvbnRyb2wgb2JqZWN0 CiovCnZCX1BvcHVwX01lbnUucHJvdG90eXBlLmluaXRfY29udHJvbCA9IGZ1bmN0 aW9uKG5vaW1hZ2UpCnsKCXRoaXMuY29udHJvbG9iaiA9IGZldGNoX29iamVjdCh0 aGlzLmNvbnRyb2xrZXkpOwoJdGhpcy5jb250cm9sb2JqLnN0YXRlID0gZmFsc2U7 CgoJaWYgKHRoaXMuY29udHJvbG9iai5maXJzdENoaWxkICYmICh0aGlzLmNvbnRy b2xvYmouZmlyc3RDaGlsZC50YWdOYW1lID09ICdURVhUQVJFQScgfHwgdGhpcy5j b250cm9sb2JqLmZpcnN0Q2hpbGQudGFnTmFtZSA9PSAnSU5QVVQnKSkKCXsKCQkv LyBkbyBub3RoaW5nCgl9CgllbHNlCgl7CgkJaWYgKCFub2ltYWdlICYmICEoaXNf bWFjICYmIGlzX2llKSkKCQl7CgkJCXZhciBzcGFjZSA9IGRvY3VtZW50LmNyZWF0 ZVRleHROb2RlKCcgJyk7CgkJCXRoaXMuY29udHJvbG9iai5hcHBlbmRDaGlsZChz cGFjZSk7CgoJCQl2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1n Jyk7CgkJCWltZy5zcmMgPSBJTUdESVJfTUlTQyArICcvbWVudV9vcGVuLmdpZic7 CgkJCWltZy5ib3JkZXIgPSAwOwoJCQlpbWcudGl0bGUgPSAnJzsKCQkJaW1nLmFs dCA9ICcnOwoJCQl0aGlzLmNvbnRyb2xvYmouYXBwZW5kQ2hpbGQoaW1nKTsKCQl9 CgoJCXRoaXMuY29udHJvbG9iai51bnNlbGVjdGFibGUgPSB0cnVlOwoJCWlmICgh bm9pbWFnZSkKCQl7CgkJCXRoaXMuY29udHJvbG9iai5zdHlsZS5jdXJzb3IgPSBw b2ludGVyX2N1cnNvcjsKCQl9CgkJdGhpcy5jb250cm9sb2JqLm9uY2xpY2sgPSB2 Ql9Qb3B1cF9FdmVudHMucHJvdG90eXBlLmNvbnRyb2xvYmpfb25jbGljazsKCQl0 aGlzLmNvbnRyb2xvYmoub25tb3VzZW92ZXIgPSB2Ql9Qb3B1cF9FdmVudHMucHJv dG90eXBlLmNvbnRyb2xvYmpfb25tb3VzZW92ZXI7Cgl9Cn07CgovKioKKiBJbml0 IHRoZSBwb3B1cCBtZW51IG9iamVjdAoqLwp2Ql9Qb3B1cF9NZW51LnByb3RvdHlw ZS5pbml0X21lbnUgPSBmdW5jdGlvbigpCnsKCXRoaXMubWVudW9iaiA9IGZldGNo X29iamVjdCh0aGlzLm1lbnVuYW1lKTsKCglpZiAodGhpcy5tZW51b2JqICYmICF0 aGlzLm1lbnVvYmouaW5pdGlhbGl6ZWQpCgl7CgkJdGhpcy5tZW51b2JqLmluaXRp YWxpemVkID0gdHJ1ZTsKCQl0aGlzLm1lbnVvYmoub25jbGljayA9IGVfYnlfZ3Vt OwoJCXRoaXMubWVudW9iai5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CgkJ dGhpcy5tZW51b2JqLnN0eWxlLnpJbmRleCA9IDUwOwoKCQkvLyBpbml0IHBvcHVw IGZpbHRlcnMgKGllIG9ubHkpCgkJaWYgKGlzX2llICYmICFpc19tYWMpCgkJewoJ CQl0aGlzLm1lbnVvYmouc3R5bGUuZmlsdGVyICs9ICJwcm9naWQ6RFhJbWFnZVRy YW5zZm9ybS5NaWNyb3NvZnQuYWxwaGEoZW5hYmxlZD0xLG9wYWNpdHk9MTAwKSI7 CgkJCXRoaXMubWVudW9iai5zdHlsZS5maWx0ZXIgKz0gInByb2dpZDpEWEltYWdl VHJhbnNmb3JtLk1pY3Jvc29mdC5zaGFkb3coZGlyZWN0aW9uPTEzNSxjb2xvcj0j OEU4RThFLHN0cmVuZ3RoPTMpIjsKCQl9CgoJCXRoaXMuaW5pdF9tZW51X2NvbnRl bnRzKCk7Cgl9Cn07CgovKioKKiBJbml0IHRoZSBwb3B1cCBtZW51IGNvbnRlbnRz CiovCnZCX1BvcHVwX01lbnUucHJvdG90eXBlLmluaXRfbWVudV9jb250ZW50cyA9 IGZ1bmN0aW9uKCkKewoJdmFyIHRkcyA9IGZldGNoX3RhZ3ModGhpcy5tZW51b2Jq LCAndGQnKTsKCWZvciAodmFyIGkgPSAwOyBpIDwgdGRzLmxlbmd0aDsgaSsrKQoJ ewoJCWlmICh0ZHNbaV0uY2xhc3NOYW1lID09ICd2Ym1lbnVfb3B0aW9uJykKCQl7 CgkJCWlmICh0ZHNbaV0udGl0bGUgJiYgdGRzW2ldLnRpdGxlID09ICdub2hpbGl0 ZScpCgkJCXsKCQkJCS8vIG5vdCBhbiBhY3RpdmUgY2VsbAoJCQkJdGRzW2ldLnRp dGxlID0gJyc7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkvLyBjcmVhdGUgYSByZWZl cmVuY2UgYmFjayB0byB0aGUgbWVudSBjbGFzcwoJCQkJdGRzW2ldLmNvbnRyb2xr ZXkgPSB0aGlzLmNvbnRyb2xrZXk7CgoJCQkJLy8gaGFuZGxlIG1vdXNlb3ZlciAv IG1vdXNlb3V0IGhpZ2hsaWdodGluZyBldmVudHMKCQkJCXRkc1tpXS5vbm1vdXNl b3ZlciA9IHZCX1BvcHVwX0V2ZW50cy5wcm90b3R5cGUubWVudW9wdGlvbl9vbm1v dXNlb3ZlcjsKCQkJCXRkc1tpXS5vbm1vdXNlb3V0ID0gdkJfUG9wdXBfRXZlbnRz LnByb3RvdHlwZS5tZW51b3B0aW9uX29ubW91c2VvdXQ7CgoJCQkJdmFyIGxpbmtz ID0gZmV0Y2hfdGFncyh0ZHNbaV0sICdhJyk7CgkJCQlpZiAobGlua3MubGVuZ3Ro ID09IDEpCgkJCQl7CgkJCQkJLyogT2sgd2UgaGF2ZSBhIGxpbmssIHdlIHNob3Vs ZCB1c2UgdGhpcyBpZgoJCQkJCTEuIFRoZXJlIGlzIG5vIG9uY2xpY2sgZXZlbnQg aW4gdGhlIGxpbmsKCQkJCQkyLiBUaGVyZSBpcyBubyBvbmNsaWNrIGV2ZW50IG9u IHRoZSBjZWxsCgkJCQkJMy4gVGhlIG9uY2xpY2sgZXZlbnQgZm9yIHRoZSBjZWxs IHNob3VsZCBlcXVhbCB0aGUgbGluayBpZiB0aGUgYWJvdmUgYXJlIHRydWUKCgkJ CQkJSWYgd2UgZmluZCBhIGJyb3dzZXIgdGhhdHMgZ2V0cyBjb25mdXNlZCB3ZSBt YXkgbmVlZCB0byBzZXQgcmVtb3ZlX2xpbmsgdG8gdHJ1ZSBmb3IgaXQuCgkJCQkJ Ki8KCgkJCQkJdGRzW2ldLmNsYXNzTmFtZSA9IHRkc1tpXS5jbGFzc05hbWUgKyAn IHZibWVudV9vcHRpb25fYWxpbmsnOwoJCQkJCXRkc1tpXS5pc2xpbmsgPSB0cnVl OwoKCQkJCQl2YXIgbGlua29iaiA9IGxpbmtzWzBdOwoJCQkJCXZhciByZW1vdmVf bGluayA9IGZhbHNlOwoKCQkJCQl0ZHNbaV0udGFyZ2V0ID0gbGlua29iai5nZXRB dHRyaWJ1dGUoJ3RhcmdldCcpOwoKCQkJCQlpZiAodHlwZW9mIGxpbmtvYmoub25j bGljayA9PSAnZnVuY3Rpb24nKQoJCQkJCXsKCQkJCQkJdGRzW2ldLm9mdW5jID0g bGlua29iai5vbmNsaWNrOwoJCQkJCQl0ZHNbaV0ub25jbGljayA9IHZCX1BvcHVw X0V2ZW50cy5wcm90b3R5cGUubWVudW9wdGlvbl9vbmNsaWNrX2Z1bmN0aW9uOwoJ CQkJCQlyZW1vdmVfbGluayA9IHRydWU7CgkJCQkJfQoJCQkJCWVsc2UgaWYgKHR5 cGVvZiB0ZHNbaV0ub25jbGljayA9PSAnZnVuY3Rpb24nKQoJCQkJCXsKCQkJCQkJ dGRzW2ldLm9mdW5jID0gdGRzW2ldLm9uY2xpY2s7CgkJCQkJCXRkc1tpXS5vbmNs aWNrID0gdkJfUG9wdXBfRXZlbnRzLnByb3RvdHlwZS5tZW51b3B0aW9uX29uY2xp Y2tfZnVuY3Rpb247CgkJCQkJCXJlbW92ZV9saW5rID0gdHJ1ZTsKCQkJCQl9CgkJ CQkJZWxzZQoJCQkJCXsKCQkJCQkJdGRzW2ldLmhyZWYgPSBsaW5rb2JqLmhyZWY7 CgkJCQkJCXRkc1tpXS5vbmNsaWNrID0gdkJfUG9wdXBfRXZlbnRzLnByb3RvdHlw ZS5tZW51b3B0aW9uX29uY2xpY2tfbGluazsKCQkJCQl9CgoJCQkJCWlmIChyZW1v dmVfbGluaykKCQkJCQl7CgkJCQkJCXZhciBuZXdsaW5rID0gZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgnYScpOwoJCQkJCQluZXdsaW5rLmlubmVySFRNTCA9IGxpbmtv YmouaW5uZXJIVE1MOwoJCQkJCQluZXdsaW5rLmhyZWYgPSAnIyc7CgkJCQkJCW5l d2xpbmsub25jbGljayA9IGZ1bmN0aW9uKGUpIHsgZSA9IGUgPyBlIDogd2luZG93 LmV2ZW50OyBlLnJldHVyblZhbHVlID0gZmFsc2U7IHJldHVybiBmYWxzZTsgfTsK CQkJCQkJdGRzW2ldLmluc2VydEJlZm9yZShuZXdsaW5rLCBsaW5rb2JqKTsKCQkJ CQkJdGRzW2ldLnJlbW92ZUNoaWxkKGxpbmtvYmopOwoJCQkJCX0KCQkJCX0KCQkJ CWVsc2UgaWYgKHR5cGVvZiB0ZHNbaV0ub25jbGljayA9PSAnZnVuY3Rpb24nKQoJ CQkJewoJCQkJCXRkc1tpXS5vZnVuYyA9IHRkc1tpXS5vbmNsaWNrOwoJCQkJCXRk c1tpXS5vbmNsaWNrID0gdkJfUG9wdXBfRXZlbnRzLnByb3RvdHlwZS5tZW51b3B0 aW9uX29uY2xpY2tfZnVuY3Rpb247CgkJCQl9CgkJCX0KCQl9Cgl9Cn07CgovKioK KiBTaG93IHRoZSBtZW51CioKKiBAcGFyYW0Jb2JqZWN0CVRoZSBjb250cm9sIG9i amVjdCBjYWxsaW5nIHRoZSBtZW51CiogQHBhcmFtCWJvb2xlYW4JVXNlIHNsaWRl IChmYWxzZSkgb3Igb3BlbiBpbnN0YW50bHk/ICh0cnVlKQoqLwp2Ql9Qb3B1cF9N ZW51LnByb3RvdHlwZS5zaG93ID0gZnVuY3Rpb24ob2JqLCBpbnN0YW50KQp7Cglp ZiAoIXZCbWVudS5hY3RpdmUpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoJZWxzZSBp ZiAoIXRoaXMubWVudW9iaikKCXsKCQl0aGlzLmluaXRfbWVudSgpOwoJfQoKCWlm ICghdGhpcy5tZW51b2JqIHx8IHZCbWVudS5hY3RpdmVtZW51ID09IHRoaXMuY29u dHJvbGtleSkKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJY29uc29sZS5sb2coInZC bWVudSA6OiBTaG93ICclcyciLCB0aGlzLmNvbnRyb2xrZXkpOwoKCWlmICh2Qm1l bnUuYWN0aXZlbWVudSAhPSBudWxsICYmIHZCbWVudS5hY3RpdmVtZW51ICE9IHRo aXMuY29udHJvbGtleSkKCXsKCQl2Qm1lbnUubWVudXNbdkJtZW51LmFjdGl2ZW1l bnVdLmhpZGUoKTsKCX0KCgl2Qm1lbnUuYWN0aXZlbWVudSA9IHRoaXMuY29udHJv bGtleTsKCgl0aGlzLm1lbnVvYmouc3R5bGUuZGlzcGxheSA9ICcnOwoJaWYgKHRo aXMuc2xpZGVfb3BlbikKCXsKCQl0aGlzLm1lbnVvYmouc3R5bGUuY2xpcCA9ICdy ZWN0KGF1dG8sIDBweCwgMHB4LCBhdXRvKSc7Cgl9CgoJdGhpcy5zZXRfbWVudV9w b3NpdGlvbihvYmopOwoKCWlmICghaW5zdGFudCAmJiB0aGlzLnNsaWRlX29wZW4p Cgl7CgkJdGhpcy5pbnRlcnZhbFggPSBNYXRoLmNlaWwodGhpcy5tZW51b2JqLm9m ZnNldFdpZHRoIC8gdGhpcy5vcGVuX3N0ZXBzKTsKCQl0aGlzLmludGVydmFsWSA9 IE1hdGguY2VpbCh0aGlzLm1lbnVvYmoub2Zmc2V0SGVpZ2h0IC8gdGhpcy5vcGVu X3N0ZXBzKTsKCQl0aGlzLnNsaWRlKCh0aGlzLmRpcmVjdGlvbiA9PSAnbGVmdCcg PyAwIDogdGhpcy5tZW51b2JqLm9mZnNldFdpZHRoKSwgMCwgMCk7Cgl9CgllbHNl IGlmICh0aGlzLm1lbnVvYmouc3R5bGUuY2xpcCAmJiB0aGlzLnNsaWRlX29wZW4p Cgl7CgkJdGhpcy5tZW51b2JqLnN0eWxlLmNsaXAgPSAncmVjdChhdXRvLCBhdXRv LCBhdXRvLCBhdXRvKSc7Cgl9CgoJLy8gZGVhbCB3aXRoIElFIHB1dHRpbmcgPHNl bGVjdD4gZWxlbWVudHMgb24gdG9wIG9mIGV2ZXJ5dGhpbmcKCXRoaXMuaGFuZGxl X292ZXJsYXBzKHRydWUpOwoKCWlmICh0aGlzLmNvbnRyb2xvYmouZWRpdG9yaWQp Cgl7CgkJdGhpcy5jb250cm9sb2JqLnN0YXRlID0gdHJ1ZTsKCQkvL3RoaXMuY29u dHJvbG9iai5lZGl0b3IubWVudV9jb250ZXh0KHRoaXMuY29udHJvbG9iaiwgJ21v dXNlZG93bicpOwoJCXZCX0VkaXRvclt0aGlzLmNvbnRyb2xvYmouZWRpdG9yaWRd Lm1lbnVfY29udGV4dCh0aGlzLmNvbnRyb2xvYmosICdtb3VzZWRvd24nKTsKCX0K Cgl2QnVsbGV0aW4uZXZlbnRzWyJ2Qm1lbnVTaG93XyIgKyB0aGlzLmNvbnRyb2xr ZXldLmZpcmUodGhpcy5jb250cm9sa2V5KTsKCXZCdWxsZXRpbi5ldmVudHMudkJt ZW51U2hvdy5maXJlKHRoaXMuY29udHJvbGtleSk7Cn07CgovKioKKiBQb3NpdGlv biB0aGUgbWVudSByZWxhdGl2ZSB0byBhIHJlZmVyZW5jZSBlbGVtZW50CioKKiBA cGFyYW0Jb2JqZWN0CVJlZmVyZW5jZSBIVE1MIGVsZW1lbnQKKi8KdkJfUG9wdXBf TWVudS5wcm90b3R5cGUuc2V0X21lbnVfcG9zaXRpb24gPSBmdW5jdGlvbihvYmop CnsKCXRoaXMucG9zID0gdGhpcy5mZXRjaF9vZmZzZXQob2JqKTsKCXRoaXMubGVm dHB4ID0gdGhpcy5wb3NbJ2xlZnQnXTsKCXRoaXMudG9wcHggPSB0aGlzLnBvc1sn dG9wJ10gKyBvYmoub2Zmc2V0SGVpZ2h0OwoKCWlmICgodGhpcy5sZWZ0cHggKyB0 aGlzLm1lbnVvYmoub2Zmc2V0V2lkdGgpID49IGRvY3VtZW50LmJvZHkuY2xpZW50 V2lkdGggJiYgKHRoaXMubGVmdHB4ICsgb2JqLm9mZnNldFdpZHRoIC0gdGhpcy5t ZW51b2JqLm9mZnNldFdpZHRoKSA+IDApCgl7CgkJdGhpcy5sZWZ0cHggPSB0aGlz LmxlZnRweCArIG9iai5vZmZzZXRXaWR0aCAtIHRoaXMubWVudW9iai5vZmZzZXRX aWR0aDsKCQl0aGlzLmRpcmVjdGlvbiA9ICdyaWdodCc7Cgl9CgllbHNlCgl7CgkJ dGhpcy5kaXJlY3Rpb24gPSAnbGVmdCcKCX0KCgl0aGlzLm1lbnVvYmouc3R5bGUu bGVmdCA9IHRoaXMubGVmdHB4ICsgJ3B4JzsKCXRoaXMubWVudW9iai5zdHlsZS50 b3AgID0gdGhpcy50b3BweCArICdweCc7Cn07CgovKioKKiBIaWRlIHRoZSBtZW51 CiovCnZCX1BvcHVwX01lbnUucHJvdG90eXBlLmhpZGUgPSBmdW5jdGlvbihlKQp7 CglpZiAoZSAmJiBlLmJ1dHRvbiAmJiBlLmJ1dHRvbiAhPSAxKQoJewoJCS8vIGdl dCBhcm91bmQgc29tZSBjb250ZXh0IG1lbnUgaXNzdWVzIGV0Yy4KCQlyZXR1cm4g dHJ1ZTsKCX0KCgljb25zb2xlLmxvZygidkJtZW51IDo6IEhpZGUgJyVzJyIsIHRo aXMuY29udHJvbGtleSk7CgoJdGhpcy5zdG9wX3NsaWRlKCk7CgoJdGhpcy5tZW51 b2JqLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgoJdGhpcy5oYW5kbGVfb3Zlcmxh cHMoZmFsc2UpOwoKCWlmICh0aGlzLmNvbnRyb2xvYmouZWRpdG9yaWQpCgl7CgkJ dGhpcy5jb250cm9sb2JqLnN0YXRlID0gZmFsc2U7CgkJdkJfRWRpdG9yW3RoaXMu Y29udHJvbG9iai5lZGl0b3JpZF0ubWVudV9jb250ZXh0KHRoaXMuY29udHJvbG9i aiwgJ21vdXNlb3V0Jyk7Cgl9CgoJdkJtZW51LmFjdGl2ZW1lbnUgPSBudWxsOwoK CXZCdWxsZXRpbi5ldmVudHNbInZCbWVudUhpZGVfIiArIHRoaXMuY29udHJvbGtl eV0uZmlyZSh0aGlzLmNvbnRyb2xrZXkpOwoJdkJ1bGxldGluLmV2ZW50cy52Qm1l bnVIaWRlLmZpcmUodGhpcy5jb250cm9sa2V5KTsKfTsKCi8qKgoqIEhvdmVyIGJl aGF2aW91ciBmb3IgY29udHJvbCBvYmplY3QKKi8KdkJfUG9wdXBfTWVudS5wcm90 b3R5cGUuaG92ZXIgPSBmdW5jdGlvbihvYmopCnsKCWlmICh2Qm1lbnUuYWN0aXZl bWVudSAhPSBudWxsKQoJewoJCWlmICh2Qm1lbnUubWVudXNbdkJtZW51LmFjdGl2 ZW1lbnVdLmNvbnRyb2xrZXkgIT0gdGhpcy5pZCkKCQl7CgkJCXRoaXMuc2hvdyhv YmosIHRydWUpOwoJCX0KCX0KfTsKCi8qKgoqIFNsaWRlcyBtZW51IG9wZW4KKgoq IEBwYXJhbQlpbnRlZ2VyCUNsaXAgWAoqIEBwYXJhbQlpbnRlZ2VyCUNsaXAgWQoq IEBwYXJhbQlpbnRlZ2VyCU9wYWNpdHkgKDAtMTAwKQoqLwp2Ql9Qb3B1cF9NZW51 LnByb3RvdHlwZS5zbGlkZSA9IGZ1bmN0aW9uKGNsaXBYLCBjbGlwWSwgb3BhY2l0 eSkKewoJaWYgKHRoaXMuZGlyZWN0aW9uID09ICdsZWZ0JyAmJiAoY2xpcFggPCB0 aGlzLm1lbnVvYmoub2Zmc2V0V2lkdGggfHwgY2xpcFkgPCB0aGlzLm1lbnVvYmou b2Zmc2V0SGVpZ2h0KSkKCXsKCQlpZiAodkJtZW51Lm9wZW5fZmFkZSAmJiBpc19p ZSkKCQl7CgkJCW9wYWNpdHkgKz0gMTA7CgkJCXRoaXMubWVudW9iai5maWx0ZXJz Lml0ZW0oJ0RYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmFscGhhJykub3BhY2l0 eSA9IG9wYWNpdHk7CgkJfQoKCQljbGlwWCArPSB0aGlzLmludGVydmFsWDsKCQlj bGlwWSArPSB0aGlzLmludGVydmFsWTsKCgkJdGhpcy5tZW51b2JqLnN0eWxlLmNs aXAgPSAicmVjdChhdXRvLCAiICsgY2xpcFggKyAicHgsICIgKyBjbGlwWSArICJw eCwgYXV0bykiOwoJCXRoaXMuc2xpZGV0aW1lciA9IHNldFRpbWVvdXQoInZCbWVu dS5tZW51c1t2Qm1lbnUuYWN0aXZlbWVudV0uc2xpZGUoIiArIGNsaXBYICsgIiwg IiArIGNsaXBZICsgIiwgIiArIG9wYWNpdHkgKyAiKTsiLCAwKTsKCX0KCWVsc2Ug aWYgKHRoaXMuZGlyZWN0aW9uID09ICdyaWdodCcgJiYgKGNsaXBYID4gMCB8fCBj bGlwWSA8IHRoaXMubWVudW9iai5vZmZzZXRIZWlnaHQpKQoJewoJCWlmICh2Qm1l bnUub3Blbl9mYWRlICYmIGlzX2llKQoJCXsKCQkJb3BhY2l0eSArPSAxMDsKCQkJ bWVudW9iai5maWx0ZXJzLml0ZW0oJ0RYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0 LmFscGhhJykub3BhY2l0eSA9IG9wYWNpdHk7CgkJfQoKCQljbGlwWCAtPSB0aGlz LmludGVydmFsWDsKCQljbGlwWSArPSB0aGlzLmludGVydmFsWTsKCgkJdGhpcy5t ZW51b2JqLnN0eWxlLmNsaXAgPSAicmVjdChhdXRvLCAiICsgdGhpcy5tZW51b2Jq Lm9mZnNldFdpZHRoICsgInB4LCAiICsgY2xpcFkgKyAicHgsICIgKyBjbGlwWCAr ICJweCkiOwoJCXRoaXMuc2xpZGV0aW1lciA9IHNldFRpbWVvdXQoInZCbWVudS5t ZW51c1t2Qm1lbnUuYWN0aXZlbWVudV0uc2xpZGUoIiArIGNsaXBYICsgIiwgIiAr IGNsaXBZICsgIiwgIiArIG9wYWNpdHkgKyAiKTsiLCAwKTsKCX0KCWVsc2UKCXsK CQl0aGlzLnN0b3Bfc2xpZGUoKTsKCX0KfTsKCi8qKgoqIEFib3J0IG1lbnUgc2xp ZGVyCiovCnZCX1BvcHVwX01lbnUucHJvdG90eXBlLnN0b3Bfc2xpZGUgPSBmdW5j dGlvbigpCnsKCWNsZWFyVGltZW91dCh0aGlzLnNsaWRldGltZXIpOwoKCXRoaXMu bWVudW9iai5zdHlsZS5jbGlwID0gJ3JlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0 byknOwoKCWlmICh2Qm1lbnUub3Blbl9mYWRlICYmIGlzX2llKQoJewoJCXRoaXMu bWVudW9iai5maWx0ZXJzLml0ZW0oJ0RYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0 LmFscGhhJykub3BhY2l0eSA9IDEwMDsKCX0KfTsKCi8qKgoqIEZldGNoIG9mZnNl dCBvZiBhbiBvYmplY3QKKgoqIEBwYXJhbQlvYmplY3QJVGhlIG9iamVjdCB0byBi ZSBtZWFzdXJlZAoqCiogQHJldHVybglhcnJheQlUaGUgbWVhc3VyZWQgb2Zmc2V0 cyBsZWZ0L3RvcAoqLwp2Ql9Qb3B1cF9NZW51LnByb3RvdHlwZS5mZXRjaF9vZmZz ZXQgPSBmdW5jdGlvbihvYmopCnsKCWlmIChvYmouZ2V0Qm91bmRpbmdDbGllbnRS ZWN0KQoJewoJCS8vIGJldHRlciwgbW9yZSBhY2N1cmF0ZSBmdW5jdGlvbiBmb3Ig SUUKCQl2YXIgcmVjdCA9IG9iai5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKCgkJ dmFyIHNjcm9sbFRvcCA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVu dC5zY3JvbGxUb3AsIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKTsKCQl2YXIgc2Ny b2xsTGVmdCA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3Jv bGxMZWZ0LCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpOwoKCQlpZiAoZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LmRpciA9PSAncnRsJykKCQl7CgkJCS8vIElFIHJl dHVybnMgYSBwb3NpdGl2ZSBzY3JvbGxMZWZ0LCBidXQgd2UgbmVlZCBhIG5lZ2F0 aXZlIHZhbHVlIHRvIGFjdHVhbGx5IGRvIHByb3BlciBjYWxjdWxhdGlvbnMuCgkJ CS8vIFRoaXMgYWN0dWFsbHkgZmxpcHMgdGhlIHNjb2xsb2luZyB0byBiZSByZWxh dGl2ZSB0byB0aGUgZGlzdGFuY2Ugc2Nyb2xsZWQgZnJvbSB0aGUgZGVmYXVsdC4K CQkJc2Nyb2xsTGVmdCA9IHNjcm9sbExlZnQgKyBkb2N1bWVudC5kb2N1bWVudEVs ZW1lbnQuY2xpZW50V2lkdGggLSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny b2xsV2lkdGg7CgkJfQoKCQlyZXR1cm4geyAnbGVmdCcgOiByZWN0LmxlZnQgKyBz Y3JvbGxMZWZ0LCAndG9wJyA6IHJlY3QudG9wICsgc2Nyb2xsVG9wIH07Cgl9CgoJ dmFyIGxlZnRfb2Zmc2V0ID0gb2JqLm9mZnNldExlZnQ7Cgl2YXIgdG9wX29mZnNl dCA9IG9iai5vZmZzZXRUb3A7CgoJd2hpbGUgKChvYmogPSBvYmoub2Zmc2V0UGFy ZW50KSAhPSBudWxsKQoJewoJCWxlZnRfb2Zmc2V0ICs9IG9iai5vZmZzZXRMZWZ0 OwoJCXRvcF9vZmZzZXQgKz0gb2JqLm9mZnNldFRvcDsKCX0KCglyZXR1cm4geyAn bGVmdCcgOiBsZWZ0X29mZnNldCwgJ3RvcCcgOiB0b3Bfb2Zmc2V0IH07Cn07Cgov KioKKiBEZXRlY3QgYW4gb3ZlcmxhcCBvZiBhbiBvYmplY3QgYW5kIGEgbWVudQoq CiogQHBhcmFtCW9iamVjdAlPYmplY3QgdG8gYmUgdGVzdGVkIGZvciBvdmVybGFw CiogQHBhcmFtCWFycmF5CUFycmF5IG9mIGRpbWVuc2lvbnMgZm9yIG1lbnUgb2Jq ZWN0CioKKiBAcmV0dXJuCWJvb2xlYW4JVHJ1ZSBpZiBvdmVybGFwCiovCnZCX1Bv cHVwX01lbnUucHJvdG90eXBlLm92ZXJsYXBzID0gZnVuY3Rpb24ob2JqLCBtKQp7 Cgl2YXIgcyA9IG5ldyBBcnJheSgpOwoJdmFyIHBvcyA9IHRoaXMuZmV0Y2hfb2Zm c2V0KG9iaik7CglzWydMJ10gPSBwb3NbJ2xlZnQnXTsKCXNbJ1QnXSA9IHBvc1sn dG9wJ107CglzWydSJ10gPSBzWydMJ10gKyBvYmoub2Zmc2V0V2lkdGg7CglzWydC J10gPSBzWydUJ10gKyBvYmoub2Zmc2V0SGVpZ2h0OwoKCglpZiAoc1snTCddID4g bVsnUiddIHx8IHNbJ1InXSA8IG1bJ0wnXSB8fCBzWydUJ10gPiBtWydCJ10gfHwg c1snQiddIDwgbVsnVCddKQoJewoJCXJldHVybiBmYWxzZTsKCX0KCXJldHVybiB0 cnVlOwp9OwoKLyoqCiogSGFuZGxlIElFIG92ZXJsYXBwaW5nIDxzZWxlY3Q+IGVs ZW1lbnRzCioKKiBAcGFyYW0JYm9vbGVhbglIaWRlICh0cnVlKSBvciBzaG93IChm YWxzZSkgb3ZlcmxhcHBpbmcgPHNlbGVjdD4gZWxlbWVudHMKKi8KdkJfUG9wdXBf TWVudS5wcm90b3R5cGUuaGFuZGxlX292ZXJsYXBzID0gZnVuY3Rpb24oZG9oaWRl KQp7CglpZiAoaXNfaWUgJiYgIWlzX2llNykKCXsKCQl2YXIgc2VsZWN0cyA9IGZl dGNoX3RhZ3MoZG9jdW1lbnQsICdzZWxlY3QnKTsKCgkJaWYgKGRvaGlkZSkKCQl7 CgkJCXZhciBtZW51YXJlYSA9IG5ldyBBcnJheSgpOyBtZW51YXJlYSA9IHsKCQkJ CSdMJyA6IHRoaXMubGVmdHB4LAoJCQkJJ1InIDogdGhpcy5sZWZ0cHggKyB0aGlz Lm1lbnVvYmoub2Zmc2V0V2lkdGgsCgkJCQknVCcgOiB0aGlzLnRvcHB4LAoJCQkJ J0InIDogdGhpcy50b3BweCArIHRoaXMubWVudW9iai5vZmZzZXRIZWlnaHQKCQkJ fTsKCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0cy5sZW5ndGg7IGkrKykK CQkJewoJCQkJaWYgKHRoaXMub3ZlcmxhcHMoc2VsZWN0c1tpXSwgbWVudWFyZWEp KQoJCQkJewoJCQkJCXZhciBoaWRlID0gdHJ1ZTsKCQkJCQl2YXIgcyA9IHNlbGVj dHNbaV07CgkJCQkJd2hpbGUgKHMgPSBzLnBhcmVudE5vZGUpCgkJCQkJewoJCQkJ CQlpZiAocy5jbGFzc05hbWUgPT0gJ3ZibWVudV9wb3B1cCcpCgkJCQkJCXsKCQkJ CQkJCWhpZGUgPSBmYWxzZTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoK CQkJCQlpZiAoaGlkZSkKCQkJCQl7CgkJCQkJCXNlbGVjdHNbaV0uc3R5bGUudmlz aWJpbGl0eSA9ICdoaWRkZW4nOwoJCQkJCQl2Qm1lbnUuaGlkZGVuX3NlbGVjdHMu cHVzaChpKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJd2hp bGUgKHRydWUpCgkJCXsKCQkJCXZhciBpID0gdkJtZW51LmhpZGRlbl9zZWxlY3Rz LnBvcCgpOwoJCQkJaWYgKHR5cGVvZiBpID09ICd1bmRlZmluZWQnIHx8IGkgPT0g bnVsbCkKCQkJCXsKCQkJCQlicmVhazsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJ CQlzZWxlY3RzW2ldLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7CgkJCQl9 CgkJCX0KCQl9Cgl9Cn07CgovLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwovLyBNZW51IGV2ZW50IGhhbmRsZXIgZnVuY3Rpb25zCgovKioKKiBDbGFzcyBj b250YWluaW5nIG1lbnUgcG9wdXAgZXZlbnQgaGFuZGxlcnMKKi8KZnVuY3Rpb24g dkJfUG9wdXBfRXZlbnRzKCkKewp9OwoKLyoqCiogSGFuZGxlcyBjb250cm9sIG9i amVjdCBjbGljayBldmVudHMKKi8KdkJfUG9wdXBfRXZlbnRzLnByb3RvdHlwZS5j b250cm9sb2JqX29uY2xpY2sgPSBmdW5jdGlvbihlKQp7CglpZiAodHlwZW9mIGRv X2FuX2UgPT0gJ2Z1bmN0aW9uJykKCXsKCQlkb19hbl9lKGUpOwoJCWlmICh2Qm1l bnUuYWN0aXZlbWVudSA9PSBudWxsIHx8IHZCbWVudS5tZW51c1t2Qm1lbnUuYWN0 aXZlbWVudV0uY29udHJvbGtleSAhPSB0aGlzLmlkKQoJCXsKCQkJdkJtZW51Lm1l bnVzW3RoaXMuaWRdLnNob3codGhpcyk7CgkJfQoJCWVsc2UKCQl7CgkJCXZCbWVu dS5tZW51c1t0aGlzLmlkXS5oaWRlKCk7CgkJfQoJfQp9OwoKLyoqCiogSGFuZGxl cyBjb250cm9sIG9iamVjdCBtb3VzZW92ZXIgZXZlbnRzCiovCnZCX1BvcHVwX0V2 ZW50cy5wcm90b3R5cGUuY29udHJvbG9ial9vbm1vdXNlb3ZlciA9IGZ1bmN0aW9u KGUpCnsKCWlmICh0eXBlb2YgZG9fYW5fZSA9PSAnZnVuY3Rpb24nKQoJewoJCWRv X2FuX2UoZSk7CgkJdkJtZW51Lm1lbnVzW3RoaXMuaWRdLmhvdmVyKHRoaXMpOwoJ fQp9OwoKLyoqCiogSGFuZGxlcyBtZW51IG9wdGlvbiBjbGljayBldmVudHMgZm9y IG9wdGlvbnMgd2l0aCBvbmNsaWNrIGV2ZW50cwoqLwp2Ql9Qb3B1cF9FdmVudHMu cHJvdG90eXBlLm1lbnVvcHRpb25fb25jbGlja19mdW5jdGlvbiA9IGZ1bmN0aW9u KGUpCnsKCXRoaXMub2Z1bmMoZSk7Cgl2Qm1lbnUubWVudXNbdGhpcy5jb250cm9s a2V5XS5oaWRlKCk7Cn07CgovKioKKiBIYW5kbGVzIG1lbnUgb3B0aW9uIGNsaWNr IGV2ZW50cyBmb3Igb3B0aW9ucyBjb250YWluaW5nIGxpbmtzCiovCnZCX1BvcHVw X0V2ZW50cy5wcm90b3R5cGUubWVudW9wdGlvbl9vbmNsaWNrX2xpbmsgPSBmdW5j dGlvbihlKQp7CgllID0gZSA/IGUgOiB3aW5kb3cuZXZlbnQ7CgoJaWYgKGUuc2hp ZnRLZXkgfHwgKHRoaXMudGFyZ2V0ICE9IG51bGwgJiYgdGhpcy50YXJnZXQgIT0g JycgJiYgdGhpcy50YXJnZXQudG9Mb3dlckNhc2UoKSAhPSAnX3NlbGYnKSkKCXsK CQlpZiAodGhpcy50YXJnZXQgIT0gbnVsbCAmJiB0aGlzLnRhcmdldC5jaGFyQXQo MCkgIT0gJ18nKQoJCXsKCQkJd2luZG93Lm9wZW4odGhpcy5ocmVmLCB0aGlzLnRh cmdldCk7CgkJfQoJCWVsc2UKCQl7CgkJCXdpbmRvdy5vcGVuKHRoaXMuaHJlZik7 CgkJfQoJfQoJZWxzZQoJewoJCXdpbmRvdy5sb2NhdGlvbiA9IHRoaXMuaHJlZjsK CX0KCgkvLyBTYWZhcmkgaGFzICJpc3N1ZXMiIHdpdGggcmVzZXR0aW5nIHdoYXQg d2FzIGNsaWNrZWQgb24sIHN1cGVyIG1pbm9yIGFuZCBJIGRvbnQgY2FyZQoJZS5j YW5jZWxCdWJibGUgPSB0cnVlOwoJaWYgKGUuc3RvcFByb3BhZ2F0aW9uKSBlLnN0 b3BQcm9wYWdhdGlvbigpOwoJaWYgKGUucHJldmVudERlZmF1bHQpIGUucHJldmVu dERlZmF1bHQoKTsKCgl2Qm1lbnUubWVudXNbdGhpcy5jb250cm9sa2V5XS5oaWRl KCk7CglyZXR1cm4gZmFsc2U7Cn07CgovKioKKiBIYW5kbGVzIG1lbnUgb3B0aW9u IG1vdXNlb3ZlciBldmVudHMKKi8KdkJfUG9wdXBfRXZlbnRzLnByb3RvdHlwZS5t ZW51b3B0aW9uX29ubW91c2VvdmVyID0gZnVuY3Rpb24oZSkKewoJdGhpcy5jbGFz c05hbWUgPSAndmJtZW51X2hpbGl0ZScgKyAodGhpcy5pc2xpbmsgPyAnIHZibWVu dV9oaWxpdGVfYWxpbmsnIDogJycpOwoJdGhpcy5zdHlsZS5jdXJzb3IgPSBwb2lu dGVyX2N1cnNvcjsKfTsKCi8qKgoqIEhhbmRsZXMgbWVudSBvcHRpb24gbW91c2Vv dXQgZXZlbnRzCiovCnZCX1BvcHVwX0V2ZW50cy5wcm90b3R5cGUubWVudW9wdGlv bl9vbm1vdXNlb3V0ID0gZnVuY3Rpb24oZSkKewoJdGhpcy5jbGFzc05hbWUgPSAn dmJtZW51X29wdGlvbicgKyAodGhpcy5pc2xpbmsgPyAnIHZibWVudV9vcHRpb25f YWxpbmsnIDogJycpOwoJdGhpcy5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7Cn07 CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0qXAp8fCAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIw0KfHwgIyBDVlM6ICRSQ1NmaWxlJCAtICRSZXZpc2lvbjogMTczMTMgJAp8 fCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpcKj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0q Lw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_post_loader.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_post_loader.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_post_loader.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qKgoqIEF0dGVtcHRzIHRvIGRpc3Bs YXkgYSBwb3N0IHZpYSBBSkFYLCBmYWxsaW5nIGJhY2sgdG8gb3BlbmluZyBhIG5l dyB3aW5kb3cgaWYgQUpBWCBub3QgYXZhaWxhYmxlCioKKiBAcGFyYW0JaW50ZWdl cglQb3N0IElECioKKiBAcmV0dXJuCWJvb2xlYW4JRmFsc2UKKi8KZnVuY3Rpb24g ZGlzcGxheV9wb3N0KHBvc3RpZCkKewoJaWYgKEFKQVhfQ29tcGF0aWJsZSkKCXsK CQl2Ql9Qb3N0TG9hZGVyW3Bvc3RpZF0gPSBuZXcgdkJfQUpBWF9Qb3N0TG9hZGVy KHBvc3RpZCk7CgkJdkJfUG9zdExvYWRlcltwb3N0aWRdLmluaXQoKTsKCX0KCWVs c2UKCXsKCQlwY19vYmogPSBmZXRjaF9vYmplY3QoJ3Bvc3Rjb3VudCcgKyB0aGlz LnBvc3RpZCk7CgkJb3BlbldpbmRvdygnc2hvd3Bvc3QucGhwPycgKyAoU0VTU0lP TlVSTCA/ICdzPScgKyBTRVNTSU9OVVJMIDogJycpICsgKHBjX29iaiAhPSBudWxs ID8gJyZwb3N0Y291bnQ9JyArIFBIUC51cmxlbmNvZGUocGNfb2JqLm5hbWUpIDog JycpICsgJyZwPScgKyBwb3N0aWQpOwoJfQoJcmV0dXJuIGZhbHNlOwp9OwoKLy8g IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLy8gdkJfQUpBWF9Qb3N0TG9h ZGVyCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgp2YXIgdkJfUG9z dExvYWRlciA9IG5ldyBBcnJheSgpOwoKLyoqCiogQ2xhc3MgdG8gbG9hZCBhIHBv c3RiaXQgdmlhIEFKQVgKKgoqIEBwYXJhbQlpbnRlZ2VyCVBvc3QgSUQKKi8KZnVu Y3Rpb24gdkJfQUpBWF9Qb3N0TG9hZGVyKHBvc3RpZCkKewoJdGhpcy5wb3N0aWQg PSBwb3N0aWQ7Cgl0aGlzLmNvbnRhaW5lciA9IGZldGNoX29iamVjdCgnZWRpdCcg KyB0aGlzLnBvc3RpZCk7Cn07CgovKioKKiBJbml0aWF0ZXMgdGhlIEFKQVggc2Vu ZCB0byBzaG93cG9zdC5waHAKKi8KdkJfQUpBWF9Qb3N0TG9hZGVyLnByb3RvdHlw ZS5pbml0ID0gZnVuY3Rpb24oKQp7CglpZiAodGhpcy5jb250YWluZXIpCgl7CgkJ cG9zdGlkID0gdGhpcy5wb3N0aWQ7CgkJcGNfb2JqID0gZmV0Y2hfb2JqZWN0KCdw b3N0Y291bnQnICsgdGhpcy5wb3N0aWQpOwoJCXRoaXMuYWpheCA9IG5ldyB2Ql9B SkFYX0hhbmRsZXIodHJ1ZSk7CgkJdGhpcy5hamF4Lm9ucmVhZHlzdGF0ZWNoYW5n ZSh2Ql9Qb3N0TG9hZGVyW3Bvc3RpZF0uYWpheF9jaGVjayk7CgkJdGhpcy5hamF4 LnNlbmQoJ3Nob3dwb3N0LnBocD9wPScgKyB0aGlzLnBvc3RpZCwKCQkJJ2FqYXg9 MSZwb3N0aWQ9JyArIHRoaXMucG9zdGlkICsKCQkJKHBjX29iaiAhPSBudWxsID8g JyZwb3N0Y291bnQ9JyArIFBIUC51cmxlbmNvZGUocGNfb2JqLm5hbWUpIDogJycp CgkJKTsKCX0KfTsKCi8qKgoqIE9ucmVhZHlzdGF0ZSBoYW5kbGVyIGZvciBBSkFY IHBvc3QgbG9hZGVyCioKKiBAcmV0dXJuCWJvb2xlYW4JRmFsc2UKKi8KdkJfQUpB WF9Qb3N0TG9hZGVyLnByb3RvdHlwZS5hamF4X2NoZWNrID0gZnVuY3Rpb24oKQp7 Cgl2YXIgQUpBWCA9IHZCX1Bvc3RMb2FkZXJbcG9zdGlkXS5hamF4LmhhbmRsZXI7 CgoJaWYgKEFKQVgucmVhZHlTdGF0ZSA9PSA0ICYmIEFKQVguc3RhdHVzID09IDIw MCkKCXsKCQl2Ql9Qb3N0TG9hZGVyW3Bvc3RpZF0uZGlzcGxheShBSkFYLnJlc3Bv bnNlWE1MKTsKCgkJaWYgKGlzX2llKQoJCXsKCQkJQUpBWC5hYm9ydCgpOwoJCX0K CX0KCglyZXR1cm4gZmFsc2U7Cn07CgovKioKKiBUYWtlcyB0aGUgQUpBWCBIVE1M IG91dHB1dCBhbmQgcmVwbGFjZXMgdGhlIGV4aXN0aW5nIHBvc3QgcGxhY2Vob2xk ZXIgd2l0aCB0aGUgbmV3IEhUTUwKKgoqIEBwYXJhbQlzdHJpbmcJUG9zdGJpdCBI VE1MCiovCnZCX0FKQVhfUG9zdExvYWRlci5wcm90b3R5cGUuZGlzcGxheSA9IGZ1 bmN0aW9uKHBvc3RiaXRfeG1sKQp7CglpZiAoZmV0Y2hfdGFnX2NvdW50KHBvc3Ri aXRfeG1sLCAncG9zdGJpdCcpKQoJewoJCXRoaXMuY29udGFpbmVyLmlubmVySFRN TCA9IHRoaXMuYWpheC5mZXRjaF9kYXRhKGZldGNoX3RhZ3MocG9zdGJpdF94bWws ICdwb3N0Yml0JylbMF0pOwoJCVBvc3RCaXRfSW5pdChmZXRjaF9vYmplY3QoJ3Bv c3QnICsgdGhpcy5wb3N0aWQpLCB0aGlzLnBvc3RpZCk7Cgl9CgllbHNlCgl7CS8v IHBhcnNpbmcgb2YgWE1MIGZhaWxlZCwgcHJvYmFibHkgSUUKCQlvcGVuV2luZG93 KCdzaG93cG9zdC5waHA/JyArIChTRVNTSU9OVVJMID8gJ3M9JyArIFNFU1NJT05V UkwgOiAnJykgKyAocGNfb2JqICE9IG51bGwgPyAnJnBvc3Rjb3VudD0nICsgUEhQ LnVybGVuY29kZShwY19vYmoubmFtZSkgOiAnJykgKyAnJnA9JyArIHRoaXMucG9z dGlkKTsKCX0KfTsKCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSpcCnx8ICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjDQp8fCAjIENWUzogJFJDU2ZpbGUkIC0gJFJldmlzaW9u OiAxNTA5MSAkCnx8ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClwqPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PSov ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline Content-Type: image/gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/misc/head_back.gif Content-Transfer-Encoding: Base64 R0lGODlhCgB4APcAAPeNFEBAQPeZHfmpIveNGvaJGfieHkJCQlZJKveVHC0tLfV0 FPmyJDU1NfvKRjIyMj09PfRwEvV9Fvq8JvaFGPeXEPV/Fjw8PKFjKSwsLDk5Ofii IPRqEfRsEvRuEvV4FS8vL/aSE/mqN/aCF/VyE/V+FvV6FveLFPq6JvaMJ/m0O/m0 JPq+Jzo6OvinIfmvI/aFFvi9QPigH/V4FvmsIveYEfeJFfiZL/q4JviTLPeSHPil IPaQE/iiMPeQG3BMKPaGF/aHFdKMM0RERMlzKfvDQPipK/WBF+eGK/KRLEw/JfVy Fu1nEfaDGPaOFEhISCQkJPZ8FvV8HLSAM/ieMPeQKDMtJvWXL/mtJ/q9K+KZNfeW EuWtPfR2FvmhKPWCIMehPX5aK/imKeR4I+51GT8yJi0pJfV2GPeZIfiaJvV1F/m2 JfeVEfR2FfR3FfV2FPV5FfV7FveUEvV2FfV3FPWCFvmwI/q3JfV3FfecHvq4JfWI FfaPFPaDFvifFyUlJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAKAHgAAAiNAIcIHBLgwJOBFxK20KAB QsILGSJKnKigosWLGDGC2Mix44OPIEOKFNmgpMmTDFOq1PCw5UMIMGPKDECzps2b Nw/o3MmzZ0+ZQCGsXDky5MSjGaAoXcr0j9OnUKNKnUq1qtWrWLNq3cq1q9evYMOK HUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27bpnqhRIQADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=head_left.gif Content-Type: image/gif; name=head_left.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/misc/head_left.gif Content-Transfer-Encoding: Base64 R0lGODlh7AB4APcAAP//////AP8A//8AAAD//wD/AAAA/wAAAPX29/T19vLz9M/Q 0eTn6Zyipd/j5fDy8+/x8u7w8dne4NTa3MzT1eLm5+Dl5tzh4tvg4c/W18bIyMvM zMDBwbu8vLW2tq2urevr6t7c2Hx7eYSDgTo2Mj88OUI/PEpHRGpoZmlnZWdlY9jW 1H9+fXh3dtt+K9qAMMKdfNC1m+VuBuZzDud4F5dSF917Jtx8KNp+LXFAF9t+LteF PVAxF9WIRdSLS8mYbikkIC0oJDQwLTUxLkRBP1BNSx8aF2lnZmhmZWdlZGNhYGFf Xnp4d3d1dHRycXJwb3BubW5saxUQDiUgHi0oJi8qKFFOTVxZWFtYV1dUU2JfXnx5 eFdTU2ViYnJvb3t5eW9tbXx7e3Rzc29uburp6ebl5dPS0qWkpJSTk5KRkZGQkJCP j4+Ojo6NjYyLi4uKioqJiYmIiIiHh4SDg4OCgvn5+ff39/T09O/v7+3t7ejo6Jqa mpiYmJaWlpWVlZSUlJKSkoyMjIeHh4WFhYSEhIGBgYCAgH9/f35+fn19fXt7e3l5 eXd3d3R0dHJycnFxcWxsbGpqamlpaWdnZ2VlZWNjY2BgYF5eXl1dXVpaWlhYWFdX V1VVVVJSUlFRUU9PT01NTUpKSkhISEZGRkREREJCQkBAQD8/Pz09PTo6Ojk5OTY2 NjU1NTIyMjAwMC8vLy0tLSoqKikpKSYmJiUlJf///wAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAALUALAAAAADsAHgAAAj/AEkJJGWqlKiBCAseRChQ IcOGBh8SjPjQYUWKDC1mxJiQ40CNHRduFBlSIsiPHiGSRLlSpcmUE1vGfCmzIKqb qVSpuskTp86ePHPuBIpKKNGiP4kaVZoU6FKnTXs+lRo1aFWfQ6FmpbrValesR6d6 DXsV6VezZM8KhcW2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4 sePHb19Jnky5suXLmDNr3sy5s+fPoEOLHk26dOVWqFOrXs26tevXsGPLnk27tu3b uHPr3s27t+/fwIMLH068NavjyJMrX868ufPn0KNLn069uvXr2LNrV66zu/fv4MOL /x9Pvrz58+jTq1/Pvr379+CPyp9Pv779+/jz69/Pv7///wAGKOCABBZo4IEIGmjK ggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJEJai4oostujiizDG KOOMNNZo44045qjjjjz26OOPQAYp5JBEFmnkiwkmqeSSTDbJJHxQRinllFKmYuWV WGap5ZZUdilecWCGKeZu1o0ZJmRoplmYZq606eabm6npFy101mnnnXjmqeeetMzi 55+z8CnooIQWaiihf8qiqKKxNOroo5BCuqiigB5q6aWYZnonoJxOuiinlWoq6qib gspoo22R5lajlIJK6quwIv/a6aKRxvKpq7HmWqipsqAKi2SurBbdam2+wharsuCq 67Kk8uroXMgqy+y0dM6KqmSpsbLKKt5teaV32x6HmmSwsMoptege6mwsbAEbLGrF HmtrsqGmm6uzv76rrSpW3nTKv/9CCPApOOW0CiutuGKsuX/a67CeoM7CaLv6answ wgmTO2/ED49qKru/osZtKqicUtBAo6Ss8sorD1QKwQYjvHCrfnZsc5+dgvwKavtq qcrB4x5LM8c3y5por/m2wgq/qJhCyiiihBIKKFRT/cnVWGNdtdSijEJKKUUBPXO9 RaNrbdLa9mvyiqbA/HPQ5d4acc1llwroxDunjUoppET/DconnnTCyeCbFG744YUP 3oknn4ASitenpHKwwnE3XLfZR7P7SrCrkHwK31CLIrrXBCG1CtyOTjq35Td/zG6w SzfddyiAc7JJJplgcskllvTu+++9X4JJJpps0knjB0V++th0X85sziEvncrnUE+d NdWPf206vOTKO+/Qc9v7cdKdU097J7djYkkllFAyySSSxC///JK8T0kllgzPiSeg iAK2KqxQmK1Y5zxd3U1zrpCe00TxN8FtQhPF48TiHHcQsMUMXgozVltSJ7fVLets eePXKfoGCk9wIhO8o4QkIgGJMYzhETB0hAxlCEMYuhAS9cNfJvYXClIorxXGoleg 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 Ow== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline Content-Type: image/gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/misc/nav.gif Content-Transfer-Encoding: Base64 R0lGODlhAgAtAPcAACIiIkZGRmVlZUBAQFFRUWFhYTw9QGBgYFxcXF5eXl1dXV9f X2NjY2ZmZh0dHVtbW1RUVExMTCsrK0dHRzU1NT8/Py4uLjIyMjExMTg4OBwcHCAg IDQ0NDMzMyYmJikpKR8fHyEhIR4eHiwsLCMjIy8vLycnJ0lJSTs7O0JCQjc3Nyoq KkhISE1NTT4+Pjk5OTw8PC0tLT09PUNDQ05OTmJiYlJSUk9PTzs8Pzo7PERERFlZ WSQkJDAwMCgoKFdXV1NTU1BQUEpKShsbG2hoaFZWVlpaWlhYWBoaGlVVVSUlJTY2 NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAACAC0AAAgpAHnwUEJQiYSDEixYuHCB AoUlECNKnEixosWLGC8CAODDR48eSEIiCQgAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=navbits_start.gif Content-Type: image/gif; name=navbits_start.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/misc/navbits_start.gif Content-Transfer-Encoding: Base64 R0lGODlhJgAPANUAAD09PVdXV05OTkVFRWhoaE1NTT4+PkNDQ0RERExMTGVlZVtb W2RkZHV1dXJyckdHR0ZGRj8/P1hYWEBAQFFRUWdnZ09PT1xcXGNjY1paWktLS0hI SGlpaVZWVoaGhnd3d39/f2pqanFxcYGBgUFBQXh4eFlZWYODg1BQUIWFhTw8PGZm ZnZ2dkJCQnNzc3R0dDs7O7i4uDY2NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAmAA8AAAacQJlwSCwaj8ikcslsOp+y mFRKnFKH1pgzBut2tVHvV8gVg5kx0iRiAIDL3rcYdl7GNg/IAPFet91kc3VKMRQW AgUJbw97Bwdvfyp0TTELGRIBHW8oiAkab3oIBy2DRzEEFQoMGG8XCyYBAW+GnaVG MR8NLw4ibxwEKwqsZK6XsmgeKScjIG8lLA0uDm8hqKq2plZV2ljcUN/g4UxBADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=navbits_finallink_ltr.gif Content-Type: image/gif; name=navbits_finallink_ltr.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/misc/navbits_finallink_ltr.gif Content-Transfer-Encoding: Base64 R0lGODlhFgAMALMAAP+mADExMf+7AP+WACwsLP/LADAwMC0tLTIyMi4uLi8vLzQ0 NDU1NTMzMzY2NgAAACH5BAAAAAAALAAAAAAWAAwAAAQ00MlJq704683BWgwnMSQD CAG4DQs7NGeRbkxjN8hJKA39fbBDYsYp1QypkGjC+CiX0OgkAgA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=reply.gif Content-Type: image/gif; name=reply.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/reply.gif Content-Transfer-Encoding: Base64 R0lGODlhZAAeAOYAAH9/f6+vr8bGxpycnLm5uW5uboyMjOvr6+Pj45eXl83NzY+P j4qKioSEhHt7e1paWkJCQmZmZj8/Pzk5OVJSUlRUVHZ2dqurq0ZGRk5OTl1dXUBA QLq6ur6+voiIiHd3d0hISJGRkVFRUUlJSXh4eDw8PGNjYz09PXV1dXNzc0tLS7+/ v09PT4mJiaOjo6ioqIaGhqSkpLa2tr29vXx8fKmpqVdXV6enp6WlpaysrGpqapWV lbu7u6amppmZmbe3t8nJyZiYmLKysoGBgaCgoJubm8vLy6qqquXl5ezs7Jqamp6e ns7OztXV1by8vMTExK2trZCQkKKiosPDw7CwsLGxsWtra0VFRdzc3NbW1rOzs2xs bG1tbfLy8oCAgO3t7djY2Hl5edDQ0HJycujo6ExMTIODg7W1tWBgYMHBwXFxcfDw 8J+fn9vb28LCwnR0dH19fTo6OsDAwDc3N7S0tNPT04eHh5OTk9fX18/Pz9/f3+7u 7pSUlMjIyN3d3TY2NiH5BAAAAAAALAAAAABkAB4AAAf/gH+Cg4SFhoeIiYqLjI2O j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqokgGa4Snq2uVxOTGA8RFKMgLQkJ Ox8UcZEjGg8Yhrw7y2ZbI5IPTEkRow89QAh1HVEsgxAZEIXfVyV/JRZiPw+GDzhy WUYzNRqDJSoq5YISEBMQILV/HiiY9mdfPgjhND24YSSEgTQ/tkwo1oDNEA3PNlRo 4MLAh3NE1nCgoYvQgxhTQsBwMjIchRR3QozphoHGEC4ADHDpFu1ABAkAYKDYQMEL nGeZHtQwAgMNBzcpThSoQwYJlg5cTlQgsCfJASUZLiTpomAKNZMvgLQo4CYNCQkU /3b40QNGQIoND+RgEdOmSZOPD/IgiaDCRRcCFVAYoUMvKZEVNY6cCVJBxA0EMz7I YBJDRIQvazxYKBCnaJYLuQo9WDKjz5QffHRFwALmwwAgLio86ICEiYcVWXyoeMDh SYQJBb6QMVFkBQMVCosIyaFkLd4eHRxsINHhxQMbF/A0WbLlBAQaM2KsUx0kQI8A VOCUkUBiBZAZR7o/eBCgTRQMZnTggg0PvMADNTbkgEQIMshgBUCYPDBAAB9oIMIJ AUkx0gg08HDDAxDY4AEdTiQgAgQOcKAehII8EAQUJAwBBQ5oSGABB0KEEMUCMIDw wAVPeFCGBzwUodsNB/4Bgv8HT3CwghI2bPKACzKEkdAfKrTwwwUwXECAASpQYMAQ IXCgRAU28uAEDA+atEQVJJhwgRAOQGCCEDK0AIAPFkjwowBaeECFDA34+EIHZ5mw ggAzAHCFlANc8MGVc1SwwA094LBABXNEkMMFF/Rw1x8aSEFFFVaaFEQMKIjgAQ4h VMCCBUS4EMMLb/jJhhY5HIGDDzpMsJoWZ1Xgwxk1mMAJBil8ECwhGumAgg4VbPAH BRFYYIEJ3fxRDAkktDkIBmNMewK21f7BgglvqJHaAz7UYAEKamD0B7Mk6HKLHVAw IEIn+7A4SD8CI2QIQgIXxA8iEMDSYhFHWNAwIfsUhAIzEVXkUACGq5AiQggDpOCw ITZKQQQAJXU8ygkiHKPILS6rLPPMNNds880456zzzjz3vHMgADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_ajax_reputation.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_ajax_reputation.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_ajax_reputation.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qKgoqIFJlZ2lzdGVyIGEgcG9zdCBm b3IgYWpheCByZXB1dGF0aW9uCioKKiBAcGFyYW0Jc3RyaW5nCVBvc3RpZAoqCiog QHJldHVybgl2Ql9SZXB1dGF0aW9uX09iamVjdAoqLwpmdW5jdGlvbiB2YnJlcF9y ZWdpc3Rlcihwb3N0aWQpCnsKCWlmICh0eXBlb2YgdkJyZXAgPT0gJ29iamVjdCcg JiYgdHlwZW9mIHBvc3RpZCAhPSAndW5kZWZpbmVkJykKCXsKCQlyZXR1cm4gdkJy ZXAucmVnaXN0ZXIocG9zdGlkKTsKCX0KfQoKLy8gIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKLy8gdkJfUmVwdXRhdGlvbl9IYW5kbGVyCi8vICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovKioKKiB2QnVsbGV0aW4gcmVwdXRhdGlv biByZWdpc3RyeQoqLwpmdW5jdGlvbiB2Ql9SZXB1dGF0aW9uX0hhbmRsZXIoKQp7 Cgl0aGlzLnJlcHMgPSBuZXcgQXJyYXkoKTsKCXRoaXMuYWpheCA9IG5ldyBBcnJh eSgpOwp9OwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gdkJf UmVwdXRhdGlvbl9IYW5kbGVyIG1ldGhvZHMKCi8qKgoqIFJlZ2lzdGVyIGEgY29u dHJvbCBvYmplY3QgYXMgYSByZXB1dGF0aW9uIGNvbnRyb2wKKgoqIEBwYXJhbQlz dHJpbmcJSUQgb2YgdGhlIGNvbnRyb2wgb2JqZWN0CioKKiBAcmV0dXJuCXZCX1Jl cHV0YXRpb25fT2JqZWN0CiovCnZCX1JlcHV0YXRpb25fSGFuZGxlci5wcm90b3R5 cGUucmVnaXN0ZXIgPSBmdW5jdGlvbihwb3N0aWQpCnsKCWlmIChBSkFYX0NvbXBh dGlibGUgJiYgKHR5cGVvZiB2Yl9kaXNhYmxlX2FqYXggPT0gJ3VuZGVmaW5lZCcg fHwgdmJfZGlzYWJsZV9hamF4IDwgMikpCgl7CgkJdGhpcy5yZXBzW3Bvc3RpZF0g PSBuZXcgdkJfUmVwdXRhdGlvbl9PYmplY3QocG9zdGlkKTsKCQlpZiAob2JqID0g ZmV0Y2hfb2JqZWN0KCdyZXB1dGF0aW9uXycgKyBwb3N0aWQpKQoJCXsKCQkJb2Jq Lm9uY2xpY2sgPSB2Ql9SZXB1dGF0aW9uX09iamVjdC5wcm90b3R5cGUucmVwdXRh dGlvbl9jbGljazsKCQkJcmV0dXJuIHRoaXMucmVwc1twb3N0aWRdOwoJCX0KCX0K fTsKCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIGluaXRpYWxp emUgcmVwdXRhdGlvbiByZWdpc3RyeQoKdkJyZXAgPSBuZXcgdkJfUmVwdXRhdGlv bl9IYW5kbGVyKCk7CgovLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwov LyB2Ql9SZXB1dGF0aW9uX09iamVjdAovLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwoKLyoqCiogdkJ1bGxldGluIFJlcHV0YXRpb24gY2xhc3MgY29uc3Ry dWN0b3IKKgoqIE1hbmFnZXMgYSBzaW5nbGUgcmVwdXRhdGlvbiBhbmQgY29udHJv bCBvYmplY3QKKiBJbml0aWFsaXplcyBjb250cm9sIG9iamVjdAoqCiogQHBhcmFt CXN0cmluZwlwb3N0aWQKKi8KZnVuY3Rpb24gdkJfUmVwdXRhdGlvbl9PYmplY3Qo cG9zdGlkKQp7Cgl0aGlzLnBvc3RpZCA9IHBvc3RpZDsKCXRoaXMuZGl2bmFtZSA9 ICdyZXB1dGF0aW9ubWVudV8nICsgcG9zdGlkICsgJ19tZW51JzsKCXRoaXMuZGl2 b2JqID0gbnVsbDsKCXRoaXMucG9zdG9iaiA9IGZldGNoX29iamVjdCgncG9zdCcg KyBwb3N0aWQpOwoKCXRoaXMudmJtZW51bmFtZSA9ICdyZXB1dGF0aW9ubWVudV8n ICsgcG9zdGlkOwoJdGhpcy52Ym1lbnUgPSBudWxsOwoKCXRoaXMueG1sX3NlbmRl cl9wb3B1bGF0ZSA9IG51bGw7Cgl0aGlzLnhtbF9zZW5kZXJfc3VibWl0ID0gbnVs bDsKCgl2YXIgbWUgPSB0aGlzOwoKCS8qKgoJKiBQb3B1bGF0ZSBPblJlYWR5U3Rh dGVDaGFuZ2UgY2FsbGJhY2suIFVzZXMgYSBjbG9zdXJlIHRvIGtlZXAgc3RhdGUu CgkqIFJlbWVtYmVyIHRvIHVzZSBtZSBpbnN0ZWFkIG9mICJ0aGlzIiBpbnNpZGUg dGhpcyBmdW5jdGlvbiEKCSovCgl0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZV9wb3B1 bGF0ZSA9IGZ1bmN0aW9uKCkKCXsKCQlpZiAobWUueG1sX3NlbmRlcl9wb3B1bGF0 ZS5oYW5kbGVyLnJlYWR5U3RhdGUgPT0gNCAmJiBtZS54bWxfc2VuZGVyX3BvcHVs YXRlLmhhbmRsZXIuc3RhdHVzID09IDIwMCkKCQl7CgkJCWlmIChtZS54bWxfc2Vu ZGVyX3BvcHVsYXRlLmhhbmRsZXIucmVzcG9uc2VYTUwpCgkJCXsKCQkJCS8vIGNo ZWNrIGZvciBlcnJvciBmaXJzdAoJCQkJdmFyIGVycm9yID0gbWUueG1sX3NlbmRl cl9wb3B1bGF0ZS5mZXRjaF9kYXRhKGZldGNoX3RhZ3MobWUueG1sX3NlbmRlcl9w b3B1bGF0ZS5oYW5kbGVyLnJlc3BvbnNlWE1MLCAnZXJyb3InKVswXSk7CgkJCQlp ZiAoZXJyb3IpCgkJCQl7CgkJCQkJYWxlcnQoZXJyb3IpOwoJCQkJfQoJCQkJZWxz ZQoJCQkJewoJCQkJCWlmICghbWUuZGl2b2JqKQoJCQkJCXsKCQkJCQkJLy8gQ3Jl YXRlIG5ldyBkaXYgdG8gaG9sZCByZXB1dGF0aW9uIG1lbnUgaHRtbAoJCQkJCQlt ZS5kaXZvYmogPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQkJCQkJ bWUuZGl2b2JqLmlkID0gbWUuZGl2bmFtZTsKCQkJCQkJbWUuZGl2b2JqLnN0eWxl LmRpc3BsYXkgPSAnbm9uZSc7CgkJCQkJCW1lLmRpdm9iai5vbmtleXByZXNzID0g dkJfUmVwdXRhdGlvbl9PYmplY3QucHJvdG90eXBlLnJlcGlucHV0X29ua2V5cHJl c3M7CgkJCQkJCW1lLnBvc3RvYmoucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChtZS5k aXZvYmopOwoKCQkJCQkJbWUudmJtZW51ID0gdmJtZW51X3JlZ2lzdGVyKG1lLnZi bWVudW5hbWUsIHRydWUpOwoJCQkJCQkvLyBSZW1vdmUgbWVudSdzIG1vdXNlb3Zl ciBldmVudAoJCQkJCQlmZXRjaF9vYmplY3QobWUudmJtZW51LmNvbnRyb2xrZXkp Lm9ubW91c2VvdmVyID0gJyc7CgkJCQkJCWZldGNoX29iamVjdChtZS52Ym1lbnUu Y29udHJvbGtleSkub25jbGljayA9ICcnOwoJCQkJCX0KCgkJCQkJbWUuZGl2b2Jq LmlubmVySFRNTCA9IG1lLnhtbF9zZW5kZXJfcG9wdWxhdGUuZmV0Y2hfZGF0YShm ZXRjaF90YWdzKG1lLnhtbF9zZW5kZXJfcG9wdWxhdGUuaGFuZGxlci5yZXNwb25z ZVhNTCwgJ3JlcHV0YXRpb25iaXQnKVswXSk7CgoJCQkJCXZhciBpbnB1dHMgPSBm ZXRjaF90YWdzKG1lLmRpdm9iaiwgJ2lucHV0Jyk7CgkJCQkJZm9yICh2YXIgaSA9 IDA7IGkgPCBpbnB1dHMubGVuZ3RoOyBpKyspCgkJCQkJewoJCQkJCQlpZiAoaW5w dXRzW2ldLnR5cGUgPT0gJ3N1Ym1pdCcpCgkJCQkJCXsKCQkJCQkJCXZhciBzYnV0 dG9uID0gaW5wdXRzW2ldOwoJCQkJCQkJdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CgkJCQkJCQlidXR0b24udHlwZSA9ICdidXR0 b24nOwoJCQkJCQkJYnV0dG9uLmNsYXNzTmFtZSA9IHNidXR0b24uY2xhc3NOYW1l OwoJCQkJCQkJYnV0dG9uLnZhbHVlID0gc2J1dHRvbi52YWx1ZTsKCQkJCQkJCWJ1 dHRvbi5vbmNsaWNrID0gdkJfUmVwdXRhdGlvbl9PYmplY3QucHJvdG90eXBlLnN1 Ym1pdF9vbmNsaWNrOwoJCQkJCQkJc2J1dHRvbi5wYXJlbnROb2RlLmluc2VydEJl Zm9yZShidXR0b24sIHNidXR0b24pOwoJCQkJCQkJc2J1dHRvbi5wYXJlbnROb2Rl LnJlbW92ZUNoaWxkKHNidXR0b24pOwoJCQkJCQkJYnV0dG9uLm5hbWUgPSBzYnV0 dG9uLm5hbWU7CgkJCQkJCQlidXR0b24uaWQgPSBzYnV0dG9uLm5hbWUgKyAnXycg KyBtZS5wb3N0aWQKCQkJCQkJfQoJCQkJCX0KCgkJCQkJbWUudmJtZW51LnNob3co ZmV0Y2hfb2JqZWN0KG1lLnZibWVudW5hbWUpKTsKCQkJCX0KCQkJfQoKCQkJaWYg KGlzX2llKQoJCQl7CgkJCQltZS54bWxfc2VuZGVyX3BvcHVsYXRlLmhhbmRsZXIu YWJvcnQoKTsKCQkJfQoJCX0KCX0KCgkvKioKCSogU3VibWl0IE9uUmVhZHlTdGF0 ZUNoYW5nZSBjYWxsYmFjay4gVXNlcyBhIGNsb3N1cmUgdG8ga2VlcCBzdGF0ZS4K CSogUmVtZW1iZXIgdG8gdXNlIG1lIGluc3RlYWQgb2YgInRoaXMiIGluc2lkZSB0 aGlzIGZ1bmN0aW9uIQoJKi8KCXRoaXMub25yZWFkeXN0YXRlY2hhbmdlX3N1Ym1p dCA9IGZ1bmN0aW9uKCkKCXsKCQlpZiAobWUueG1sX3NlbmRlcl9zdWJtaXQuaGFu ZGxlci5yZWFkeVN0YXRlID09IDQgJiYgbWUueG1sX3NlbmRlcl9zdWJtaXQuaGFu ZGxlci5zdGF0dXMgPT0gMjAwKQoJCXsKCQkJaWYgKG1lLnhtbF9zZW5kZXJfc3Vi bWl0LmhhbmRsZXIucmVzcG9uc2VYTUwpCgkJCXsKCQkJCS8vIFJlZ2lzdGVyIG5l dyBtZW51IGl0ZW0gZm9yIHRoaXMgcmVwdXRhdGlvbiBpY29uCgkJCQlpZiAoIW1l LnZibWVudSkKCQkJCXsKCQkJCQltZS52Ym1lbnUgPSB2Ym1lbnVfcmVnaXN0ZXIo bWUudmJtZW51bmFtZSwgdHJ1ZSk7CgkJCQkJLy8gUmVtb3ZlIG1lbnUncyBtb3Vz ZW92ZXIgZXZlbnQKCQkJCQlmZXRjaF9vYmplY3QobWUudmJtZW51LmNvbnRyb2xr ZXkpLm9ubW91c2VvdmVyID0gJyc7CgkJCQkJZmV0Y2hfb2JqZWN0KG1lLnZibWVu dS5jb250cm9sa2V5KS5vbmNsaWNrID0gJyc7CgkJCQl9CgoJCQkJLy8gY2hlY2sg Zm9yIGVycm9yIGZpcnN0CgkJCQl2YXIgZXJyb3IgPSBtZS54bWxfc2VuZGVyX3N1 Ym1pdC5mZXRjaF9kYXRhKGZldGNoX3RhZ3MobWUueG1sX3NlbmRlcl9zdWJtaXQu aGFuZGxlci5yZXNwb25zZVhNTCwgJ2Vycm9yJylbMF0pOwoJCQkJaWYgKGVycm9y KQoJCQkJewoJCQkJCW1lLnZibWVudS5oaWRlKGZldGNoX29iamVjdChtZS52Ym1l bnVuYW1lKSk7CgkJCQkJYWxlcnQoZXJyb3IpOwoJCQkJfQoJCQkJZWxzZQoJCQkJ ewoJCQkJCW1lLnZibWVudS5oaWRlKGZldGNoX29iamVjdChtZS52Ym1lbnVuYW1l KSk7CgkJCQkJdmFyIHJlcGluZm8gPSAgZmV0Y2hfdGFncyhtZS54bWxfc2VuZGVy X3N1Ym1pdC5oYW5kbGVyLnJlc3BvbnNlWE1MLCAncmVwdXRhdGlvbicpWzBdOwoJ CQkJCXZhciByZXBkaXNwbGF5ID0gcmVwaW5mby5nZXRBdHRyaWJ1dGUoJ3JlcGRp c3BsYXknKTsKCQkJCQl2YXIgcmVwcG93ZXIgPSByZXBpbmZvLmdldEF0dHJpYnV0 ZSgncmVwcG93ZXInKTsKCQkJCQl2YXIgdXNlcmlkID0gcmVwaW5mby5nZXRBdHRy aWJ1dGUoJ3VzZXJpZCcpOwoKCQkJCQl2YXIgc3BhbnMgPSBmZXRjaF90YWdzKGRv Y3VtZW50LCAnc3BhbicpOwoJCQkJCXZhciBwb3N0aWQgPSBudWxsOwoJCQkJCXZh ciBtYXRjaCA9IG51bGw7CgoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMu bGVuZ3RoOyBpKyspCgkJCQkJewoJCQkJCQlpZiAobWF0Y2ggPSBzcGFuc1tpXS5p ZC5tYXRjaCgvXnJlcHBvd2VyXyhcZCspXyhcZCspJC8pKQoJCQkJCQl7CgkJCQkJ CQlpZiAobWF0Y2hbMl0gPT0gdXNlcmlkKQoJCQkJCQkJewoJCQkJCQkJCXNwYW5z W2ldLmlubmVySFRNTCA9IHJlcHBvd2VyOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJ CWVsc2UgaWYgKG1hdGNoID0gc3BhbnNbaV0uaWQubWF0Y2goL15yZXBkaXNwbGF5 XyhcZCspXyhcZCspJC8pKQoJCQkJCQl7CgkJCQkJCQlpZiAobWF0Y2hbMl0gPT0g dXNlcmlkKQoJCQkJCQkJewoJCQkJCQkJCXNwYW5zW2ldLmlubmVySFRNTCA9IHJl cGRpc3BsYXk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQkJYWxlcnQobWUu eG1sX3NlbmRlcl9zdWJtaXQuZmV0Y2hfZGF0YShyZXBpbmZvKSk7CgkJCQl9CgkJ CX0KCgkJCWlmIChpc19pZSkKCQkJewoJCQkJbWUueG1sX3NlbmRlcl9zdWJtaXQu aGFuZGxlci5hYm9ydCgpOwoJCQl9CgkJfQoJfQp9CgovKioKKiBIYW5kbGVzIGNs aWNrIGV2ZW50cyBvbiByZXB1dGF0aW9uIGljb24KKi8KdkJfUmVwdXRhdGlvbl9P YmplY3QucHJvdG90eXBlLnJlcHV0YXRpb25fY2xpY2sgPSBmdW5jdGlvbiAoZSkK ewoJZSA9IGUgPyBlIDogd2luZG93LmV2ZW50OwoKCWRvX2FuX2UoZSk7Cgl2YXIg cG9zdGlkID0gdGhpcy5pZC5zdWJzdHIodGhpcy5pZC5sYXN0SW5kZXhPZignXycp ICsgMSk7Cgl2YXIgcmVwb2JqID0gdkJyZXAucmVwc1twb3N0aWRdOwoKCS8vIGZl dGNoIGFuZCByZXR1cm4gcmVwdXRhdGlvbiBodG1sCglpZiAocmVwb2JqLnZibWVu dSA9PSBudWxsKQoJewoJCXJlcG9iai5wb3B1bGF0ZSgpOwoJfQoJZWxzZSBpZiAo dkJtZW51LmFjdGl2ZW1lbnUgIT0gcmVwb2JqLnZibWVudW5hbWUpCgl7CgkJcmVw b2JqLnZibWVudS5zaG93KGZldGNoX29iamVjdChyZXBvYmoudmJtZW51bmFtZSkp OwoJfQoJZWxzZQoJewoJCXJlcG9iai52Ym1lbnUuaGlkZSgpOwoJfQoKCXJldHVy biB0cnVlOwp9CgovKioKKiBIYW5kbGVzIGNsaWNrIGV2ZW50cyBvbiByZXB1dGF0 aW9uIHN1Ym1pdCBidXR0b24KKi8KCnZCX1JlcHV0YXRpb25fT2JqZWN0LnByb3Rv dHlwZS5zdWJtaXRfb25jbGljayA9IGZ1bmN0aW9uIChlKQp7CgllID0gZSA/IGUg OiB3aW5kb3cuZXZlbnQ7Cglkb19hbl9lKGUpOwoKCXZhciBwb3N0aWQgPSB0aGlz LmlkLnN1YnN0cih0aGlzLmlkLmxhc3RJbmRleE9mKCdfJykgKyAxKTsKCXZhciBy ZXBvYmogPSB2QnJlcC5yZXBzW3Bvc3RpZF07CglyZXBvYmouc3VibWl0KCk7CgoJ cmV0dXJuIGZhbHNlOwp9CgovKioKKglDYXRjaGVzIHRoZSBrZXlwcmVzcyBvZiB0 aGUgcmVwdXRhdGlvbiBjb250cm9scyB0byBrZWVwIHRoZW0gZnJvbSBzdWJtaXR0 aW5nIHRvIGlubGluZU1vZAoqLwp2Ql9SZXB1dGF0aW9uX09iamVjdC5wcm90b3R5 cGUucmVwaW5wdXRfb25rZXlwcmVzcyA9IGZ1bmN0aW9uIChlKQp7CgllID0gZSA/ IGUgOiB3aW5kb3cuZXZlbnQ7CgoJc3dpdGNoIChlLmtleUNvZGUpCgl7CgkJY2Fz ZSAxMzoKCQl7CgkJCXZCcmVwLnJlcHNbdGhpcy5pZC5zcGxpdCgvXy8pWzFdXS5z dWJtaXQoKTsJCgkJCXJldHVybiBmYWxzZTsKCQl9CgkJZGVmYXVsdDoKCQl7CgkJ CXJldHVybiB0cnVlOwoJCX0KCX0KfQoKLyoqCiogUXVlcmllcyBmb3IgcHJvcGVy IHJlc3BvbnNlIHRvIHJlcHV0YXRpb24sIHJlc3BvbnNlIHZhcmllcwoqCiovCnZC X1JlcHV0YXRpb25fT2JqZWN0LnByb3RvdHlwZS5wb3B1bGF0ZSA9IGZ1bmN0aW9u KCkKewoJdGhpcy54bWxfc2VuZGVyX3BvcHVsYXRlID0gbmV3IHZCX0FKQVhfSGFu ZGxlcih0cnVlKTsKCXRoaXMueG1sX3NlbmRlcl9wb3B1bGF0ZS5vbnJlYWR5c3Rh dGVjaGFuZ2UodGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2VfcG9wdWxhdGUpOwoJdGhp cy54bWxfc2VuZGVyX3BvcHVsYXRlLnNlbmQoJ3JlcHV0YXRpb24ucGhwP3A9JyAr IHRoaXMucG9zdGlkLCAncD0nICsgdGhpcy5wb3N0aWQgKyAnJmFqYXg9MScpOwp9 CgovKioKKiBTdWJtaXRzIHJlcHV0YXRpb24KKgoqLwp2Ql9SZXB1dGF0aW9uX09i amVjdC5wcm90b3R5cGUuc3VibWl0ID0gZnVuY3Rpb24oKQp7Cgl0aGlzLnBzdWVk b2Zvcm0gPSBuZXcgdkJfSGlkZGVuX0Zvcm0oJ3JlcHV0YXRpb24ucGhwJyk7Cgl0 aGlzLnBzdWVkb2Zvcm0uYWRkX3ZhcmlhYmxlKCdhamF4JywgMSk7Cgl0aGlzLnBz dWVkb2Zvcm0uYWRkX3ZhcmlhYmxlc19mcm9tX29iamVjdCh0aGlzLmRpdm9iaik7 CgoJdGhpcy54bWxfc2VuZGVyX3N1Ym1pdCA9IG5ldyB2Ql9BSkFYX0hhbmRsZXIo dHJ1ZSk7Cgl0aGlzLnhtbF9zZW5kZXJfc3VibWl0Lm9ucmVhZHlzdGF0ZWNoYW5n ZSh0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZV9zdWJtaXQpCgl0aGlzLnhtbF9zZW5k ZXJfc3VibWl0LnNlbmQoCgkJJ3JlcHV0YXRpb24ucGhwP2RvPWFkZHJlcHV0YXRp b24mcD0nICsgdGhpcy5wc3VlZG9mb3JtLmZldGNoX3ZhcmlhYmxlKCdwJykgKyAn JnJlcHV0YXRpb249JyArIHRoaXMucHN1ZWRvZm9ybS5mZXRjaF92YXJpYWJsZSgn cmVwdXRhdGlvbicpICsgJyZyZWFzb249JyArIFBIUC51cmxlbmNvZGUodGhpcy5w c3VlZG9mb3JtLmZldGNoX3ZhcmlhYmxlKCdyZWFzb24nKSksCgkJdGhpcy5wc3Vl ZG9mb3JtLmJ1aWxkX3F1ZXJ5X3N0cmluZygpCgkpOwp9CgovKj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0qXAp8fCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KfHwgIyBDVlM6 ICRSQ1NmaWxlJCAtICRSZXZpc2lvbjogMTU3NTMgJAp8fCAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwpcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=post_old.gif Content-Type: image/gif; name=post_old.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/statusicon/post_old.gif Content-Transfer-Encoding: Base64 R0lGODlhCgALALMAAMvZwMPTtouqcrDFn6e+lLrMq564iZWxfgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAAAKAAsAAAQoMMlJE7qYIsDBnUggBplV nCgiIUPrqhYhzzBi3Hh97Hwt/MAaZpiIAAA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=veritas1.jpg Content-Type: image/jpeg; name=veritas1.jpg Content-Location: http://www.dzzzr.org.ua/forum/image.php?u=575&dateline=1224262707 Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2Jl AGTAAAAAAf/bAIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgK CgwMDAwMCgwMDQ0MDBERERERFBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AA EQgAUABQAwERAAIRAQMRAf/EAI0AAAMBAQEBAQAAAAAAAAAAAAUGBwQDAgAIAQAC AwEBAAAAAAAAAAAAAAADBAECBQYAEAABAwMDAgQFAQgDAAAAAAABAgMEABEFIRIG MUFhIhMHUXGBMhSRsUJSYiMVFgjBQyURAAICAgICAQQBBAMAAAAAAAECAAMRITEE QRJRYSITBTLwcYGxQiMU/9oADAMBAAIRAxEAPwBJc9z1zlRAH3skxFAEKGi8TGxy UgXaiMBCB81XPxNFyMYEqCTzE/Lcp5BFcMSVPeY/PDjyEOvuK03WVtKlfbrVTnxP Sa5fLNwZCW4mQW+txG9x1LynFpXc3TobJqv0lhMkXluXZiSoiZCi1KO19S1LcWtN vtJUTpRAoEqZlfzMiTGjxXVJ/Hjn+kkCwSTqdfjVp7M5LfyaVJlNkyN43KCjv297 Kue1KWVK2jDpay8TXDyUaapDslYEtZAKbeTTQfKs2ykrxsTUrvVueYQdS1JmblqK 3BtsE6Dy9rmgbAjIwTqfSd7sx2U48EL3BVr+YAVIOsSBozdHemZCTHEVQWENhqzh sdCVf80JgFGIQHepte90sBhGEQ+HYtT5ShIM/IkgkgAXShJ/afpXTAqNCctgmIXJ OV53krqXsvKL7bRJZZSAhDe7rtCbWqucmXAg7HzGm30KWyJBF7xrKO6/T7ddKo4Y ggGFqZFcFh7CdENSNyi5ZpKiTtI3L17AX0+pq4BAgzs8YE7p9FokhIUr+Jzzm3h2 H6Vb2zK+J1jSn/WDUTcXnVBKGgL7lK0AA73vQywHMsqE8S+8O9kGc1jAMryVnC59 9Hmxwx/9BCVdEuOJUkqV8bCwpB+z9Ju0fqwy+xIzFflvsnz7hLxU5jf7tjEgqbyO MSt9sp6eZIG5J+YoPujjep63q3UnjI+REB51EQuIlxx6u4hxJJBB8RVjXniLiw/8 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 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=reputation_pos.gif Content-Type: image/gif; name=reputation_pos.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/reputation/reputation_pos.gif Content-Transfer-Encoding: Base64 R0lGODlhCAAKAOYAAC7CNS6hMzDENmZtc2Vtc11WbzKdPTDMNzDFNl1eaV9falRa ZDDNN3NrgzKcPi7DNSzFMDDGNmdhdTDFNWDaZi/NOGVbdS7HMjvMQSyiLy7BNCzB NC7IMjbXOjKaP9DR4DHCOHZuhV9nbS2oNFphaDjSPTHUN4iBo15YbVtSbWxofDqF UDCYNWhheTOiPlZYZDLMN1zdYTSYPzPOOGRbeGFadVdfZi5uNT94UDXQOjtwQ76/ zS/CNV1Xbi2iM87P4mNbc1laZk3WVDCYNC2jMy/ENF9gajDDNjCXNVtRbcfH1IV9 lldXZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAIAAoAQAdSgEohQD0FNQ07EjdDLEgy Oi0iQjkTRwABCQMxHRwXEBkKNiAwEQIPRC8qKy4GDh44KAQUJUU8GgFGJBgzCAIA PkELGyYMBxUjTB9LFilJNCc/gQA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=icon1.gif Content-Type: image/gif; name=icon1.gif Content-Location: http://www.dzzzr.org.ua/forum/images/icons/icon1.gif Content-Transfer-Encoding: Base64 R0lGODlhEAAQAPeVAP////b298vM1cDAx8fH0M/Q187T2dDU3HyBgqSnp87S2crL 09bZ3vb29unp62tvcH2Cgdre5P7+/dfb6M7R38vM06Onps3R3NHW4sHDyMPDy4uP kTI1NYmLlFZYXb+/yPb4+OPk6NHR1dbb4+Dh5ezs7+Hk6ycpKRQWFiIlJebp6szR 2dfY3qamrOfq7Pj3+UhMTcTH1N3d5svNzcXIyO7u783N1crL1GVmbc7P2srL2Tg6 PM/S4LG0wNLS2ubn6uzr8HV5evPy9NPY3uPl483N0j8/RNfa2tja5MvM0Obm7Rob HaqtuCssL66ttry+yEFCR+bp6dDU3dXW29vf5W9xePz9/ZKUncXFzFpfX8/R1/Dx 9OHi5dfY4L6+xvDw8Nzc383S283N18/O18rK0cjI0N/i8UJDR9LT3ZqaoNjZ4PTy 9Lm5wT9BQtDQ0qOlsBkcHeDj8vz8/93d4t7c4/79/sbI1aWlqtDS1sjKzTQ4OdLT 1tPY5P7+/qKlr7m8yPX19dTV2srK0szL1tbZ6B8gItrf6eDj5//+/9LW3P37/Cor LvT09hEREoaIkdbW3O7t7svM2NHW3s7P1Pz8/OHk8wAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAAAQABAAAAjlACsZOmSCSoQhB0ZIkqLA TKWHbxAA2MMFTAkAGDFieFjpCgcAae44aZEniRuMFzj2SAGgxpcAayAxaoBxBUc7 hYgAmEMihJpALBYAMMCR0CIaQD4MGDCJQIExABhwrATFghxBRbBoYAMCo4qpHiAA 8ELGBp1HgDJOrZIFQB2MVgL8wNMHwASOHdoAqDBFgIAnZYRQAhCGo58TAMTcGNTF hxYRGRQl4vgHBQA0kXTkIOAAEUYXHHk0AiADiZItLyRkBBCH45Ioq2MD4MOxyYzV RxI82AEnxlQjQTbA0HMGhyMmFKYGBAA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=qwert00.jpg Content-Type: image/jpeg; name=qwert00.jpg Content-Location: http://www.warez.org.ua/qwert00.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2Jl AGTAAAAAAf/bAIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgK CgwMDAwMCgwMDQ0MDBERERERFBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AA EQgBZgGQAwERAAIRAQMRAf/EAM8AAAIDAQEBAQEAAAAAAAAAAAUGAAQHAwIIAQkB AAEFAQEBAAAAAAAAAAAAAAUAAgMEBgEHCBAAAgIBAwIEAwQFBQsJBgQHAQIDBAUA EQYhEjFBEwdRIhRhcTIjgZFCUhWhYjMWCHKCklOT0yRUlNTVsaKyQ3M0ZCWlwdFj dDUXg7NENvDxwoS0RSYRAAEDAgQDBAcGBAYCAQQDAAEAAgMRBCExEgVBURNhcSIy 8IGRobHRBsFCUqLSFOHiIzPxYnKSoxVDJIKywjQWU2MH/9oADAMBAAIRAxEAPwD6 GyNTIZmSLj8VeWnbmdJLTTI3pxxRH1NjIgKMHK9h7WPjrzt7tQoFun3TdNRiimPt LXtPFfxdGfJ4WywpXApk+nmZF7jEXAYHtKg9NE7W/kiY5rRmqr7SO70vdXBVbxtQ brx7H4+nTmmkt3KccZriS3O5eawWjB7pH3693Tfrrl3eSz0rTBT21iy3ro4qomer JIIclDLjZj4CyAY9tt9zKhaMeH7TaodQccFdDlM3M0uLEVKRhJkXSrWswsNlMu57 wwPhsD4a6/y4cUnHDBFqOSzOJjjrwtHeoRAJHDKPSljiTwCuu/e23T59tN0EZKhJ ZA4tNEZqcsxU7CK2Xx1k77xWwFUAeB9Ubx9fId++mV5qg+B7MwjoIZQ69UYbqw6g g+YOnKuq9+4mOo2b7r3LWjeXs8O7sUntH2nbbXCaJwFTRZHz3iGX5r7W5PjOHoRZ XlLSUbdCSQxQ2CRladqztJKygflw9zdevYPPWr2C46b9Dj4aE+tM3m1HTD254BMf M8bnLPuSOY3qqy8S4rhZm4xOZY2aXkGSnlisEIrF/wAuusXbuo677av3Ny2G0eWn xOKHQwF9w0OGDRUrT+E48YzjGOrB+/eMSkkbdZPm2/RvrlpHohaOxQzPLnknmj+r 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 FXrfq0GjL3L/2Q== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=map.jpg Content-Type: image/jpeg; name=map.jpg Content-Location: http://www.warez.org.ua/map.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgEASABIAAD/4RP6RXhpZgAASUkqAAgAAAAIABIBAwABAAAA AQAAABoBBQABAAAAbgAAABsBBQABAAAAdgAAACgBAwABAAAAAgAAADEBAgAcAAAA fgAAADIBAgAUAAAAmgAAABMCAwABAAAAAQAAAGmHBAABAAAAsAAAACABAACA/AoA ECcAAID8CgAQJwAAQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzADIwMDg6MTE6 MDEgMTg6NDA6NTIAAAAGAACQBwAEAAAAMDIxMJCSAgAEAAAANTkzAAGgAwABAAAA AQAAAAKgBAABAAAACgIAAAOgBAABAAAAtwAAAAWgBAABAAAAAAEAAAAAAAAAAAIA AQACAAQAAABSOTgAAgAHAAQAAAAwMTAwAAAAAAAABgADAQMAAQAAAAYAAAAaAQUA AQAAAG4BAAAbAQUAAQAAAHYBAAAoAQMAAQAAAAIAAAABAgQAAQAAAH4BAAACAgQA AQAAAHQSAAAAAAAASAAAAAEAAABIAAAAAQAAAP/Y/+AAEEpGSUYAAQIAAEgASAAA /+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsK CxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAA4AKADASIAAhEBAxEB/90ABAAK/8QB PwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAAB AAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYU kaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOE w9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFy gpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU 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 AAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklN A/gAAAAAAHAAAP////////////////////////////8D6AAAAAD///////////// ////////////////A+gAAAAA/////////////////////////////wPoAAAAAP// //////////////////////////8D6AAAOEJJTQQAAAAAAAACAAA4QklNBAIAAAAA AAQAAAAAOEJJTQQwAAAAAAACAQE4QklNBC0AAAAAAAYAAQAAAAE4QklNBAgAAAAA ABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADPQAA AAYAAAAAAAAAAAAAALcAAAIKAAAABABtAGEAcAAxAAAAAQAAAAAAAAAAAAAAAAAA AAAAAAABAAAAAAAAAAAAAAIKAAAAtwAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA AAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEA AAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAA AEJ0b21sb25nAAAAtwAAAABSZ2h0bG9uZwAAAgoAAAAGc2xpY2VzVmxMcwAAAAFP YmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3Jv dXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1 dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAA BmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAA AExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAALcAAAAAUmdodGxvbmcAAAIKAAAA A3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAAB AAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAA CGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhv cnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVy dEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJH Q29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91 dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0 c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAE AAAAAjhCSU0EDAAAAAASkAAAAAEAAACgAAAAOAAAAeAAAGkAAAASdAAYAAH/2P/g ABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/b AIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwR EQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAOACgAwEi AAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEA AQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIR AwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZE k1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm 9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUy gZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi 8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//a AAwDAQACEQMRAD8A7n7I1rrbr2i4NaW1VNE+wCA3afz9vsTRZNeVYxtDGM327YLi Wzsr2u/k/Q/PVsua0S4ho8SY81nOtPUrG+i8tw2yXaA7z+8fzm7PzGqkaAbIbVWS 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 ZbmXi4uc1tzjNdZBaWt/eZv/AJHt3/vqdFgbQTZY5zqgTc6wAOEeLWgN2/ubV86p IRv611VKtdqsfK/RHrNyXNZWWurdWXbnCYI+iW7v3P3UFjnAmm4Nvx3N3j84Bone 8vfu3N9jfp1f9uL59SQN2P3v+5SOGjXyV1/e1ffMOn9mtorx6/tOAHE03bgXUeo7 21sZ9G3CxfffZ61/rf6H1K6Vdqx9mR6uQAA0+p67HBlR0DWbW/nerHv2L52STsla X83X/wBCTj4ta+Xpe/0fozqOPn2OqvxM04rKQTbUGtLbZLf5y23+b2V+ps2/4X03 /wCD9Oyt9m6vsfdZk41rDWTbX6Dd7vzgx9rS9ns+n/2x+5Y/I+fEkta6bf1VaX13 6PvFjOpfZGbr6G4e9vtZVc60ul7ds0eo30Xfpvo0+z9H+k/ct13dctufjethuurc RYWstaGj3+mWMcHfpGudT6m+x9dtf80vnxJDoPl2+v8AzUnc/Nua7f8AOfoK23rv 2AOtqx7XOe9mQwttANZLW1bG7W2bWs9R9tnp/wCjWLWXbWl4AcRDg07hH9b85eLp JG/6vTZrcxw+n9vzcL//2ThCSU0EIQAAAAAAVQAAAAEBAAAADwBBAGQAbwBiAGUA IABQAGgAbwB0AG8AcwBoAG8AcAAAABMAQQBkAG8AYgBlACAAUABoAG8AdABvAHMA aABvAHAAIABDAFMAMwAAAAEAOEJJTQQGAAAAAAAHAAQAAAABAQD/4Q9qaHR0cDov L25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9 Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9 ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjEtYzAz NiA0Ni4yNzY3MjAsIE1vbiBGZWIgMTkgMjAwNyAyMjo0MDowOCAgICAgICAgIj4g PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy LXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIg eG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iIHhtbG5z OnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZXhpZj0i aHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8v cHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRw Oi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4YXBNTT0iaHR0 cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgdGlmZjpPcmllbnRhdGlvbj0i MSIgdGlmZjpZQ2JDclBvc2l0aW9uaW5nPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3 MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlm ZjpSZXNvbHV0aW9uVW5pdD0iMiIgdGlmZjpOYXRpdmVEaWdlc3Q9IjI1NiwyNTcs MjU4LDI1OSwyNjIsMjc0LDI3NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEs MzE4LDMxOSw1MjksNTMyLDMwNiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyO0ZD MTM0RDg3OUZCNDUxRTBDN0VEMDM4QUNDRjNGNDEzIiB4YXA6TW9kaWZ5RGF0ZT0i MjAwOC0xMS0wMVQxODo0MDo1MiswMjowMCIgeGFwOkNyZWF0b3JUb29sPSJBZG9i ZSBQaG90b3Nob3AgQ1MzIFdpbmRvd3MiIHhhcDpDcmVhdGVEYXRlPSIyMDA4LTEx LTAxVDE4OjQwOjUyKzAyOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIyMDA4LTExLTAx VDE4OjQwOjUyKzAyOjAwIiBleGlmOkV4aWZWZXJzaW9uPSIwMjEwIiBleGlmOlBp eGVsWERpbWVuc2lvbj0iNTIyIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMTgzIiBl eGlmOkNvbG9yU3BhY2U9IjEiIGV4aWY6TmF0aXZlRGlnZXN0PSIzNjg2NCw0MDk2 MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2 NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3 NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4 NSwzNzM4NiwzNzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5 Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4 Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0MTk5NCw0MTk5 NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUs MTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7QjNBODUwQjY0MDJC QjE0QjZFQjYyOTcyM0U5ODg1REUiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgcGhv dG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0Ig SUVDNjE5NjYtMi4xIiBwaG90b3Nob3A6SGlzdG9yeT0iIiB4YXBNTTpJbnN0YW5j ZUlEPSJ1dWlkOkU4NDJCOTlGMzNBOEREMTE5MEM1RTg5NTc0MTAwRDA2IiB4YXBN TTpEb2N1bWVudElEPSJ1dWlkOkU3NDJCOTlGMzNBOEREMTE5MEM1RTg5NTc0MTAw RDA2Ij4gPHhhcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNl Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9Inci Pz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgAC AAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAA AADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0 AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5k AAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1p AAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJD AAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBI ZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2 Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNR AAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQ WFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAA AAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8v d3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNv bG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1 bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYx OTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/n bWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQg Y3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBU AFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDL ANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZ AWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIU Ah0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMA AwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQg BC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3 BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcH BxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrc CvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0m DUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+z D88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKE EqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWb Fb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6 GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCY IMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTa JQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClr KZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5M LoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/ M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkF OUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7g PyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUS RVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0ua S+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8 UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4 WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFP YaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlD aZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGV cfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pG eqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INX g7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaf lwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDY oUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1 q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5 tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hj wl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21 zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx 2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW 5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn 9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAO QWRvYmUAZAAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwM DAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQcHBw0MDRgQEBgUDg4O FBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAz/wAARCAC3AgoDAREAAhEBAxEB/90ABABC/8QBogAAAAcBAQEBAQAAAAAAAAAA BAUDAgYBAAcICQoLAQACAgMBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAIBAwMC BAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEHFbFCI8FS0eEzFmLwJHKC 8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01UoGvLj88TU 5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4 KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQAC EQMEIRIxQQVRE2EiBnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I1 4kSDF1STCAkKGBkmNkUaJ2R0VTfyo7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVG VmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp +So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwDu2lQ3NtpyW0sgW6Id4o2PPgv7 K8f2uHw+p8f7Xpxyen6eaYTdgYsYmlmm+K7uBPHFzHqV5oVf7XFuKcon/wAtP2U9 PhH/AHlOQ234wnFj5eE2l8ZyYZHHO3QCno8l+Jf9n/uxPgj/AN9/vE9d7QLYyyI7 RtGhsIuZUG7cfvXXlxC/sxqv8qfCnwcPU4pJJkxjaZFBap5eYfvNOAj3/uWZlVW/ Zkjb9lU/kT/df7yPhInpyRMaZwkpy3OhvqKm5Uh7Z1DXpCj1JYm4/vuC/ZR1X434 InF/sR/38DJkYslHTL2lrFXY1ShAyCS8l9EAfVxxLufsleP7P+U//JOP95+3HmHl mzCteXBiVbe2CrJxqpov7tF+H4V/m+ykaZVAMeFIdX1GLTkMCSxWy24SS4upnVIo 1+ysfqck48/92O7p/ef8XfBmQlTdCKZaXrdjq8c2nXhgaePiJ4UlSVlV/ijaRV4P Fz/3XzRP3i/u/T/d5dDI4ebAgrvSr3Ro5vq6fXtJkWt1BKfiTpyb4fst/lp9j/dn 2I5MtIt10sdIS2nawiabSi15pjhfrVtKKSxNxVuTcfs/Z/vk/d/D+3wjkwGVrGdF H3NlonmCGCaRpZIrJ1miZJ54JYXZePJvSZOXwsyc/jj+3/xZJlJx27LDqaUU8naZ cvTUYLfULEerLBHNHz/e3DcpJGVmdOX+X/lP6ccEafvIRi3SKZXuhW9xFEqM0MsC LHFNXm3FfsrJy+0v/JT7f7xOcmMljOnaNp62cUoLq907f6QV/ZbiOMf+qiNz+P7f J5PTTnwxgKZTNpjlxFtQNOyKXYq7FXYqler6BYai8Vw8MH1+3/3nvJoY5nRf5VZv jVf9R0/5l5CUeJnCSVaZojWcghS1hhKh0t7W3RUt05N+8k/dqiL/ALBEk9OT/fk/ 7jHlk8NkZMgaKGztADGJpAQ/xcavL9rn8X/B8/2OOVYwwkUBNdJYQm4n4vdylnRW LIp/mkblz4qis3xv/dx/7rSR/TkyVjFgdj5qN7d2HqSW0y6k83O8gDFX4sqrxVrj 1om+JvU5pdSRwelJJb2kf93VE23kUzzRLAWtu19c0jkljqyuOPpRfably+y3+/P9 1/Cn8nqZkxi0yKZQXVpcCtvKkwpVeDV+Hky/s/s8lZP9jhE2JirZLiYkOw0vDTsa Xip2MYpJS/VtC0/Vfq5vBKXtH9a3eKaWFkl4svL90ycvhZvt8/tP/PkJwZwkkhs7 DyrYXGpGGWa7IdE9N5ZlWLlyb4bmb0YF+FppE5wR/D/keplQHhpI41fRPPGm6rqz aTHBLHdKhd6tA1BxVvijWT6wnwyL8c0Ecf8Auv1Mujl4mBhwIfzjfXMcsEX1T6xB zRIouapzllVl5R/C/qsi8k9H4P8AdslxJHGkcmUyLPEFLy/5wtnub+z5m5gsJRGZ lkWaUfE68m/b4845Pg+OSPikn7yOeOONjJnkiy1ZVl9L0WV/V+wQarx+16n+r/zU n8+ZEQ48yjIYkiSgrvuzn7TN/M3+f7vMmOzUFtxN6aUWhmevpIf5v5m/ycrJUBDo nGu5Yn7ZP2i2VFuC7DEoG6UanqlrbXsYXl68f9/JHvwRv2WX9r9l+H956f7z+T1M POLbY4rS/UfLfl3zY1nc6iZ4LqJ4i0lnPJbfWooJPWWCbjw9eBJV/uZk9SCTn6fp yPJzlpMvC15Mbz2xh/Mq7878dXt5Ynt63uuSrzSxNgzTLBaW8cV7c29y0jszx3D2 VlfW/ptcSepLJmynnBDhTxMw0jXFijuLJ2+uadbTG0v7YBv3U/FJGVWZUTknqRv8 DvHHI3pyenJlfA4sY+Gm2rpHY6TY3GjKothJ6j3iD4y3FlXk3/PSRPj/AOMfwfYx 4qWXrR2i6vDrcbQ3KelexglXj5D4X/ajb9lvs+p/zflRhxuTp9Sjg8kYEF8FPM+n FN+xL8P/AArf5H/IvMHNh4XYWC5RJYsTAhltDyLwL9pG+1yj/wAl/wCT/kXksGop rONQ13zb5e0qxWW81rTtMmu0c6c2pXSW0cjov/FjI7KjsvqcPjTl+xJm0geNpOyt 5Y1QaroFje/XbG/mkhUXV1pc3rWbTqvGb6vJykdovVVvT5/H8P7z95luWNBrJth2 qSyRXAkRVYJaRFqtx+yz/wCTmryxtz9OFeLTLy5RCDbyWrsvNklZ6py/eKren/rJ 9vBixs56io0muo2LXccSrIsfpPz+JealeLKysvL/ACszBB1+HLUrSM28ehXNgszx R2Qnm9KbmsKhpWdljVW+Dl++4RojvJJHG/7v/deYccfhOZKXixTuS542X1iBl4ce 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 7u7jtbaW4kDFYl5kKOR/z/y/sJ/uzElULcS2eo6bMkN0ojnHpNIOOzPx/dsrftPy VOHwSfF+xJkCWYY6dMvY7tbUxATycSpUs6cOXxSK3wfCnJvU+x+8b/Lj9SkRbgU5 0LTr+0nuGuCqoQAsaNzVm/ak+Jf9VP2Psv6nqfu5MuEWmaK1nT/rdnKIolkuo1Y2 5I3Dfyq37PPj/wAY/wDfnP8Au8lIWxjKkBoumNE63twpD0KWsBFWHP8Aabl9lv8A k3Gz+p9v042OJMpskt4WjT46GVx+9NduX8q/5P8AvvL4QcaW7c9wsQ/mkf7ArSv+ V/kr/l/8TywoiGP61bagfSliU3EKN6k8Sj4jJy5KzLy/eqn+60/vI+Kf3nwcMPLu 5OLZB+W9GAS3mYMbS3RRaiQ8nkb/AH63Hh/lP/xZI3qenHwjkkjjxssmRkuW21U7 G1p2DiZ0h761+t2c1vz4eqpTnSvwv/Mv8v8An8H95ihh+pWGs2eo2DfvRaozpLPB OkMTcl/3ZCzI7Nw+OPh6/pyK/p+h/vXlBi3iVsi0PUrm79SGaPl6AX/SVPws38rL x+Fvs/Y/4yfu+ceXYw05E2yd0w4LYrqmqPfSlY2ZLSNvg4MwZ2Vv7zkv7P7cf/Iz +89P08fIbcnHBHaTrkjOtvfMOb7RTAUBb+WT+Vn/AJ0/d/7r+D936k8ZYZMaejLS baOCmN+Y2ufrURkQi0jFYnXkULv9ppP2Fb9iP/W/dyfH6aUyDkYjTXl/SFZlunUi 1Blkt0fdneWVpml/1Udm9P8A2En7EckjELklbIZYo5Y2jkUMjj4lOTyQtpPN4X+d /mDSbHzRZaVrOr6XYxpZRfV5NU0NNZmC3U8qyXMbMj+m1stvCnpfYn9R5PTeREzM 00aDTqOT1nybfaheeUdC1dfTeS8020nntk+CIs8CtyhXj+6+19j+7/5OZhZ81FOG OyfUt9QiWaNnWSMkK6nhKj/tK3/Ar6iP+7+FP3b5dHNYWJosU8+eVb7zTYDR5dSm 0+zfl+mraySk+oWq/ZjhmaT91Fyb/SE4SSScvq/qRxv6klxnwMjG2LCy866D9V8y X4i8w6hp8H6C8m6H5ft5YbYpOyfv7ySVn+rc0hVLjm/1S0jj/dyeo/wThnBceWJF +QvOUWqhdF1G4mHmawRU1t5bL6lYw3ksnGOw5cnT6zx4pH6PqRzxx+pHzkfLjicK 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 aeREX0fTh/dw87uT6z+7j9NMzMRadTyZloGpanc6BpGq31u0Euo2sM13ZHmz28ss XqNx5/vWX7XwPzkj/wCSeYGvw8JXSSsJi0Mc4S8smVZ+qSAbOv8AvuT/AD/d8cw4 yoNxhuqq8N5zt7hDFPEeXEO3Lj8X7yOReD8ftfH/AK8f+vl4Z+KwEkG801hdiO5k Jt7g0Wb7PxcftfD9lv8Afn+X/pEf+7I44Z/3bOrDybzX5HvvLmt6bf6Xo1xrOhaX cRz+X9As4frVv9dnZlvJdUadnuGndGWaz1R3kgtJIv3kf2PX2WHPxOLlhuzCz/NT y95h1ibS7ZSls7Sjy9qbSLw1Ke1VmvFtY/t+lD/cx3P7y3nk9b0/7j47p47cbMNm Q+OUtLsVWSfbir05fF/wLNl0Ppa+qCt7a2ub7VILmJJ4JBCJYZFV0ZeP7St8DZgk WXfZDWlxf5/+7U4NAtrKSW4jjtlCQyw24jtoo3jiZuSxrIv2VT4vgTh9r/fmRjhp xsma009GL+SP/jo+n1/3X4f6uTpx7f/X9E9M1g2c8m2Na9qHrytZREG3jIMzj9p0 bl6f+w4q/wAH+7P3fwcJI8pyTbccVTy9Jdqsw5E2gCiEOWK1X7XFm+zGi8Uk/wB1 /wC+/wB4kiPGB4USKbWUMrkTzoA9P3SkfGOX2nb/ACn+H4P91p+7zGz5LYFyyC4k W5kp9ViY/V0HFmlk3Xl/xL0/+RknDhlmCFMEQgf7UhrK/Hmw+z/qr/k/5/8AFmZk lUL3T7a8QCTkHTeKRGo6t/n+w/7v4cjwM4zXQxW1rFFBGFjTpEhPVvib9r7Tfaf/ AIPFEt1fCSxhFKLjzXoUE13A87GeyMSTxpFLI/KVuMaxqsb+u3P4OEPP0/8AdmRO RkcdsR8xeW9Rml1W6NvavaaqYuTu1ypZYviVrhfTf0OC8vjdLqP4U/d2mVENsWVa Vqn1krp91CGJhpzUM6PxVfU5K3N1X/Xd/U/3Z6cjx+pOBYTitvtagspJYtPt1duX OZx8KF+S+ovw/afgrfH/ALrk4fb/AHnBlNmMab2d1Dd2sdxDUxyrVQftD/Jb/KRu SSJk4C2mZQWvWl5dWoS34sgZXlhY8S/H4l4t/rL9j4PU+D94kfP1BkhbLFOkPoOl GMfXLqMiU7W6N+wnH7XH9ln+L/nn/vv95HjjhTZkyJ3kw0SS3zHey2ekztA0i3Tg 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 NzlFV5Mq/Zj4t8HHl8cn7xPs/wCXkSWVLDq0lvpKXV1DwuHoBADQluXw/wCWv8/D 45I4+f8AJkZZWXAgbDzDKkgiv+PpuSfrC/Aq8m+yy/y/sc+f8nqf7skxjkXhTtbO 2W5a5WNfrEgVGlp8RX/jX9n/AIFP5I8nEMJTthP5oaLqV/PoF7pctsl3pd0bqOG6 MlHKsjCoRW+FCn737H/B8cpz4yaI6PQdg9o4dPHLDKJmOoh4f7rh4v4uL6z/AE2O aZ5N1rUvMltqet3kU15HU28NujCGNq85JHqOZWrN/Jyk48XRWjbMfHjJNlzNR2th x6eWDTRlGOT+8yZa8Sf+l9KI0/8ALnUbmLzVZSTwyWeqXEs9rNUmkimT0vUPBd1Z 0d/SDJ/lfs5CcCL82eTt2AnppRE/8FjGGX+ntCM+D1f0ZfVwpjF5x/w35f0/y1I3 6T8xW0KwyppxaRVRDRKuypQ+nxVqrkYGmjUdlnWZp54/4Pppy4+PPUPq+v03L+JL n1Pz/qGnXF3b29lBZ268hporLK4DVUEj7MlF5o3+TzzNh4oFimiODskTGIyyZJS9 PjfRjgi/K+veW766RfVitLpnE727wrDO906lXZ2RY/UarN8f95IjelJ+79T1J6ec ZbdXE7R7I1OnBIHHi/1SHr9LMtSTlYzjg0tVb4ENGP8An/s/+Mcn93mTk9LzeH1S YyJmogl4OCylKNxSReX2eXx/b/k/eep/d/8AGPCEXcz9aZz3lzfXsENszwx1B/lb knxSM32/hT7H++/Ub/dkfp5aJ04c8fCjdT0Ww1EwtOjevbt6lrIks8bLLxZVZvQk Tl9pk4f5T/z5dli42HOwYeaUguBJbyWkkaanJB9Yt/3yq0vNpOStcQu0/JuEb/u/ U/e/VtPeNI/UxCKdjH1BlXlnXn1Ce8tnRxHAedhM8cqevb8mj9T1JeHr/Gqv6yfu /Tli9T95/eZmOduBlxpldX9nFL9VncpzSrOTwUK/wr8X7PPi3p/6v+6/3eOSbDHg tK38u1uoCY7aUQBjb3kkKGaJf2VXkvP7XH7Dp+3/AHcnp5VLBTlfmF9rp6aXG8zW qiCzDfVbWyjVOTvyVmWFeCKz8lTh+7/eM/qf7rkxiKXxLQ+meZBI0MgMvK4iNxA6 RKlF9RI2Xlymhl+KRfgh9eOSNU/eSSehJghktlOKz8wdZaw0+3v4I1ttUuLmOwl1 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 thIHlvZo2jcj04EcMrBdmZmVv52+D40/3X/l5PFFrzSTqWURRNK1eCBieIYnj/qr 9rJ5JU1QjbzmG7gms7OziSdbq/WW3t4ZY1Vw8SurNNxZ0iXnGyR/G/7z93/vz08Y jdy45LDIfOE3ILbx8EdI2lecqxeNeS8fTb9lX9OT1Pt/ZyeYbIwRsoryndSyWbW7 RqscXF1dfslpeTMrfzNy+OR0/wB+J+7jyeM205BSe5cWoKN1aW13F6VxGsqdVDDo 38yt+y3+Xlc4phJDGNI9Tso0VVjDIERQoUL6Vxx4rluEMpFIPPen6jfSQRWcpjSO 7S5lHoSzo7Reiyq3pMjr+08afHHJJ/J/eZVnNMsIVfJNhdWkmqNPCsIuZxcKVWdO TPy5M3rqnxPxX1E/f/vP+PiT936cMJXMyG+sba+tJbO6T1LeZeDpVl/4ZfjVv8tM skGuM1thp1rYQCC2QrH/ACl2clv5mZubs3w/b/3ZJzk/vHfGIRKSG1jWJbCSCOOB ZzOHf4pOFFTj/kv/ADYJTpsjC1XSdVg1O3aaBWVEf025cT+yrfss/wAPxYxnayhS Iu7u2tLeS5uXEUMYq7n/AD/4T/nnk7aZzADAte82XWpcoLbnbWJWjxsF5yfzeoy8 +K/scEf+7/vPt+nG26rPrKSLIBxebskGBKtc/wB6v+pF/wAm1y3IoUeAyimXC//R 635s0m81PTJbeIRSwlfjtp2dUbi3/FSz8mTjzj/cP+8/3XJzjkj1OTG5OCdMftob iyuNT1ea8tmjuREfrKtHHRl4xqskk8fwxfDw4TXV16knCT9xJ/eY/Jy5DiZ1ouvp KPq1zJGbq3Ci8QSKZYmf7PqR8ndVfjzjd/j9Ph/xZJmbjyuJLHwJnJbPbsZ7UE8j WWDl8D/zeny+BH/b/wB9yfH6n+/I7TusclqUahlLWykUNJbZzRkb+Vf+aP7v7Ekf 7v8AvISDZSW6za399Cotivp14PAx4sy/Z+Jv2f8AixOHqen/AMiJMaUW7HOktk0q 6sLuCa4pNaxOHaaFGLfD8XxR/Hx+P4/2/sv6fp3Hpx5WBTI5OJPH1WySa2iLnndb xVFKK/2Wk5fZ5txSP/dkkn/PTLhlaTBA3HmB7fU3t5oOMQp3/e8f9+Kv7S/6n8v+ /P3aQjKmZigvMF/bzXViIL2qyLK8SW4lK0X4ZJWmg/cx8PsfH6f2pf3n+68hOVs4 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 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=user_offline.gif Content-Type: image/gif; name=user_offline.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/statusicon/user_offline.gif Content-Transfer-Encoding: Base64 R0lGODlhDwAPANU/AJux2GlzhUpVZ26HtICUt3uNrqO86XCFrH2Xxn6azGV8o5as 1IObxo6r3lx5rGaCspy46YugxV9yljM6RkFWfDtEUkRERbTJ7z1Temx9mycuOFZs k0dcg22Juoai1HaRwmZ0jQQFBlp2qbbK8GJ/soqjz2qGuVZzp7nO8RATF0NMXAwO EWB8rpm26niUyFFedU9ki3N7illogVJvo5Wx4WyCqZi055+556W534+o13CNwY+k y4yYq1lcYwAAAAAAACH5BAEAAD8ALAAAAAAPAA8AAAaowJ9vSCwShZDR6HIZoXiW HurSGo4M2BvEIPBNDLbDMDCplBcGjU9wo9WGliIBl/KBaA3FMKZSrewRQwU5Hno+ ODkAE2sZPisRHgkSQwAJJSpeXRolCS4bQwsfCDI+KWoVDB86nz47Jh8ZIT6yLx8d JjBDESQmA39DEh0PJBxDDA4kAxohKykKDywOxT4EJyIODwMD0CInJxRDMxgYFOXm FOMYPkJG7etBADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=reputation.gif Content-Type: image/gif; name=reputation.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/reputation.gif Content-Transfer-Encoding: Base64 R0lGODlhFQARAPe8AP///9To/+Tx/0thjUpfiHeCns/V3o+btJGgu5Khu+f+/1Zm iICRsF9zmv3+/j9GVcHR/56w0NXo/1Fmj1Bkja+2t214kH+PsNvs/2R2m0pfh0de jJSbo3eEnez5/2x/o21+nExjkG5+nXuKp7zD03iIpbbB0EZMWLbA05CfvJCdtbPD 7mNtg8XM2GFxkWx+n1xvlYWVtllsk1pvl/v//32Lqay4zMvU4GV4n8/a7+Tr/V5y nKGx08DS/15sh46btbK8x2h7odXl/7K80NDZ6OXs7HaHqF9ylkxijdTb4kxeguTm 6qSwx5+w2/L29+n7/4CPrEROYUpgjLXA1c7f/+3z9mt2lLzM7Jmlvpimzuju9KS0 4HF/nmJ0mF5zml5sjFJok1twnFhjfEVdi87V3r3R9naCnef//97x/97p/2x8o6Ow y5upxElgjdvl/Wd0kn+Os4GSscXN22Ruif39/vL//5CcvpCfuW56llpogmp9o3yN r+Ht/7LD8NHl+cjQ23eJq0Zei01hiLC6zu7x+LTA24iUodft/+T1+uv9/8DQ/q+9 54eRoH+QsLXH8l9sjFFnkc7T3Njh8f3//52pw9ri7O37/4WXw7/N4W19maO21kRb imVwhcrd//f4+eb3/19simd6olZjh4aTrFBiiFFljktfiVRliY6ZvD1FUO/09b3F 1UFIVZShvVVdblloiMHK1rjN3tns//b7/7vG2fn8/0tgiW2Aptzn/K+5zZqp09/r /0NbigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAALwALAAAAAAVABEAQAj/AHkJHDgQUoJCTEaMEbhn IAwDngBUMCREDRder/jY4HXCShkAIF8QJBjmkqZYcnLFGUmwC61GBAnk0CNwwi1e KQa6eGCBxyFEXkzN6fMEgAkKLAn+AZNB0hReoizREQgC1pAdI3/wwkLwVBoGpYiA 5HDFToc8X5o4CgASwB1ebwQsEajBR4kjSQW6yqKIigQ0NABUycsLx8BWlVB80jKK zAERs1hKAeLkRgOBoDANGmhkRoyRNT5QIkgK1wVegaAAErSmzcBNbAaoCDVwwS4E tsQswqCKkIMkLHTUAlCEkRsSkXg9EtCCl4xUEeoAWMVrA6sCqFYkAjBJIBwPAAjz HlIShVOmAUjwbIHQKcAZP0HECzSjq4csBW0BhCAYEAA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=report.gif Content-Type: image/gif; name=report.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/report.gif Content-Transfer-Encoding: Base64 R0lGODlhFQARAPeAAP////8AGfv7/P8AMv8AMf8AKP4AKP8AMP8HO193eEddi/8A L45NcRQoLf8GOf8qV/v7+wQZHvv6+yE0OF1okHRWeVBijFNjjWppkP8JPf8mUc0I NNkZRJJEayk8QVhpkphFazFCRvj///+Hn/8HPv9dgP8CONcALYxHbP82YIFMbf/H 0zRFSmRsk7pBZ8UiTMYAJsErVdEwVDhJTf8AHdsOPP9jg/9CaP9qif/I0sEUO/+4 xv+rvP+2xVppj15jif8tWeoALP/z9RQoLEZdi/8yWjNDR/9nixMnLP/E0F1qkhUp Lf8OP3tZef+guP8jUtcfSP8yW3Jpjv++y80vVYkVMI8+X6olSf+Opf8rVVRmkCY3 O//D0XlMbsQ1XP9Pcv93lP/v8ktcid4BL/8GOp8vWvYFNf/a4mheg21skmZdhAgc IY8xUf8aSP7+/5zBvf/E0f8lVP8AIvUAKv8ALW9agP+WqRQnLDdITIQfPpk7Xf8A HPv+/VFdiP/g55O3tENbigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAAIAALAAAAAAVABEAQAjTAAEJHDjQRxU2RAgqJIhm zhcAAIwMgQBgBw0lCwWi4PACRJ0+GUMOVFFgBMQVAdKIvDDmCUSIWyK4eWmjjEiB VgrYmRJAys2BFQzgADBhjQgue1qI/BEkxUs8SARA7CHnw8I8JM5AFJLDyZE4DgjU wPATkBYYGQbIKDvQwok2EKNAYatgAxMACTwAKEKlrA4TfgCEaMAHQBYvN68QgAOR xRKpADS4CKmHDo+XM+5IeAmkw8IuB7C8BPDnDYAwScAgoLCwyYAbJR6QWWAmBgM1 YhYGBAA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=quote.gif Content-Type: image/gif; name=quote.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/quote.gif Content-Transfer-Encoding: Base64 R0lGODlhPAAXAOYAADU1NUZGRikpKVZWVk5OTi0tLWZmZmpqam5ubjMzM4mJiba2 tktLS6mpqaurq1JSUsHBwUpKSnh4eJiYmIaGhri4uHx8fHZ2di8vL4iIiIeHh6Oj o6ioqL29vVpaWpWVlYODg+/v74yMjI2NjTc3N21tbbu7u9ra2r6+vr+/v7q6un19 fT8/P3V1dTExMXd3dysrK+Tk5Kenpzs7O5ubm6WlpUNDQ0JCQo+Pj7CwsKKiorm5 uScnJ6+vr7e3t5CQkMPDw+Pj40dHR+bm5qqqqs7OzvDw8Nzc3HNzc66urtfX18zM zKSkpMfHxzk5OZycnLOzs3JycsvLy62trXp6eqampp2dnZSUlO3t7d/f34uLi5aW ls/Pz6ysrJGRke7u7tXV1YGBgZ+fn3R0dLy8vMLCwsTExG9vb2JiYvLy8nBwcJeX l4CAgHt7e8jIyI6Ojunp6ZOTk3FxcT09PZ6enn5+fsrKyrW1tbGxseXl5cDAwNbW 1pKSkt3d3SUlJQAAACH5BAAAAAAALAAAAAA8ABcAAAf/gH6Cg4SFhoeIiYqLjI2O j5CRkpOUlZaXmJmakwVzBAEAm5tCLR8LOmwECZQkDwMzoxInISFwezoEMH4CAAW7 vYQAoIMCDxBAAwKCAk7Dk2goMTkIK0VKawECCBkXBQgU3X4sHiBiYR4s2hpGXCAl AjYlFBMrDBiRLhJSRR4YNiNBTAwAoCAEhwAUgtQIgAGBlCFDjkBAQPBLGiwxNABA sCTLCTs0GES6IQJCAwKCDJxYYoCgEQcBMsRgEiBCkjwdXkBpUiMCAwNKVBhgEMFB HwcXFvgwEMlJnQocBvgpgMRMipYgjjQIoAHMhAADcjRpk+AFmah+DHRAO4CIng5J 5KBMkRDqUQE1FXZEscHgQ5kNDwCsgPAhAAgIccA2SGGBhYUKTKQaUNHFQ4EBMkw8 +SEiwxlfkAjQSLHDCx03QCyQAGABxQIFPlDwCUBShQMKDV7fSGuiwwg5AX4ssEJF A44IkhI8mIDnToUFGUT6GUDDgYwtRBQE4EEAh4wqNd4Q4OGHwJUePege+LCh/QiU kloZuICjwZMDumYMiHLgQAsEviRAgH8HqCKIgEi8cIAA+pUwRoGrVAIAAVpMoN0g LgjAC2jLAKBMIS54OEgBImKCQQQDBKCLKCy26OKLMMYoI4uBAAA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=multiquote_off.gif Content-Type: image/gif; name=multiquote_off.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/multiquote_off.gif Content-Transfer-Encoding: Base64 R0lGODlhPAAXAOYAAOkSE5YMDB0cHNYlJTU1Ne7u7vT09P///+zs7PLy8nx8fDYY GO0aG6sJCvv7+7a2toyMjGkTE3Z2dvdCQiIiIt7e3tjY2Lq6utXV1S0tLTExMfo0 NIgLDEpKStEJCYqKipaWljo6OkIXF62trcvLy8jIyPErLMbGxlYWFnYTE9vb25qa ms7OzsUJCdsJCejo6Obm5hoaGoKCgm9vb3p6eikpKczMzPUlJoWFhUZGRkJCQmRi YoiIiNsWF9zc3FlZWdEUFF5eXtHR0R8fH8LCwoaGhr6+vuQhIj4+PqOjo5CQkI6O jvgtLlJSUncODnh4eHNzc20ODrIHB/xbU+gxMScnJ21tbVZWVtLS0vn5+ampqU5O ToCAgPj4+OPj4/f39+Dg4Kampp+fn/MfIOAPEK0nJ/dhYuxYWIUcHP5pXn9DQysh IekWF90fIKAWFu0vL45CQolZWMsgIOTk5JFTU94ZGuYrK/EbHPQ5OPk7O7Ozs70I CK8LCyQkJGZmZiUlJSH5BAAAAAAALAAAAAA8ABcAAAf/gH+Cg4SFhoeIiYqLjI2O j4URKSkRa4STlJCaji4MbEAofaIoAAw9UqKim6uGLhNTRxwUswFmU1RSsxSqrL0u G2l4HmuzLXlMuEO6vL2afb83G2QoQyJnTC12UkPcs33Nm883fB5jAQJ0E3ccdVIC At3f4JDiDQE3AzFyNwFOpzEx4O2aR8/FjQak2ERhAyCCPykABVIg+KheDA9MPJjw IOBhRGUTKTbq4+FIgBgcGLxpg6ZPFCAQA4IUOXKPHA4xRJSJ40cGjR1w3Hyc9aiK jiYEevVpwAenjhkkHDjIUuCBmhoBNRCYqLXGoBoEkCQVVKNDmBJNMgzSgCSEWkZ9 /0SIWEBhxpwuJCCAUJHgQgcBHT586BCCy4cZXnPM4LGCxw8kNWZ8+GKAh4QMBLZw AbFEQg64s4YQUFKgwo8MIWZQnkHBz1Q/V7AYgEBAB4QCWboYsPCEAIQuUw2MyLHF iAEDBcBcXtQntI4RDk78FRAEwQEIGvwcOADbwnUC1Q/I8KPlwIktHbRz7+D7gBcI ehKI0cFcl28vQn5oSF3ghYQafhSQAGwsFMADATMUUIAfIfDwQglX/OEHDC/4kUEO WryAQH8qXBBhfRRUYQULFjyAAwQkVPBAExQEwUIFEEBQgQ84gMeCClooYAQGYXTw xw4sYKCEBBoogAERCkABAYYUIcDVHAU5WHGBBSpUoKIVW+mgBBZYnHACFjLURgMR LNhAwghWqNVBEkJgIUYOHYhBQgl0cjEWc6mEcIUfCiQBhgU1itKBFQoEoYAMVnil QxBWjIeUIBl0IAEOl0XqBxc0+OEjKxp0UMQKK3xGlgZ/dEUIWIdg9pYgBJA6Twg5 5LAqTYoEAgA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=quickreply.gif Content-Type: image/gif; name=quickreply.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/quickreply.gif Content-Transfer-Encoding: Base64 R0lGODlhPAAXAOYAAFZWVjU1NUtLSzExMSkpKTs7O0JCQkZGRnx8fC0tLcHBwUdH R7+/v6mpqYmJiXd3d6qqqnNzc42NjYiIiM7OzrOzs5iYmD09PbKysk5OTr6+vqio qFpaWu/v77q6uvDw8HZ2dqWlpXh4eJ6enn19fWJiYubm5n5+fmpqatTU1MXFxW5u bjc3N729vaampsDAwJKSkoCAgHl5eeTk5NXV1ZmZmZqamsLCwq+vr0pKSqOjo5ub m7GxsYaGhpaWllJSUpSUlHV1dbCwsKGhoW9vb8bGxo+Pj7a2tj8/P8/Pz66urmtr azk5OX9/f8fHx6urq9zc3J+fn+Pj47W1terq6oODg7e3t6KiouHh4SsrK+jo6IeH h93d3V5eXq2traCgoHJyctHR0cnJycPDw5OTk21tbfHx8aysrGxsbOLi4rm5udbW 1nBwcHR0dHp6eunp6bS0tIKCgru7u+vr646OjtPT05WVlbi4uO3t7fLy8qSkpNvb 22ZmZiUlJQAAAAAAACH5BAAAAAAALAAAAAA8ABcAAAf/gH2Cg4SFhoeIiYqLjI2O j5CRkpOUlZaXmJmalQMGGQYDjAUAfAKIAnwABZoCJCNHNTKmigAUeHyIfG83AJkC EiYdHSYpDrMDAQR9Ccl9ORVivYIJBhcJfXxSCgDIoZQBJGEmRnxAXGsyAwUnPSsJ IBNEBAUxE7MCD1c2Dwl8UEUAHiAA4U3SAQs0cJgS4GWGDQO1qPQ4EEKLgwAAknzA JWBHBzN5dBjgUycJAgUaHhSMBGDDmDgB+lwgswdChlofHBzYMGMLxiJY+BAg8mGO hBMrCPC5kUIFgyqzJmWwIGfChT4HdqiwkAOAhzQTDuih0ATjkxd8AsSggYGbMj5W 0DRoGPHDkgEHHhoAMMChggIJEBsoOAHgzAsEGCEwSHsSB4cLMfnAUeJBSAQklRKw OaJgAwwMTlqgIXAARosGdBhoQAxAMa4SahhEcUAiAJ8KXyRU0LGERaUFEYZgmHKH R5sFfQZEcNFgSA0IIjCO4IFrAQIIQjBIOMAnBBAAdlz4qFsJCQcUbkI0MJJB0IIS QbqUCYJiXgQRs97fF5AFlSoUIDzg2yUELACGDxYgwMQgMTGjTHIxEYKMIQQEEGEm o6iyyYYcdujhhyCGKKIggQAAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_multi_quote.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_multi_quote.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_multi_quote.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qKgoqIEluaXRpYWxpemVzIHRoZSBN USBpbWFnZXMsIHNvIHRoZXkgYXJlIGNsaWNrYWJsZS4gQWRkaXRpb25hbGx5LCBp dCByZWRvZXMKKiB0aGUgY29sb3Jpbmcgb2YgdGhlIGltYWdlIGJhc2VkIG9uIHRo ZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjb29raWUuIFRoaXMKKiBpcyBoZWxwZnVs IGlmIGEgdXNlciB1c2VzIHRoZSBiYWNrIGJ1dHRvbi4KKgoqIEBwYXJhbQlvYmpl Y3QJVGhlIG9iamVjdCB0byBzZWFyY2ggd2l0aGluIGZvciBNUSBpbWFnZXMuCiov CmZ1bmN0aW9uIG1xX2luaXQob2JqKQp7Cgl2YXIgY29va2llX2lkcyA9IGZldGNo X2Nvb2tpZSgndmJ1bGxldGluX211bHRpcXVvdGUnKTsKCWlmIChjb29raWVfaWRz ICE9IG51bGwgJiYgY29va2llX2lkcyAhPSAnJykKCXsKCQljb29raWVfaWRzID0g Y29va2llX2lkcy5zcGxpdCgnLCcpOwoJfQoJZWxzZQoJewoJCWNvb2tpZV9pZHMg PSBuZXcgQXJyYXkoKTsKCX0KCgl2YXIgcG9zdGlkOwoKCXZhciBpbWFnZXMgPSBm ZXRjaF90YWdzKG9iaiwgJ2ltZycpOwoJZm9yICh2YXIgaSA9IDA7IGkgPCBpbWFn ZXMubGVuZ3RoOyBpKyspCgl7CgkJaWYgKGltYWdlc1tpXS5pZCAmJiBpbWFnZXNb aV0uaWQuc3Vic3RyKDAsIDMpID09ICdtcV8nKQoJCXsKCQkJcG9zdGlkID0gaW1h Z2VzW2ldLmlkLnN1YnN0cigzKTsKCQkJaW1hZ2VzW2ldLm9uY2xpY2sgPSBmdW5j dGlvbihlKSB7IHJldHVybiBtcV9jbGljayh0aGlzLmlkLnN1YnN0cigzKSk7IH07 CgkJCWNoYW5nZV9tcV9pbWFnZShwb3N0aWQsIChQSFAuaW5fYXJyYXkocG9zdGlk LCBjb29raWVfaWRzKSA+IC0xID8gdHJ1ZSA6IGZhbHNlKSk7CgkJfQoJfQp9Cgov KioKKiBDYWxsYmFjayBmdW5jdGlvbiB0byB3aGVuIGFuIE1RIGltYWdlIGlzIGNs aWNrZWQuIE1vZGlmaWVzIHRoZSBjb29raWUgYW5kCiogdXBkYXRlcyB0aGUgbG9v ayBvZiB0aGUgaW1hZ2UgdG8gc3VpdC4KKgoqIEBwYXJhbQlpbnRlZ2VyCVBvc3Qg SUQgb2YgdGhlIGltYWdlIGNsaWNrZWQuCioKKiBAcmV0dXJuCWZhbHNlCUFsd2F5 cyByZXR1cm5zIGZhbHNlIHRvIGVuc3VyZSBhbnkgaHJlZiBldmVudCBkb2VzIG5v dCBydW4KKi8KZnVuY3Rpb24gbXFfY2xpY2socG9zdGlkKQp7Cgl2YXIgY29va2ll X2lkcyA9IGZldGNoX2Nvb2tpZSgndmJ1bGxldGluX211bHRpcXVvdGUnKTsKCgl2 YXIgY29va2llX3RleHQgPSBuZXcgQXJyYXkoKTsKCXZhciBpc19zZWxlY3RlZCA9 IGZhbHNlOwoKCWlmIChjb29raWVfaWRzICE9IG51bGwgJiYgY29va2llX2lkcyAh PSAnJykKCXsKCQljb29raWVfaWRzID0gY29va2llX2lkcy5zcGxpdCgnLCcpOwoK CQlmb3IgKGkgaW4gY29va2llX2lkcykKCQl7CgkJCWlmIChjb29raWVfaWRzW2ld ID09IHBvc3RpZCkKCQkJewoJCQkJaXNfc2VsZWN0ZWQgPSB0cnVlOwoJCQl9CgkJ CWVsc2UgaWYgKGNvb2tpZV9pZHNbaV0pCgkJCXsKCQkJCWNvb2tpZV90ZXh0LnB1 c2goY29va2llX2lkc1tpXSk7CgkJCX0KCQl9Cgl9CgoJLy8gZmxpcCB0aGUgaW1h Z2UgdG8gdGhlIG90aGVyIG9wdGlvbgoJY2hhbmdlX21xX2ltYWdlKHBvc3RpZCwg KGlzX3NlbGVjdGVkID8gZmFsc2UgOiB0cnVlKSk7CgoJLy8gaWYgd2UgZG9uJ3Qg aGF2ZSB0aGUgcG9zdGlkIGluIHRoZSBjb29raWUsIGFkZCBpdAoJaWYgKCFpc19z ZWxlY3RlZCkKCXsKCQljb29raWVfdGV4dC5wdXNoKHBvc3RpZCk7CgkJaWYgKHR5 cGVvZiBtcWxpbWl0ICE9ICd1bmRlZmluZWQnICYmIG1xbGltaXQgPiAwKQoJCXsK CQkJZm9yICh2YXIgaSA9IDA7IGkgPCAoY29va2llX3RleHQubGVuZ3RoIC0gbXFs aW1pdCk7IGkrKykKCQkJewoJCQkJdmFyIHJlbW92YWwgPSBjb29raWVfdGV4dC5z aGlmdCgpOwoJCQkJY2hhbmdlX21xX2ltYWdlKHJlbW92YWwsIGZhbHNlKTsKCQkJ fQoJCX0KCX0KCglzZXRfY29va2llKCd2YnVsbGV0aW5fbXVsdGlxdW90ZScsIGNv b2tpZV90ZXh0LmpvaW4oJywnKSk7CgoJcmV0dXJuIGZhbHNlOwp9CgovKioKKiBD aGFuZ2VzIHRoZSBNUSBpbWFnZSB0byBzaG93IGFzIGJlaW5nIHNlbGVjdGVkIG9y IHVuc2VsZWN0ZWQKKgoqIEBwYXJhbQlpbnRlZ2VyCUlEIG9mIHRoZSBwb3N0IHdo b3NlIE1RIGJ1dHRvbiBpcyBjaGFuZ2luZwoqIEBwYXJhbQlib29sZWFuCVdoZXRo ZXIgdG8gbWFrZSB0aGUgaW1hZ2Ugc2VsZWN0ZWQgb3Igbm90CiovCmZ1bmN0aW9u IGNoYW5nZV9tcV9pbWFnZShwb3N0aWQsIHRvX3NlbGVjdGVkKQp7Cgl2YXIgbXFf b2JqID0gZmV0Y2hfb2JqZWN0KCdtcV8nICsgcG9zdGlkKTsKCWlmIChtcV9vYmop Cgl7CgkJaWYgKHRvX3NlbGVjdGVkID09IHRydWUpCgkJewoJCQltcV9vYmouc3Jj ID0gbXFfb2JqLnNyYy5yZXBsYWNlKC9cL211bHRpcXVvdGVfb2ZmXC4oW2EtekEt WjAtOV0rKSQvLCAnL211bHRpcXVvdGVfb24uJDEnKTsKCQl9CgkJZWxzZQoJCXsK CQkJbXFfb2JqLnNyYyA9IG1xX29iai5zcmMucmVwbGFjZSgvXC9tdWx0aXF1b3Rl X29uXC4oW2EtekEtWjAtOV0rKSQvLCAnL211bHRpcXVvdGVfb2ZmLiQxJyk7CgkJ fQoJfQp9CgptcV9pbml0KGZldGNoX29iamVjdCgncG9zdHMnKSk7CgovKj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0qXAp8fCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KfHwg IyBDVlM6ICRSQ1NmaWxlJCAtICRSZXZpc2lvbjogMTUxNzQgJAp8fCAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwpcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_textedit.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_textedit.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_textedit.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCi8vIHZCX1RleHRfRWRpdG9yCgovKioKKiB2QnVsbGV0aW4gRWRp dG9yIENsYXNzCioKKiBBY3RpdmF0ZXMgYW55IEhUTUwgY29udHJvbHMgZm9yIGFu IGVkaXRvcgoqCiogQHBhcmFtCXN0cmluZwlVbmlxdWUga2V5IGZvciB0aGlzIGVk aXRvcgoqIEBwYXJhbQlib29sZWFuCUluaXRpYWxpc2UgdG8gV1lTSVdZRyBtb2Rl PwoqIEBwYXJhbQlzdHJpbmcJRm9ydW1pZCAvIENhbGVuZGFyIGV0Yy4KKiBAcGFy YW0JYm9vbGVhbglQYXJzZSBzbWlsaWVzPwoqIEBwYXJhbQlzdHJpbmcJKE9wdGlv bmFsKSBJbml0aWFsIHRleHQgZm9yIHRoZSBlZGl0b3IKKiBAcGFyYW0Jc3RyaW5n CShPcHRpb25hbCkgRXh0cmEgYXJndW1lbnRzIHRvIHBhc3Mgd2hlbiBzd2l0Y2hp bmcgZWRpdG9yIG1vZGVzCiovCmZ1bmN0aW9uIHZCX1RleHRfRWRpdG9yKGVkaXRv cmlkLCBtb2RlLCBwYXJzZXR5cGUsIHBhcnNlc21pbGllcywgaW5pdGlhbF90ZXh0 LCBhamF4X2V4dHJhKQp7CgkvKioKCSogTWlzY2VsbGFuZW91cyB2YXJpYWJsZXMK CSoKCSogQHZhcglzdHJpbmcJVW5pcXVlIEVkaXRvciBJRAoJKiBAdmFyCWJvb2xl YW4JV1lTSVdZRyBtb2RlCgkqIEB2YXIJYm9vbGVhbglIYXZlIHdlIGluaXRpYWxp emVkIHRoZSBlZGl0b3I/CgkqIEB2YXIJbWl4ZWQJUGFzc2VkIHBhcnNldHlwZSAo Y29ycmVzcG9uZHMgdG8gYmJjb2RlcGFyc2UgZm9ydW1pZCkKCSogQHZhcglib29s ZWFuCVBhc3NlZCBwYXJzZXNtaWxpZXMgb3B0aW9uCgkqIEB2YXIJYm9vbGVhbglD YW4gd2UgdXNlIHZCbWVudSBwb3B1cHM/CgkqIEB2YXIJb2JqZWN0CVRoZSBlbGVt ZW50IGNvbnRhaW5pbmcgY29udHJvbHMKCSogQHZhcglvYmplY3QJVGhlIHRleHRh cmVhIG9iamVjdCBjb250YWluaW5nIHRoZSBpbml0aWFsIHRleHQKCSogQHZhcglh cnJheQlBcnJheSBjb250YWluaW5nIGFsbCBidXR0b24gb2JqZWN0cwoJKiBAdmFy CWFycmF5CUFycmF5IGNvbnRhaW5pbmcgYWxsIHBvcHVwIG9iamVjdHMKCSogQHZh cglvYmplY3QJQ3VycmVudCBwcm9tcHQoKSBlbXVsYXRpb24gcG9wdXAKCSogQHZh cglzdHJpbmcJU3RhdGUgb2YgdGhlIGZvbnQgY29udGV4dCBjb250cm9sCgkqIEB2 YXIJc3RyaW5nCVN0YXRlIG9mIHRoZSBzaXplIGNvbnRleHQgY29udHJvbAoJKiBA dmFyCXN0cmluZwlTdGF0ZSBvZiB0aGUgY29sb3IgY29udGV4dCBjb250cm9sCgkq IEB2YXIJc3RyaW5nCVN0cmluZyB0byBjb250YWluIHRoZSBmYWtlICdjbGlwYm9h cmQnCgkqIEB2YXIJYm9vbGVhbglJcyB0aGUgZWRpdG9yICdkaXNhYmxlZCc/IChx dWljayByZXBseSB1c2UpCgkqIEB2YXIJdkJfSGlzdG9yeQlIaXN0b3J5IG1hbmFn ZXIgZm9yIHVuZG8vcmVkbyBzeXN0ZW1zCgkqIEB2YXIgIGludGVnZXIgSXMgdGhl IGVkaXRvciBtb2RlIHRyeWluZyB0byBiZSBjaGFuZ2VkPwoJKi8KCXRoaXMuZWRp dG9yaWQgPSBlZGl0b3JpZDsKCXRoaXMud3lzaXd5Z19tb2RlID0gcGFyc2VJbnQo bW9kZSwgMTApID8gMSA6IDA7Cgl0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7Cgl0 aGlzLnBhcnNldHlwZSA9ICh0eXBlb2YgcGFyc2V0eXBlID09ICd1bmRlZmluZWQn ID8gJ25vbmZvcnVtJyA6IHBhcnNldHlwZSk7Cgl0aGlzLmFqYXhfZXh0cmEgPSAo dHlwZW9mIHBhcnNldHlwZSA9PSAndW5kZWZpbmVkJyA/ICcnIDogYWpheF9leHRy YSk7Cgl0aGlzLnBhcnNlc21pbGllcyA9ICh0eXBlb2YgcGFyc2VzbWlsaWVzID09 ICd1bmRlZmluZWQnID8gMSA6IHBhcnNlc21pbGllcyk7Cgl0aGlzLnBvcHVwbW9k ZSA9ICh0eXBlb2YgdkJtZW51ID09ICd1bmRlZmluZWQnID8gZmFsc2UgOiB0cnVl KTsKCXRoaXMuY29udHJvbGJhciA9IGZldGNoX29iamVjdCh0aGlzLmVkaXRvcmlk ICsgJ19jb250cm9scycpOwoJdGhpcy50ZXh0b2JqID0gZmV0Y2hfb2JqZWN0KHRo aXMuZWRpdG9yaWQgKyAnX3RleHRhcmVhJyk7Cgl0aGlzLmJ1dHRvbnMgPSBuZXcg QXJyYXkoKTsKCXRoaXMucG9wdXBzID0gbmV3IEFycmF5KCk7Cgl0aGlzLnByb21w dF9wb3B1cCA9IG51bGw7Cgl0aGlzLmZvbnRzdGF0ZSA9IG51bGw7Cgl0aGlzLnNp emVzdGF0ZSA9IG51bGw7Cgl0aGlzLmNvbG9yc3RhdGUgPSBudWxsOwoJdGhpcy5j bGlwYm9hcmQgPSAnJzsKCXRoaXMuZGlzYWJsZWQgPSBmYWxzZTsKCXRoaXMuaGlz dG9yeSA9IG5ldyB2Ql9IaXN0b3J5KCk7Cgl0aGlzLmluZmx1eCA9IDA7CgoJLy8g PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCS8vIHZCX1RleHRfRWRpdG9y IG1ldGhvZHMKCgkvKioKCSogRWRpdG9yIGluaXRpYWxpemF0aW9uIHdyYXBwZXIK CSovCgl0aGlzLmluaXQgPSBmdW5jdGlvbigpCgl7CgkJaWYgKHRoaXMuaW5pdGlh bGl6ZWQpCgkJewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLnRleHRvYmouZGlzYWJs ZWQgPSBmYWxzZTsKCgkJaWYgKHRoaXMudGVtcGlmcmFtZSkKCQl7CgkJCXRoaXMu dGVtcGlmcmFtZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMudGVtcGlmcmFt ZSk7CgkJfQoKCQl0aGlzLnNldF9lZGl0b3JfY29udGVudHMoaW5pdGlhbF90ZXh0 KTsKCgkJdGhpcy5zZXRfZWRpdG9yX2Z1bmN0aW9ucygpOwoKCQl0aGlzLmluaXRf Y29udHJvbHMoKTsKCgkJdGhpcy5pbml0X3NtaWxpZXMoZmV0Y2hfb2JqZWN0KHRo aXMuZWRpdG9yaWQgKyAnX3NtaWxpZWJveCcpKTsKCgkJaWYgKHR5cGVvZiBzbWls aWVfd2luZG93ICE9ICd1bmRlZmluZWQnICYmICFzbWlsaWVfd2luZG93LmNsb3Nl ZCkKCQl7CgkJCXRoaXMuaW5pdF9zbWlsaWVzKHNtaWxpZV93aW5kb3cuZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoJ3NtaWxpZXRhYmxlJykpOwoJCX0KCgkJdGhpcy5j YXB0Y2hhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlc3RhbXAiKTsK CQlpZiAodGhpcy5jYXB0Y2hhICE9IG51bGwpCgkJewoJCQl0aGlzLmNhcHRjaGEu c2V0QXR0cmlidXRlKCJ0YWJJbmRleCIsIDEpOwoJCX0KCgkJdGhpcy5pbml0aWFs aXplZCA9IHRydWU7Cgl9OwoKCS8qKgoJKiBDaGVjayBpZiB3ZSBuZWVkIHRvIHJl Zm9jdXMgdGhlIGVkaXRvciB3aW5kb3cKCSovCgl0aGlzLmNoZWNrX2ZvY3VzID0g ZnVuY3Rpb24oKQoJewoJCWlmICghdGhpcy5lZGl0d2luLmhhc2ZvY3VzKQoJCXsK CQkJdGhpcy5lZGl0d2luLmZvY3VzKCk7CgkJCWlmIChpc19vcGVyYSkKCQkJewoJ CQkJLy8gc2VlIGh0dHA6Ly93d3cudmJ1bGxldGluLmNvbS9mb3J1bS9idWdzMzUu cGhwP2RvPXZpZXcmYnVnaWQ9Njg3CgkJCQl0aGlzLmVkaXR3aW4uZm9jdXMoKTsK CQkJfQoJCX0KCX0KCgkvKioKCSogSW5pdCBidXR0b24gY29udHJvbHMgZm9yIHRo ZSBlZGl0b3IKCSovCgl0aGlzLmluaXRfY29udHJvbHMgPSBmdW5jdGlvbigpCgl7 CgkJdmFyIGNvbnRyb2xzID0gbmV3IEFycmF5KCk7CgoJCWlmICh0aGlzLmNvbnRy b2xiYXIgPT0gbnVsbCkKCQl7CgkJCXJldHVybjsKCQl9CgoJCXZhciBidXR0b25z ID0gZmV0Y2hfdGFncyh0aGlzLmNvbnRyb2xiYXIsICdkaXYnKTsKCQlmb3IgKHZh ciBpID0gMDsgaSA8IGJ1dHRvbnMubGVuZ3RoOyBpKyspCgkJewoJCQlpZiAoYnV0 dG9uc1tpXS5jbGFzc05hbWUgPT0gJ2ltYWdlYnV0dG9uJyAmJiBidXR0b25zW2ld LmlkKQoJCQl7CgkJCQljb250cm9sc1tjb250cm9scy5sZW5ndGhdID0gYnV0dG9u c1tpXS5pZDsKCQkJfQoJCX0KCQlmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRyb2xz Lmxlbmd0aDsgaSsrKQoJCXsKCQkJdmFyIGNvbnRyb2wgPSBmZXRjaF9vYmplY3Qo Y29udHJvbHNbaV0pOwoKCQkJaWYgKGNvbnRyb2wuaWQuaW5kZXhPZih0aGlzLmVk aXRvcmlkICsgJ19jbWRfJykgIT0gLTEpCgkJCXsKCQkJCXRoaXMuaW5pdF9jb21t YW5kX2J1dHRvbihjb250cm9sKTsKCQkJfQoJCQllbHNlIGlmIChjb250cm9sLmlk LmluZGV4T2YodGhpcy5lZGl0b3JpZCArICdfcG9wdXBfJykgIT0gLTEpCgkJCXsK CQkJCXRoaXMuaW5pdF9wb3B1cF9idXR0b24oY29udHJvbCk7CgkJCX0KCQl9CgoJ CXNldF91bnNlbGVjdGFibGUodGhpcy5jb250cm9sYmFyKTsKCX07CgoJLyoqCgkq IEluaXQgU21pbGllcwoJKi8KCXRoaXMuaW5pdF9zbWlsaWVzID0gZnVuY3Rpb24o c21pbGllX2NvbnRhaW5lcikKCXsKCQlpZiAoc21pbGllX2NvbnRhaW5lciAhPSBu dWxsKQoJCXsKCQkJdmFyIHNtaWxpZXMgPSBmZXRjaF90YWdzKHNtaWxpZV9jb250 YWluZXIsICdpbWcnKTsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBzbWlsaWVzLmxl bmd0aDsgaSsrKQoJCQl7CgkJCQlpZiAoc21pbGllc1tpXS5pZCAmJiBzbWlsaWVz W2ldLmlkLmluZGV4T2YoJ19zbWlsaWVfJykgIT0gZmFsc2UpCgkJCQl7CgkJCQkJ c21pbGllc1tpXS5zdHlsZS5jdXJzb3IgPSBwb2ludGVyX2N1cnNvcjsKCQkJCQlz bWlsaWVzW2ldLmVkaXRvcmlkID0gdGhpcy5lZGl0b3JpZDsKCQkJCQlzbWlsaWVz W2ldLm9uY2xpY2sgPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLnNt aWxpZV9vbmNsaWNrOwoJCQkJCXNtaWxpZXNbaV0udW5zZWxlY3RhYmxlID0gJ29u JzsKCQkJCX0KCQkJfQoJCX0KCX0KCgkvKioKCSogSW5pdCBjb21tYW5kIGJ1dHRv biAoYiwgaSwgdSBldGMuKQoJKgoJKiBAcGFyYW0Jb2JqZWN0CUN1cnJlbnQgSFRN TCBidXR0b24gbm9kZQoJKi8KCXRoaXMuaW5pdF9jb21tYW5kX2J1dHRvbiA9IGZ1 bmN0aW9uKG9iaikKCXsKCQlvYmouY21kID0gb2JqLmlkLnN1YnN0cihvYmouaWQu aW5kZXhPZignX2NtZF8nKSArIDUpOwoJCW9iai5lZGl0b3JpZCA9IHRoaXMuZWRp dG9yaWQ7CgkJdGhpcy5idXR0b25zW29iai5jbWRdID0gb2JqOwoKCQlpZiAob2Jq LmNtZCA9PSAnc3dpdGNobW9kZScpCgkJewoJCQlpZiAoQUpBWF9Db21wYXRpYmxl KQoJCQl7CgkJCQlvYmouc3RhdGUgPSB0aGlzLnd5c2l3eWdfbW9kZSA/IHRydWUg OiBmYWxzZTsKCQkJCXRoaXMuc2V0X2NvbnRyb2xfc3R5bGUob2JqLCAnYnV0dG9u JywgdGhpcy53eXNpd3lnX21vZGUgPyAnc2VsZWN0ZWQnIDogJ25vcm1hbCcpOwoJ CQl9CgkJCWVsc2UKCQkJewoJCQkJb2JqLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo b2JqKTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQlvYmouc3RhdGUgPSBmYWxzZTsK CQkJb2JqLm1vZGUgPSAnbm9ybWFsJzsKCQl9CgoJCS8vIGV2ZW50IGhhbmRsZXJz CgkJb2JqLm9uY2xpY2sgPSBvYmoub25tb3VzZWRvd24gPSBvYmoub25tb3VzZW92 ZXIgPSBvYmoub25tb3VzZW91dCA9IHZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90 b3R5cGUuY29tbWFuZF9idXR0b25fb25tb3VzZWV2ZW50OwoJfQoKCS8qKgoJKiBJ bml0IHBvcHVwIGJ1dHRvbiAoZm9yZWNvbG9yLCBmb250bmFtZSBldGMuKQoJKgoJ KiBAcGFyYW0Jb2JqZWN0CUN1cnJlbnQgSFRNTCBidXR0b24gbm9kZQoJKi8KCXRo aXMuaW5pdF9wb3B1cF9idXR0b24gPSBmdW5jdGlvbihvYmopCgl7CgkJb2JqLmNt ZCA9IG9iai5pZC5zdWJzdHIob2JqLmlkLmluZGV4T2YoJ19wb3B1cF8nKSArIDcp OwoKCQlpZiAodGhpcy5wb3B1cG1vZGUpCgkJewoJCQkvLyByZWdpc3RlciBwb3B1 cCBtZW51IGNvbnRyb2wKCQkJdkJtZW51LnJlZ2lzdGVyKG9iai5pZCwgdHJ1ZSk7 CgkJCXZCbWVudS5tZW51c1tvYmouaWRdLm9wZW5fc3RlcHMgPSA1OwoKCQkJb2Jq LmVkaXRvcmlkID0gdGhpcy5lZGl0b3JpZDsKCQkJb2JqLnN0YXRlID0gZmFsc2U7 CgkJCXRoaXMuYnV0dG9uc1tvYmouY21kXSA9IG9iajsKCgkJCWlmIChvYmouY21k ID09ICdmb250bmFtZScpCgkJCXsKCQkJCXRoaXMuZm9udG91dCA9IGZldGNoX29i amVjdCh0aGlzLmVkaXRvcmlkICsgJ19mb250X291dCcpOwoJCQkJdGhpcy5mb250 b3V0LmlubmVySFRNTCA9IG9iai50aXRsZTsKCQkJCXRoaXMuZm9udG9wdGlvbnMg PSB7JycgOiB0aGlzLmZvbnRvdXR9OwoKCQkJCWZvciAodmFyIG9wdGlvbiBpbiBm b250b3B0aW9ucykKCQkJCXsKCQkJCQl2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgnZGl2Jyk7CgkJCQkJZGl2LmlkID0gdGhpcy5lZGl0b3JpZCArICdf Zm9udG9wdGlvbl8nICsgZm9udG9wdGlvbnNbb3B0aW9uXTsKCQkJCQlkaXYuc3R5 bGUud2lkdGggPSB0aGlzLmZvbnRvdXQuc3R5bGUud2lkdGg7CgkJCQkJZGl2LnN0 eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgkJCQkJZGl2LmlubmVySFRNTCA9IGZvbnRv cHRpb25zW29wdGlvbl07CgkJCQkJdGhpcy5mb250b3B0aW9uc1tmb250b3B0aW9u c1tvcHRpb25dXSA9IHRoaXMuZm9udG91dC5wYXJlbnROb2RlLmFwcGVuZENoaWxk KGRpdik7CgkJCQl9CgkJCX0KCQkJZWxzZSBpZiAob2JqLmNtZCA9PSAnZm9udHNp emUnKQoJCQl7CgkJCQl0aGlzLnNpemVvdXQgPSBmZXRjaF9vYmplY3QodGhpcy5l ZGl0b3JpZCArICdfc2l6ZV9vdXQnKTsKCQkJCXRoaXMuc2l6ZW91dC5pbm5lckhU TUwgPSBvYmoudGl0bGU7CgkJCQl0aGlzLnNpemVvcHRpb25zID0geycnIDogdGhp cy5zaXplb3V0fTsKCgkJCQlmb3IgKHZhciBvcHRpb24gaW4gc2l6ZW9wdGlvbnMp CgkJCQl7CgkJCQkJdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp dicpOwoJCQkJCWRpdi5pZCA9IHRoaXMuZWRpdG9yaWQgKyAnX3NpemVvcHRpb25f JyArIHNpemVvcHRpb25zW29wdGlvbl07CgkJCQkJZGl2LnN0eWxlLndpZHRoID0g dGhpcy5zaXplb3V0LnN0eWxlLndpZHRoOwoJCQkJCWRpdi5zdHlsZS5kaXNwbGF5 ID0gJ25vbmUnOwoJCQkJCWRpdi5pbm5lckhUTUwgPSBzaXplb3B0aW9uc1tvcHRp b25dOwoJCQkJCXRoaXMuc2l6ZW9wdGlvbnNbc2l6ZW9wdGlvbnNbb3B0aW9uXV0g PSB0aGlzLnNpemVvdXQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChkaXYpOwoJCQkJ fQoJCQl9CgoJCQkvLyBleHRlbmQgb25tb3VzZW92ZXIKCQkJb2JqLl9vbm1vdXNl b3ZlciA9IG9iai5vbm1vdXNlb3ZlcjsKCQkJLy8gZXh0ZW5kIG9uY2xpY2sKCQkJ b2JqLl9vbmNsaWNrID0gb2JqLm9uY2xpY2s7CgoJCQkvLyBldmVudCBoYW5kbGVy cwoJCQlvYmoub25tb3VzZW92ZXIgPSBvYmoub25tb3VzZW91dCA9IG9iai5vbmNs aWNrID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5wb3B1cF9idXR0 b25fb25tb3VzZWV2ZW50OwoKCQkJLy8gZXh0ZW5kIG1lbnUgc2hvdwoJCQl2Qm1l bnUubWVudXNbb2JqLmlkXS5fc2hvdyA9IHZCbWVudS5tZW51c1tvYmouaWRdLnNo b3c7CgkJCXZCbWVudS5tZW51c1tvYmouaWRdLnNob3cgPSB2Ql9UZXh0X0VkaXRv cl9FdmVudHMucHJvdG90eXBlLnBvcHVwX2J1dHRvbl9zaG93OwoJCX0KCQllbHNl CgkJewoJCQl0aGlzLmJ1aWxkX3NlbGVjdChvYmopOwoJCX0KCX0KCgkvKioKCSog UmVwbGFjZSB0aGUgcG9wdXAgY29udHJvbHMgd2l0aCA8c2VsZWN0PiBtZW51cyBm b3IgcnViYmlzaCBicm93c2VycwoJKgoJKiBAcGFyYW0Jb2JqZWN0CVRoZSBwb3B1 cCBjb250cm9sIGVsZW1lbnQKCSovCgl0aGlzLmJ1aWxkX3NlbGVjdCA9IGZ1bmN0 aW9uKG9iaikKCXsKCQl2YXIgc2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn c2VsZWN0Jyk7CgkJc2VsLmlkID0gdGhpcy5lZGl0b3JpZCArICdfc2VsZWN0Xycg KyBvYmouY21kOwoJCXNlbC5lZGl0b3JpZCA9IHRoaXMuZWRpdG9yaWQ7CgkJc2Vs LmNtZCA9IG9iai5jbWQ7CgoJCXZhciBvcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVt ZW50KCdvcHRpb24nKTsKCQlvcHQudmFsdWUgPSAnJzsKCQlvcHQudGV4dCA9IG9i ai50aXRsZTsKCQlzZWwuYWRkKG9wdCwgaXNfaWUgPyBzZWwub3B0aW9ucy5sZW5n dGggOiBudWxsKTsKCgkJdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo J29wdGlvbicpOwoJCW9wdC52YWx1ZSA9ICcnOwoJCW9wdC50ZXh0ID0gJyAnOwoJ CXNlbC5hZGQob3B0LCBpc19pZSA/IHNlbC5vcHRpb25zLmxlbmd0aCA6IG51bGwp OwoKCQlzd2l0Y2ggKG9iai5jbWQpCgkJewoJCQljYXNlICdmb250bmFtZSc6CgkJ CXsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZm9udG9wdGlvbnMubGVuZ3RoOyBp KyspCgkJCQl7CgkJCQkJdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo J29wdGlvbicpOwoJCQkJCW9wdC52YWx1ZSA9IGZvbnRvcHRpb25zW2ldOwoJCQkJ CW9wdC50ZXh0ID0gKGZvbnRvcHRpb25zW2ldLmxlbmd0aCA+IDEwID8gKGZvbnRv cHRpb25zW2ldLnN1YnN0cigwLCAxMCkgKyAnLi4uJykgOiBmb250b3B0aW9uc1tp XSk7CgkJCQkJc2VsLmFkZChvcHQsIGlzX2llID8gc2VsLm9wdGlvbnMubGVuZ3Ro IDogbnVsbCk7CgkJCQl9CgoJCQkJc2VsLm9uY2hhbmdlID0gdkJfVGV4dF9FZGl0 b3JfRXZlbnRzLnByb3RvdHlwZS5mb3JtYXR0aW5nX3NlbGVjdF9vbmNoYW5nZTsK CQkJCWJyZWFrOwoJCQl9CgoJCQljYXNlICdmb250c2l6ZSc6CgkJCXsKCQkJCWZv ciAodmFyIGkgPSAwOyBpIDwgc2l6ZW9wdGlvbnMubGVuZ3RoOyBpKyspCgkJCQl7 CgkJCQkJdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicp OwoJCQkJCW9wdC52YWx1ZSA9IHNpemVvcHRpb25zW2ldOwoJCQkJCW9wdC50ZXh0 ID0gc2l6ZW9wdGlvbnNbaV07CgkJCQkJc2VsLmFkZChvcHQsIGlzX2llID8gc2Vs Lm9wdGlvbnMubGVuZ3RoIDogbnVsbCk7CgkJCQl9CgoJCQkJc2VsLm9uY2hhbmdl ID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5mb3JtYXR0aW5nX3Nl bGVjdF9vbmNoYW5nZTsKCQkJCWJyZWFrOwoJCQl9CgoJCQljYXNlICdmb3JlY29s b3InOgoJCQl7CgkJCQlmb3IgKHZhciBpIGluIGNvbG9yb3B0aW9ucykKCQkJCXsK CQkJCQl2YXIgb3B0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7 CgkJCQkJb3B0LnZhbHVlID0gY29sb3JvcHRpb25zW2ldOwoJCQkJCW9wdC50ZXh0 ID0gUEhQLnRyaW0oKGNvbG9yb3B0aW9uc1tpXS5sZW5ndGggPiA1ID8gKGNvbG9y b3B0aW9uc1tpXS5zdWJzdHIoMCwgNSkgKyAnLi4uJykgOiBjb2xvcm9wdGlvbnNb aV0pLnJlcGxhY2UobmV3IFJlZ0V4cCgnKFtBLVpdKScsICdnJyksICcgJDEnKSk7 CgkJCQkJb3B0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGk7CgkJCQkJc2VsLmFk ZChvcHQsIGlzX2llID8gc2VsLm9wdGlvbnMubGVuZ3RoIDogbnVsbCk7CgkJCQl9 CgoJCQkJc2VsLm9uY2hhbmdlID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3Rv dHlwZS5mb3JtYXR0aW5nX3NlbGVjdF9vbmNoYW5nZTsKCQkJCWJyZWFrOwoJCQl9 CgoJCQljYXNlICdzbWlsaWUnOgoJCQl7CgkJCQlmb3IgKHZhciBjYXQgaW4gc21p bGllb3B0aW9ucykKCQkJCXsKCQkJCQlmb3IgKHZhciBzbWlsaWVpZCBpbiBzbWls aWVvcHRpb25zW2NhdF0pCgkJCQkJewoJCQkJCQlpZiAoc21pbGllaWQgIT0gJ21v cmUnKQoJCQkJCQl7CgkJCQkJCQl2YXIgb3B0ID0gZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgnb3B0aW9uJyk7CgkJCQkJCQlvcHQudmFsdWUgPSBzbWlsaWVvcHRpb25z W2NhdF1bc21pbGllaWRdWzFdOwoJCQkJCQkJb3B0LnRleHQgPSBzbWlsaWVvcHRp b25zW2NhdF1bc21pbGllaWRdWzFdOwoJCQkJCQkJb3B0LnNtaWxpZWlkID0gc21p bGllaWQ7CgkJCQkJCQlvcHQuc21pbGllcGF0aCA9IHNtaWxpZW9wdGlvbnNbY2F0 XVtzbWlsaWVpZF1bMF07CgkJCQkJCQlvcHQuc21pbGlldGl0bGUgPSBzbWlsaWVv cHRpb25zW2NhdF1bc21pbGllaWRdWzJdOwoJCQkJCQkJc2VsLmFkZChvcHQsIGlz X2llID8gc2VsLm9wdGlvbnMubGVuZ3RoIDogbnVsbCk7CgkJCQkJCX0KCQkJCQl9 CgkJCQl9CgoJCQkJc2VsLm9uY2hhbmdlID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRz LnByb3RvdHlwZS5zbWlsaWVzZWxlY3Rfb25jaGFuZ2U7CgkJCQlicmVhazsKCQkJ fQoKCQkJY2FzZSAnYXR0YWNoJzoKCQkJewoJCQkJc2VsLm9ubW91c2VvdmVyID0g dkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5hdHRhY2hzZWxlY3Rfb25t b3VzZW92ZXI7CgkJCQlzZWwub25jaGFuZ2UgPSB2Ql9UZXh0X0VkaXRvcl9FdmVu dHMucHJvdG90eXBlLmF0dGFjaHNlbGVjdF9vbmNoYW5nZTsKCQkJCWJyZWFrOwoJ CQl9CgkJfQoKCQl3aGlsZSAob2JqLmhhc0NoaWxkTm9kZXMoKSkKCQl7CgkJCW9i ai5yZW1vdmVDaGlsZChvYmouZmlyc3RDaGlsZCk7CgkJfQoKCQl0aGlzLmJ1dHRv bnNbb2JqLmNtZF0gPSBvYmouYXBwZW5kQ2hpbGQoc2VsKTsKCX0KCgkvKioKCSog SW5pdCBtZW51IGNvbnRyb2xzIGZvciB0aGUgZWRpdG9yCgkqCgkqIEBwYXJhbQlv YmplY3QJSFRNTCBtZW51IG5vZGUKCSovCgl0aGlzLmluaXRfcG9wdXBfbWVudSA9 IGZ1bmN0aW9uKG9iaikKCXsKCQlpZiAodGhpcy5kaXNhYmxlZCkKCQl7CgkJCXJl dHVybjsKCQl9CgoJCXN3aXRjaCAob2JqLmNtZCkKCQl7CgkJCWNhc2UgJ2ZvbnRu YW1lJzoKCQkJewoJCQkJdmFyIG1lbnUgPSB0aGlzLmluaXRfbWVudV9jb250YWlu ZXIoJ2ZvbnRuYW1lJywgJzIwMHB4JywgJzI1MHB4JywgJ2F1dG8nKTsKCQkJCXRo aXMuYnVpbGRfZm9udG5hbWVfcG9wdXAob2JqLCBtZW51KTsKCQkJCWJyZWFrOwoJ CQl9CgkJCWNhc2UgJ2ZvbnRzaXplJzoKCQkJewoJCQkJdmFyIG1lbnUgPSB0aGlz LmluaXRfbWVudV9jb250YWluZXIoJ2ZvbnRzaXplJywgJ2F1dG8nLCAnYXV0bycs ICd2aXNpYmxlJyk7CgkJCQl0aGlzLmJ1aWxkX2ZvbnRzaXplX3BvcHVwKG9iaiwg bWVudSk7CgkJCQlicmVhazsKCQkJfQoJCQljYXNlICdmb3JlY29sb3InOgoJCQl7 CgkJCQl2YXIgbWVudSA9IHRoaXMuaW5pdF9tZW51X2NvbnRhaW5lcignZm9yZWNv bG9yJywgJ2F1dG8nLCAnYXV0bycsICd2aXNpYmxlJyk7CgkJCQl0aGlzLmJ1aWxk X2ZvcmVjb2xvcl9wb3B1cChvYmosIG1lbnUpOwoJCQkJYnJlYWs7CgkJCX0KCQkJ Y2FzZSAnc21pbGllJzoKCQkJewoJCQkJdmFyIG1lbnUgPSB0aGlzLmluaXRfbWVu dV9jb250YWluZXIoJ3NtaWxpZScsICcxNzVweCcsICcyNTBweCcsICdhdXRvJyk7 CgkJCQl0aGlzLmJ1aWxkX3NtaWxpZV9wb3B1cChvYmosIG1lbnUpOwoJCQkJYnJl YWs7CgkJCX0KCQkJY2FzZSAnYXR0YWNoJzoKCQkJewoJCQkJaWYgKHR5cGVvZiB2 Ql9BdHRhY2htZW50cyAhPSAndW5kZWZpbmVkJyAmJiB2Ql9BdHRhY2htZW50cy5o YXNfYXR0YWNobWVudHMoKSkKCQkJCXsKCQkJCQl2YXIgbWVudSA9IHRoaXMuaW5p dF9tZW51X2NvbnRhaW5lcignYXR0YWNoJywgJ2F1dG8nLCAnYXV0bycsICd2aXNp YmxlJyk7CgkJCQkJdGhpcy5idWlsZF9hdHRhY2htZW50c19wb3B1cChtZW51LCBv YmopOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXJldHVybiBmZXRjaF9vYmpl Y3QoJ21hbmFnZV9hdHRhY2htZW50c19idXR0b24nKS5vbmNsaWNrKCk7CgkJCQl9 CgkJCX0KCQl9CgoJCXRoaXMucG9wdXBzW29iai5jbWRdID0gdGhpcy5jb250cm9s YmFyLmFwcGVuZENoaWxkKG1lbnUpOwoKCQlzZXRfdW5zZWxlY3RhYmxlKG1lbnUp OwoJfTsKCgkvKioKCSogSW5pdCBNZW51IENvbnRhaW5lciBESVYKCSoKCSogQHBh cmFtCXN0cmluZwlDb21tYW5kIHN0cmluZyAoZm9yZWNvbG9yLCBmb250bmFtZSBl dGMuKQoJKiBAcGFyYW0Jc3RyaW5nCUNTUyB3aWR0aCBmb3IgdGhlIG1lbnUKCSog QHBhcmFtCXN0cmluZwlDU1MgaGVpZ2h0IGZvciB0aGUgbWVudQoJKiBAcGFyYW0J c3RyaW5nCUNTUyBvdmVyZmxvdyBmb3IgdGhlIG1lbnUKCSoKCSogQHJldHVybglv YmplY3QJTmV3bHkgY3JlYXRlZCBtZW51IGVsZW1lbnQKCSovCgl0aGlzLmluaXRf bWVudV9jb250YWluZXIgPSBmdW5jdGlvbihjbWQsIHdpZHRoLCBoZWlnaHQsIG92 ZXJmbG93KQoJewoJCXZhciBtZW51ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn ZGl2Jyk7CgoJCW1lbnUuaWQgPSB0aGlzLmVkaXRvcmlkICsgJ19wb3B1cF8nICsg Y21kICsgJ19tZW51JzsKCQltZW51LmNsYXNzTmFtZSA9ICd2Ym1lbnVfcG9wdXAn OwoJCW1lbnUuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQltZW51LnN0eWxlLmN1 cnNvciA9ICdkZWZhdWx0JzsKCQltZW51LnN0eWxlLnBhZGRpbmcgPSAnM3B4JzsK CQltZW51LnN0eWxlLndpZHRoID0gd2lkdGg7CgkJbWVudS5zdHlsZS5oZWlnaHQg PSBoZWlnaHQ7CgkJbWVudS5zdHlsZS5vdmVyZmxvdyA9IG92ZXJmbG93OwoKCQly ZXR1cm4gbWVudTsKCX0KCgkvKioKCSogQnVpbGQgRm9udCBOYW1lIFBvcHVwIENv bnRlbnRzCgkqCgkqIEBwYXJhbQlvYmplY3QJVGhlIGNvbnRyb2wgb2JqZWN0IGZv ciB0aGUgbWVudQoJKiBAcGFyYW0Jb2JqZWN0CVRoZSBtZW51IGNvbnRhaW5lciBv YmplY3QKCSovCgl0aGlzLmJ1aWxkX2ZvbnRuYW1lX3BvcHVwID0gZnVuY3Rpb24o b2JqLCBtZW51KQoJewoJCWZvciAodmFyIG4gaW4gZm9udG9wdGlvbnMpCgkJewoJ CQl2YXIgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgkJ CW9wdGlvbi5pbm5lckhUTUwgPSAnPGZvbnQgZmFjZT0iJyArIGZvbnRvcHRpb25z W25dICsgJyI+JyArIGZvbnRvcHRpb25zW25dICsgJzwvZm9udD4nOwoJCQlvcHRp b24uY2xhc3NOYW1lID0gJ29mb250JzsKCQkJb3B0aW9uLnN0eWxlLnRleHRBbGln biA9ICdsZWZ0JzsKCQkJb3B0aW9uLnRpdGxlID0gZm9udG9wdGlvbnNbbl07CgkJ CW9wdGlvbi5jbWQgPSBvYmouY21kOwoJCQlvcHRpb24uY29udHJvbGtleSA9IG9i ai5pZDsKCQkJb3B0aW9uLmVkaXRvcmlkID0gdGhpcy5lZGl0b3JpZDsKCQkJb3B0 aW9uLm9ubW91c2VvdmVyID0gb3B0aW9uLm9ubW91c2VvdXQgPSBvcHRpb24ub25t b3VzZXVwID0gb3B0aW9uLm9ubW91c2Vkb3duID0gdkJfVGV4dF9FZGl0b3JfRXZl bnRzLnByb3RvdHlwZS5tZW51b3B0aW9uX29ubW91c2VldmVudDsKCQkJb3B0aW9u Lm9uY2xpY2sgPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmZvcm1h dHRpbmdfb3B0aW9uX29uY2xpY2s7CgkJCW1lbnUuYXBwZW5kQ2hpbGQob3B0aW9u KTsKCQl9Cgl9CgoJLyoqCgkqIEJ1aWxkIEZvbnQgU2l6ZSBQb3B1cCBDb250ZW50 cwoJKgoJKiBAcGFyYW0Jb2JqZWN0CVRoZSBjb250cm9sIG9iamVjdCBmb3IgdGhl IG1lbnUKCSogQHBhcmFtCW9iamVjdAlUaGUgbWVudSBjb250YWluZXIgb2JqZWN0 CgkqLwoJdGhpcy5idWlsZF9mb250c2l6ZV9wb3B1cCA9IGZ1bmN0aW9uKG9iaiwg bWVudSkKCXsKCQlmb3IgKHZhciBuIGluIHNpemVvcHRpb25zKQoJCXsKCQkJdmFy IG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCQlvcHRp b24uaW5uZXJIVE1MID0gJzxmb250IHNpemU9IicgKyBzaXplb3B0aW9uc1tuXSAr ICciPicgKyBzaXplb3B0aW9uc1tuXSArICc8L2ZvbnQ+JzsKCQkJb3B0aW9uLmNs YXNzTmFtZSA9ICdvc2l6ZSc7CgkJCW9wdGlvbi5zdHlsZS50ZXh0QWxpZ24gPSAn Y2VudGVyJzsKCQkJb3B0aW9uLnRpdGxlID0gc2l6ZW9wdGlvbnNbbl07CgkJCW9w dGlvbi5jbWQgPSBvYmouY21kOwoJCQlvcHRpb24uY29udHJvbGtleSA9IG9iai5p ZDsKCQkJb3B0aW9uLmVkaXRvcmlkID0gdGhpcy5lZGl0b3JpZDsKCQkJb3B0aW9u Lm9ubW91c2VvdmVyID0gb3B0aW9uLm9ubW91c2VvdXQgPSBvcHRpb24ub25tb3Vz ZXVwID0gb3B0aW9uLm9ubW91c2Vkb3duID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRz LnByb3RvdHlwZS5tZW51b3B0aW9uX29ubW91c2VldmVudDsKCQkJb3B0aW9uLm9u Y2xpY2sgPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmZvcm1hdHRp bmdfb3B0aW9uX29uY2xpY2s7CgkJCW1lbnUuYXBwZW5kQ2hpbGQob3B0aW9uKTsK CQl9Cgl9CgoJLyoqCgkqIEJ1aWxkIEZvcmVDb2xvciBQb3B1cCBDb250ZW50cwoJ KgoJKiBAcGFyYW0Jb2JqZWN0CVRoZSBjb250cm9sIG9iamVjdCBmb3IgdGhlIG1l bnUKCSogQHBhcmFtCW9iamVjdAlUaGUgbWVudSBjb250YWluZXIgb2JqZWN0Cgkq LwoJdGhpcy5idWlsZF9mb3JlY29sb3JfcG9wdXAgPSBmdW5jdGlvbihvYmosIG1l bnUpCgl7CgkJdmFyIGNvbG9yb3V0ID0gZmV0Y2hfb2JqZWN0KHRoaXMuZWRpdG9y aWQgKyAnX2NvbG9yX291dCcpOwoJCWNvbG9yb3V0LmVkaXRvcmlkID0gdGhpcy5l ZGl0b3JpZDsKCQljb2xvcm91dC5vbmNsaWNrID0gdkJfVGV4dF9FZGl0b3JfRXZl bnRzLnByb3RvdHlwZS5jb2xvcm91dF9vbmNsaWNrOwoKCQl2YXIgdGFibGUgPSBk b2N1bWVudC5jcmVhdGVFbGVtZW50KCd0YWJsZScpOwoJCXRhYmxlLmNlbGxQYWRk aW5nID0gMDsKCQl0YWJsZS5jZWxsU3BhY2luZyA9IDA7CgkJdGFibGUuYm9yZGVy ID0gMDsKCgkJdmFyIGkgPSAwOwoJCWZvciAodmFyIGhleCBpbiBjb2xvcm9wdGlv bnMpCgkJewoJCQlpZiAoaSAlIDggPT0gMCkKCQkJewoJCQkJdmFyIHRyID0gdGFi bGUuaW5zZXJ0Um93KC0xKTsKCQkJfQoJCQlpKys7CgoJCQl2YXIgZGl2ID0gZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgkJCWRpdi5zdHlsZS5iYWNrZ3Jv dW5kQ29sb3IgPSBjb2xvcm9wdGlvbnNbaGV4XTsKCgkJCXZhciBvcHRpb24gPSB0 ci5pbnNlcnRDZWxsKC0xKTsKCQkJb3B0aW9uLnN0eWxlLnRleHRBbGlnbiA9ICdj ZW50ZXInOwoJCQlvcHRpb24uY2xhc3NOYW1lID0gJ29jb2xvcic7CgkJCW9wdGlv bi5hcHBlbmRDaGlsZChkaXYpOwoJCQlvcHRpb24uY21kID0gb2JqLmNtZDsKCQkJ b3B0aW9uLmVkaXRvcmlkID0gdGhpcy5lZGl0b3JpZDsKCQkJb3B0aW9uLmNvbnRy b2xrZXkgPSBvYmouaWQ7CgkJCW9wdGlvbi5jb2xvcm5hbWUgPSBjb2xvcm9wdGlv bnNbaGV4XTsKCQkJb3B0aW9uLmlkID0gdGhpcy5lZGl0b3JpZCArICdfY29sb3Jf JyArIGNvbG9yb3B0aW9uc1toZXhdOwoJCQlvcHRpb24ub25tb3VzZW92ZXIgPSBv cHRpb24ub25tb3VzZW91dCA9IG9wdGlvbi5vbm1vdXNldXAgPSBvcHRpb24ub25t b3VzZWRvd24gPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLm1lbnVv cHRpb25fb25tb3VzZWV2ZW50OwoJCQlvcHRpb24ub25jbGljayA9IHZCX1RleHRf RWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuY29sb3JvcHRpb25fb25jbGljazsKCQl9 CgoJCW1lbnUuYXBwZW5kQ2hpbGQodGFibGUpOwoJfQoKCS8qKgoJKiBCdWlsZCBT bWlsaWUgUG9wdXAgQ29udGVudHMKCSoKCSogQHBhcmFtCW9iamVjdAlUaGUgY29u dHJvbCBvYmplY3QgZm9yIHRoZSBtZW51CgkqIEBwYXJhbQlvYmplY3QJVGhlIG1l bnUgY29udGFpbmVyIG9iamVjdAoJKi8KCXRoaXMuYnVpbGRfc21pbGllX3BvcHVw ID0gZnVuY3Rpb24ob2JqLCBtZW51KQoJewoJCWZvciAodmFyIGNhdCBpbiBzbWls aWVvcHRpb25zKQoJCXsKCQkJdmFyIGNhdGVnb3J5ID0gZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgnZGl2Jyk7CgkJCWNhdGVnb3J5LmNsYXNzTmFtZSA9ICd0aGVhZCc7 CgkJCWNhdGVnb3J5LmlubmVySFRNTCA9IGNhdDsKCQkJbWVudS5hcHBlbmRDaGls ZChjYXRlZ29yeSk7CgoJCQlmb3IgKHZhciBzbWlsaWVpZCBpbiBzbWlsaWVvcHRp b25zW2NhdF0pCgkJCXsKCQkJCWlmIChzbWlsaWVpZCA9PSAnbW9yZScpCgkJCQl7 CgkJCQkJdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp OwoJCQkJCW9wdGlvbi5jbGFzc05hbWUgPSAndGhlYWQnOwoJCQkJCW9wdGlvbi5p bm5lckhUTUwgPSBzbWlsaWVvcHRpb25zW2NhdF1bc21pbGllaWRdOwoJCQkJCW9w dGlvbi5zdHlsZS5jdXJzb3IgPSBwb2ludGVyX2N1cnNvcjsKCQkJCQlvcHRpb24u ZWRpdG9yaWQgPSB0aGlzLmVkaXRvcmlkOwoJCQkJCW9wdGlvbi5jb250cm9sa2V5 ID0gb2JqLmlkOwoJCQkJCW9wdGlvbi5vbmNsaWNrID0gdkJfVGV4dF9FZGl0b3Jf RXZlbnRzLnByb3RvdHlwZS5zbWlsaWVtb3JlX29uY2xpY2s7CgkJCQl9CgkJCQll bHNlCgkJCQl7CgkJCQkJdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoJ2RpdicpOwoJCQkJCW9wdGlvbi5lZGl0b3JpZCA9IHRoaXMuZWRpdG9yaWQ7 CgkJCQkJb3B0aW9uLmNvbnRyb2xrZXkgPSBvYmouaWQ7CgkJCQkJb3B0aW9uLnNt aWxpZWlkID0gc21pbGllaWQ7CgkJCQkJb3B0aW9uLnNtaWxpZXRleHQgPSBzbWls aWVvcHRpb25zW2NhdF1bc21pbGllaWRdWzFdOwoJCQkJCW9wdGlvbi5zbWlsaWV0 aXRsZSA9IHNtaWxpZW9wdGlvbnNbY2F0XVtzbWlsaWVpZF1bMl07CgoJCQkJCW9w dGlvbi5jbGFzc05hbWUgPSAnb3NtaWxpZSc7CgkJCQkJb3B0aW9uLmlubmVySFRN TCA9ICc8aW1nIHNyYz0iJyArIHNtaWxpZW9wdGlvbnNbY2F0XVtzbWlsaWVpZF1b MF0gKyAnIiBhbHQ9IicgKyBzbWlsaWVvcHRpb25zW2NhdF1bc21pbGllaWRdWzJd ICsgJyIgLz4gJyArIHNtaWxpZW9wdGlvbnNbY2F0XVtzbWlsaWVpZF1bMl07CgoJ CQkJCW9wdGlvbi5vbm1vdXNlb3ZlciA9IG9wdGlvbi5vbm1vdXNlb3V0ID0gb3B0 aW9uLm9ubW91c2Vkb3duID0gb3B0aW9uLm9ubW91c2V1cCA9IHZCX1RleHRfRWRp dG9yX0V2ZW50cy5wcm90b3R5cGUubWVudW9wdGlvbl9vbm1vdXNlZXZlbnQ7CgoJ CQkJCW9wdGlvbi5vbmNsaWNrID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3Rv dHlwZS5zbWlsaWVvcHRpb25fb25jbGljazsKCQkJCX0KCgkJCQltZW51LmFwcGVu ZENoaWxkKG9wdGlvbik7CgkJCX0KCQl9Cgl9CgoJLyoqCgkqIEJ1aWxkIEF0dGFj aG1lbnRzIFBvcHVwCgkqCgkqIEBwYXJhbQlvYmplY3QJVGhlIGNvbnRyb2wgb2Jq ZWN0IGZvciB0aGUgbWVudQoJKiBAcGFyYW0Jb2JqZWN0CVRoZSBtZW51IGNvbnRh aW5lciBvYmplY3QKCSovCgl0aGlzLmJ1aWxkX2F0dGFjaG1lbnRzX3BvcHVwID0g ZnVuY3Rpb24obWVudSwgb2JqKQoJewoJCWlmICh0aGlzLnBvcHVwbW9kZSkKCQl7 CgkJCXdoaWxlIChtZW51Lmhhc0NoaWxkTm9kZXMoKSkKCQkJewoJCQkJbWVudS5y ZW1vdmVDaGlsZChtZW51LmZpcnN0Q2hpbGQpOwoJCQl9CgoJCQl2YXIgZGl2ID0g ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgkJCWRpdi5lZGl0b3JpZCA9 IHRoaXMuZWRpdG9yaWQ7CgkJCWRpdi5jb250cm9sa2V5ID0gb2JqLmlkOwoJCQlk aXYuY2xhc3NOYW1lID0gJ3RoZWFkJzsKCQkJZGl2LnN0eWxlLmN1cnNvciA9IHBv aW50ZXJfY3Vyc29yOwoJCQlkaXYuaW5uZXJIVE1MID0gZmV0Y2hfb2JqZWN0KCdt YW5hZ2VfYXR0YWNobWVudHNfYnV0dG9uJykudmFsdWU7CgkJCWRpdi50aXRsZSA9 IGZldGNoX29iamVjdCgnbWFuYWdlX2F0dGFjaG1lbnRzX2J1dHRvbicpLnRpdGxl OwoJCQlkaXYub25jbGljayA9IHZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5 cGUuYXR0YWNobWFuYWdlX29uY2xpY2s7CgoJCQltZW51LmFwcGVuZENoaWxkKGRp dik7CgoJCQl2YXIgYXR0YWNoX2NvdW50ID0gMDsKCQkJZm9yICh2YXIgaWQgaW4g dkJfQXR0YWNobWVudHMuYXR0YWNobWVudHMpCgkJCXsKCQkJCXZhciBkaXYgPSBk b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQkJCWRpdi5lZGl0b3JpZCA9 IHRoaXMuZWRpdG9yaWQ7CgkJCQlkaXYuY29udHJvbGtleSA9IG9iai5pZDsKCQkJ CWRpdi5jbGFzc05hbWUgPSAnb3NtaWxpZSc7CgkJCQlkaXYuYXR0YWNobWVudGlk ID0gaWQ7CgkJCQlkaXYuaW5uZXJIVE1MID0gJzxpbWcgc3JjPSInICsgdkJfQXR0 YWNobWVudHMuYXR0YWNobWVudHNbaWRdWydpbWdwYXRoJ10gKyAnIiBhbHQ9IiIg Lz4gJyArIHZCX0F0dGFjaG1lbnRzLmF0dGFjaG1lbnRzW2lkXVsnZmlsZW5hbWUn XTsKCQkJCWRpdi5vbm1vdXNlb3ZlciA9IGRpdi5vbm1vdXNlb3V0ID0gZGl2Lm9u bW91c2Vkb3duID0gZGl2Lm9ubW91c2V1cCA9IHZCX1RleHRfRWRpdG9yX0V2ZW50 cy5wcm90b3R5cGUubWVudW9wdGlvbl9vbm1vdXNlZXZlbnQ7CgkJCQlkaXYub25j bGljayA9IHZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuYXR0YWNob3B0 aW9uX29uY2xpY2s7CgoJCQkJbWVudS5hcHBlbmRDaGlsZChkaXYpOwoJCQkJYXR0 YWNoX2NvdW50Kys7CgkJCX0KCQkJaWYgKGF0dGFjaF9jb3VudCA+IDEpCgkJCXsK CQkJCXZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQkJ CWRpdi5lZGl0b3JpZCA9IHRoaXMuZWRpdG9yaWQKCQkJCWRpdi5jb250cm9sa2V5 ID0gb2JqLmlkOwoJCQkJZGl2LmNsYXNzTmFtZSA9ICdvc21pbGllJzsKCQkJCWRp di5zdHlsZS5mb250V2VpZ2h0ID0gJ2JvbGQnOwoJCQkJZGl2LnN0eWxlLnBhZGRp bmdMZWZ0ID0gJzI1cHgnOwoJCQkJZGl2LmlubmVySFRNTCA9IHZicGhyYXNlWydp bnNlcnRfYWxsJ107CgkJCQlkaXYub25tb3VzZW92ZXIgPSBkaXYub25tb3VzZW91 dCA9IGRpdi5vbm1vdXNlZG93biA9IGRpdi5vbm1vdXNldXAgPSB2Ql9UZXh0X0Vk aXRvcl9FdmVudHMucHJvdG90eXBlLm1lbnVvcHRpb25fb25tb3VzZWV2ZW50OwoJ CQkJZGl2Lm9uY2xpY2sgPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBl LmF0dGFjaGluc2VydGFsbF9vbmNsaWNrOwoKCQkJCW1lbnUuYXBwZW5kQ2hpbGQo ZGl2KTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQl3aGlsZSAobWVudS5vcHRpb25z Lmxlbmd0aCA+IDIpCgkJCXsKCQkJCW1lbnUucmVtb3ZlKG1lbnUub3B0aW9ucy5s ZW5ndGggLSAxKTsKCQkJfQoKCQkJZm9yICh2YXIgaWQgaW4gdkJfQXR0YWNobWVu dHMuYXR0YWNobWVudHMpCgkJCXsKCQkJCXZhciBvcHQgPSBkb2N1bWVudC5jcmVh dGVFbGVtZW50KCdvcHRpb24nKTsKCQkJCW9wdC52YWx1ZSA9IGlkOwoJCQkJb3B0 LnRleHQgPSB2Ql9BdHRhY2htZW50cy5hdHRhY2htZW50c1tpZF1bJ2ZpbGVuYW1l J107CgkJCQltZW51LmFkZChvcHQsIGlzX2llID8gbWVudS5vcHRpb25zLmxlbmd0 aCA6IG51bGwpOwoJCQl9CgkJfQoKCQlzZXRfdW5zZWxlY3RhYmxlKG1lbnUpOwoJ fQoKCS8qKgoJKiBNZW51IENvbnRleHQKCSoKCSogQHBhcmFtCW9iamVjdAlUaGUg bWVudSBjb250YWluZXIgb2JqZWN0CgkqIEBwYXJhbQlzdHJpbmcJVGhlIHN0YXRl IG9mIHRoZSBjb250cm9sCgkqLwoJdGhpcy5tZW51X2NvbnRleHQgPSBmdW5jdGlv bihvYmosIHN0YXRlKQoJewoJCWlmICh0aGlzLmRpc2FibGVkKQoJCXsKCQkJcmV0 dXJuOwoJCX0KCgkJc3dpdGNoIChvYmouc3RhdGUpCgkJewoJCQljYXNlIHRydWU6 IC8vIHNlbGVjdGVkIG1lbnUgaXMgb3BlbgoJCQl7CgkJCQl0aGlzLnNldF9jb250 cm9sX3N0eWxlKG9iaiwgJ2J1dHRvbicsICdkb3duJyk7CgkJCQlicmVhazsKCQkJ fQoKCQkJZGVmYXVsdDoKCQkJewoJCQkJc3dpdGNoIChzdGF0ZSkKCQkJCXsKCQkJ CQljYXNlICdtb3VzZW91dCc6CgkJCQkJewoJCQkJCQl0aGlzLnNldF9jb250cm9s X3N0eWxlKG9iaiwgJ2J1dHRvbicsICdub3JtYWwnKTsKCQkJCQkJYnJlYWs7CgkJ CQkJfQoJCQkJCWNhc2UgJ21vdXNlZG93bic6CgkJCQkJewoJCQkJCQl0aGlzLnNl dF9jb250cm9sX3N0eWxlKG9iaiwgJ3BvcHVwJywgJ2Rvd24nKTsKCQkJCQkJYnJl YWs7CgkJCQkJfQoJCQkJCWNhc2UgJ21vdXNldXAnOgoJCQkJCWNhc2UgJ21vdXNl b3Zlcic6CgkJCQkJewoJCQkJCQl0aGlzLnNldF9jb250cm9sX3N0eWxlKG9iaiwg J2J1dHRvbicsICdob3ZlcicpOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgkJ CX0KCQl9Cgl9OwoKCS8qKgoJKiBCdXR0b24gQ29udGV4dAoJKgoJKiBAcGFyYW0J b2JqZWN0CVRoZSBidXR0b24gb2JqZWN0CgkqIEBwYXJhbQlzdHJpbmcJSW5jb21p bmcgZXZlbnQgdHlwZQoJKiBAcGFyYW0Jc3RyaW5nCUNvbnRyb2wgdHlwZSAtICdi dXR0b24nIG9yICdtZW51JwoJKi8KCXRoaXMuYnV0dG9uX2NvbnRleHQgPSBmdW5j dGlvbihvYmosIHN0YXRlLCBjb250cm9sdHlwZSkKCXsKCQlpZiAodGhpcy5kaXNh YmxlZCkKCQl7CgkJCXJldHVybjsKCQl9CgoJCWlmICh0eXBlb2YgY29udHJvbHR5 cGUgPT0gJ3VuZGVmaW5lZCcpCgkJewoJCQljb250cm9sdHlwZSA9ICdidXR0b24n OwoJCX0KCgkJc3dpdGNoIChvYmouc3RhdGUpCgkJewoJCQljYXNlIHRydWU6IC8v IHNlbGVjdGVkIGJ1dHRvbgoJCQl7CgkJCQlzd2l0Y2ggKHN0YXRlKQoJCQkJewoJ CQkJCWNhc2UgJ21vdXNlb3Zlcic6CgkJCQkJY2FzZSAnbW91c2Vkb3duJzoKCQkJ CQljYXNlICdtb3VzZXVwJzoKCQkJCQl7CgkJCQkJCXRoaXMuc2V0X2NvbnRyb2xf c3R5bGUob2JqLCBjb250cm9sdHlwZSwgJ2Rvd24nKTsKCQkJCQkJYnJlYWs7CgkJ CQkJfQoJCQkJCWNhc2UgJ21vdXNlb3V0JzoKCQkJCQl7CgkJCQkJCXRoaXMuc2V0 X2NvbnRyb2xfc3R5bGUob2JqLCAnYnV0dG9uJywgJ3NlbGVjdGVkJyk7CgkJCQkJ CWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJCWJyZWFrOwoJCQl9CgoJCQlkZWZhdWx0 OiAvLyBub3Qgc2VsZWN0ZWQKCQkJewoJCQkJc3dpdGNoIChzdGF0ZSkKCQkJCXsK CQkJCQljYXNlICdtb3VzZW92ZXInOgoJCQkJCWNhc2UgJ21vdXNldXAnOgoJCQkJ CXsKCQkJCQkJdGhpcy5zZXRfY29udHJvbF9zdHlsZShvYmosIGNvbnRyb2x0eXBl LCAnaG92ZXInKTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJCWNhc2UgJ21vdXNl ZG93bic6CgkJCQkJewoJCQkJCQl0aGlzLnNldF9jb250cm9sX3N0eWxlKG9iaiwg Y29udHJvbHR5cGUsICdkb3duJyk7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlj YXNlICdtb3VzZW91dCc6CgkJCQkJewoJCQkJCQl0aGlzLnNldF9jb250cm9sX3N0 eWxlKG9iaiwgY29udHJvbHR5cGUsICdub3JtYWwnKTsKCQkJCQkJYnJlYWs7CgkJ CQkJfQoJCQkJfQoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9OwoKCS8qKgoJKiBTZXQg Q29udHJvbCBTdHlsZQoJKgoJKiBAcGFyYW0Jb2JqZWN0CVRoZSBvYmplY3QgdG8g YmUgc3R5bGVkCgkqIEBwYXJhbQlzdHJpbmcJQ29udHJvbCB0eXBlIC0gJ2J1dHRv bicgb3IgJ21lbnUnCgkqIEBwYXJhbQlzdHJpbmcJVGhlIG1vZGUgdG8gdXNlLCBj b3JyZXNwb25kaW5nIHRvIHRoZSBpc3R5bGVzIGFycmF5CgkqLwoJdGhpcy5zZXRf Y29udHJvbF9zdHlsZSA9IGZ1bmN0aW9uKG9iaiwgY29udHJvbHR5cGUsIG1vZGUp Cgl7CgkJaWYgKG9iai5tb2RlICE9IG1vZGUpCgkJewoJCQlvYmoubW9kZSA9IG1v ZGU7CgoJCQkvLyBjb25zdHJ1Y3QgdGhlIG5hbWUgb2YgdGhlIGFwcHJvcHJpYXRl IGFycmF5IGtleSBmcm9tIHRoZSBpc3R5bGVzIGFycmF5CgkJCWlzdHlsZSA9ICdw aV8nICsgY29udHJvbHR5cGUgKyAnXycgKyBvYmoubW9kZTsKCgkJCS8vIHNldCBl bGVtZW50IGJhY2tncm91bmQsIGNvbG9yLCBwYWRkaW5nIGFuZCBib3JkZXIKCQkJ aWYgKHR5cGVvZiBpc3R5bGVzICE9ICd1bmRlZmluZWQnICYmIHR5cGVvZiBpc3R5 bGVzW2lzdHlsZV0gIT0gJ3VuZGVmaW5lZCcpCgkJCXsKCQkJCW9iai5zdHlsZS5i YWNrZ3JvdW5kID0gaXN0eWxlc1tpc3R5bGVdWzBdOwoJCQkJb2JqLnN0eWxlLmNv bG9yID0gaXN0eWxlc1tpc3R5bGVdWzFdOwoJCQkJaWYgKGNvbnRyb2x0eXBlICE9 ICdtZW51JykKCQkJCXsKCQkJCQlvYmouc3R5bGUucGFkZGluZyA9IGlzdHlsZXNb aXN0eWxlXVsyXTsKCQkJCX0KCQkJCW9iai5zdHlsZS5ib3JkZXIgPSBpc3R5bGVz W2lzdHlsZV1bM107CgoJCQkJdmFyIHRkcyA9IGZldGNoX3RhZ3Mob2JqLCAndGQn KTsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgdGRzLmxlbmd0aDsgaSsrKQoJCQkJ ewoJCQkJCXN3aXRjaCAodGRzW2ldLmNsYXNzTmFtZSkKCQkJCQl7CgkJCQkJCS8v IHNldCB0aGUgcmlnaHQtYm9yZGVyIGZvciBwb3B1cF9mZWVkYmFjayBjbGFzcyBl bGVtZW50cwoJCQkJCQljYXNlICdwb3B1cF9mZWVkYmFjayc6CgkJCQkJCXsKCQkJ CQkJCXRkc1tpXS5zdHlsZS5ib3JkZXJSaWdodCA9IChtb2RlID09ICdub3JtYWwn ID8gaXN0eWxlc1sncGlfbWVudV9ub3JtYWwnXVszXSA6IGlzdHlsZXNbaXN0eWxl XVszXSk7CgkJCQkJCX0KCQkJCQkJYnJlYWs7CgoJCQkJCQkvLyBzZXQgdGhlIGJv cmRlciBjb2xvdXIgZm9yIHBvcHVwX3BpY2tidXR0b24gY2xhc3MgZWxlbWVudHMK CQkJCQkJY2FzZSAncG9wdXBfcGlja2J1dHRvbic6CgkJCQkJCXsKCQkJCQkJCXRk c1tpXS5zdHlsZS5ib3JkZXJDb2xvciA9IChtb2RlID09ICdub3JtYWwnID8gaXN0 eWxlc1sncGlfbWVudV9ub3JtYWwnXVswXSA6IGlzdHlsZXNbaXN0eWxlXVswXSk7 CgkJCQkJCX0KCQkJCQkJYnJlYWs7CgoJCQkJCQkvLyBzZXQgdGhlIGxlZnQtcGFk ZGluZyBhbmQgbGVmdC1ib3JkZXIgZm9yIGFsdF9waWNrYnV0dG9uIGVsZW1lbnRz CgkJCQkJCWNhc2UgJ2FsdF9waWNrYnV0dG9uJzoKCQkJCQkJewoJCQkJCQkJaWYg KG9iai5zdGF0ZSkKCQkJCQkJCXsKCQkJCQkJCQl0ZHNbaV0uc3R5bGUucGFkZGlu Z0xlZnQgPSBpc3R5bGVzWydwaV9idXR0b25fbm9ybWFsJ11bMl07CgkJCQkJCQkJ dGRzW2ldLnN0eWxlLmJvcmRlckxlZnQgPSBpc3R5bGVzWydwaV9idXR0b25fbm9y bWFsJ11bM107CgkJCQkJCQl9CgkJCQkJCQllbHNlCgkJCQkJCQl7CgkJCQkJCQkJ dGRzW2ldLnN0eWxlLnBhZGRpbmdMZWZ0ID0gaXN0eWxlc1tpc3R5bGVdWzJdOwoJ CQkJCQkJCXRkc1tpXS5zdHlsZS5ib3JkZXJMZWZ0ID0gaXN0eWxlc1tpc3R5bGVd WzNdOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfTsK CgkvKioKCSogRm9ybWF0IHRleHQKCSoKCSogQHBhcmFtCWV2ZW50CUV2ZW50IG9i amVjdAoJKiBAcGFyYW0Jc3RyaW5nCUZvcm1hdHRpbmcgY29tbWFuZAoJKiBAcGFy YW0Jc3RyaW5nCU9wdGlvbmFsIGFyZ3VtZW50IHRvIHRoZSBmb3JtYXR0aW5nIGNv bW1hbmQKCSoKCSogQHJldHVybglib29sZWFuCgkqLwoJdGhpcy5mb3JtYXQgPSBm dW5jdGlvbihlLCBjbWQsIGFyZykKCXsKCQllID0gZG9fYW5fZShlKTsKCgkJaWYg KHRoaXMuZGlzYWJsZWQpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAo Y21kICE9ICdyZWRvJykKCQl7CgkJCXRoaXMuaGlzdG9yeS5hZGRfc25hcHNob3Qo dGhpcy5nZXRfZWRpdG9yX2NvbnRlbnRzKCkpOwoJCX0KCgkJaWYgKGNtZCA9PSAn c3dpdGNobW9kZScpCgkJewoJCQlzd2l0Y2hfZWRpdG9yX21vZGUodGhpcy5lZGl0 b3JpZCk7CgkJCXJldHVybjsKCQl9CgkJZWxzZSBpZiAoY21kLnN1YnN0cigwLCA2 KSA9PSAncmVzaXplJykKCQl7CgkJCXRoaXMucmVzaXplX2VkaXRvcihwYXJzZUlu dChjbWQuc3Vic3RyKDkpLCAxMCkgKiAocGFyc2VJbnQoY21kLnN1YnN0cig3LCAx KSwgMTApID09ICcxJyA/IDEgOiAtMSkpOwoJCQlyZXR1cm47CgkJfQoKCQl0aGlz LmNoZWNrX2ZvY3VzKCk7CgoJCWlmIChjbWQuc3Vic3RyKDAsIDQpID09ICd3cmFw JykKCQl7CgkJCXZhciByZXQgPSB0aGlzLndyYXBfdGFncyhjbWQuc3Vic3RyKDYp LCAoY21kLnN1YnN0cig0LCAxKSA9PSAnMScgPyB0cnVlIDogZmFsc2UpKTsKCQl9 CgkJZWxzZSBpZiAodGhpc1tjbWRdKQoJCXsKCQkJdmFyIHJldCA9IHRoaXNbY21k XShlKTsKCQl9CgkJZWxzZQoJCXsKCQkJdHJ5CgkJCXsKCQkJCXZhciByZXQgPSB0 aGlzLmFwcGx5X2Zvcm1hdChjbWQsIGZhbHNlLCAodHlwZW9mIGFyZyA9PSAndW5k ZWZpbmVkJyA/IHRydWUgOiBhcmcpKTsKCQkJfQoJCQljYXRjaChlKQoJCQl7CgkJ CQl0aGlzLmhhbmRsZV9lcnJvcihjbWQsIGUpOwoJCQkJdmFyIHJldCA9IGZhbHNl OwoJCQl9CgkJfQoKCQlpZiAoY21kICE9ICd1bmRvJykKCQl7CgkJCXRoaXMuaGlz dG9yeS5hZGRfc25hcHNob3QodGhpcy5nZXRfZWRpdG9yX2NvbnRlbnRzKCkpOwoJ CX0KCgkJdGhpcy5zZXRfY29udGV4dChjbWQpOwoKCQl0aGlzLmNoZWNrX2ZvY3Vz KCk7CgoJCXJldHVybiByZXQ7Cgl9OwoKCS8qKgoJKiBJbnNlcnQgSW1hZ2UKCSoK CSogQHBhcmFtCWV2ZW50CUV2ZW50IG9iamVjdAoJKiBAcGFyYW0Jc3RyaW5nCShP cHRpb25hbCkgSW1hZ2UgVVJMCgkqCgkqIEByZXR1cm4JYm9vbGVhbgoJKi8KCXRo aXMuaW5zZXJ0aW1hZ2UgPSBmdW5jdGlvbihlLCBpbWcpCgl7CgkJaWYgKHR5cGVv ZiBpbWcgPT0gJ3VuZGVmaW5lZCcpCgkJewoJCQlpbWcgPSB0aGlzLnNob3dfcHJv bXB0KHZicGhyYXNlWydlbnRlcl9pbWFnZV91cmwnXSwgJ2h0dHA6Ly8nLCB0cnVl KTsKCQl9CgkJaWYgKGltZyA9IHRoaXMudmVyaWZ5X3Byb21wdChpbWcpKQoJCXsK CQkJcmV0dXJuIHRoaXMuYXBwbHlfZm9ybWF0KCdpbnNlcnRpbWFnZScsIGZhbHNl LCBpbWcpOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfTsK CgkvKioKCSogV3JhcCBUYWdzCgkqCgkqIEBwYXJhbQlzdHJpbmcJVGFnIHRvIHdy YXAKCSogQHBhcmFtCWJvb2xlYW4JVXNlIG9wdGlvbj8KCSogQHBhcmFtCXN0cmlu ZwkoT3B0aW9uYWwpIHNlbGVjdGVkIHRleHQKCSoKCSogQHJldHVybglib29sZWFu CgkqLwoJdGhpcy53cmFwX3RhZ3MgPSBmdW5jdGlvbih0YWduYW1lLCB1c2VvcHRp b24sIHNlbGVjdGlvbikKCXsKCQl0YWduYW1lID0gdGFnbmFtZS50b1VwcGVyQ2Fz ZSgpOwoKCQlzd2l0Y2ggKHRhZ25hbWUpCgkJewoJCQljYXNlICdDT0RFJzoKCQkJ Y2FzZSAnSFRNTCc6CgkJCWNhc2UgJ1BIUCc6CgkJCXsKCQkJCXRoaXMuYXBwbHlf Zm9ybWF0KCdyZW1vdmVmb3JtYXQnKTsKCQkJfQoJCQlicmVhazsKCQl9CgoJCWlm ICh0eXBlb2Ygc2VsZWN0aW9uID09ICd1bmRlZmluZWQnKQoJCXsKCQkJc2VsZWN0 aW9uID0gdGhpcy5nZXRfc2VsZWN0aW9uKCk7CgkJCWlmIChzZWxlY3Rpb24gPT09 IGZhbHNlKQoJCQl7CgkJCQlzZWxlY3Rpb24gPSAnJzsKCQkJfQoJCQllbHNlCgkJ CXsKCQkJCXNlbGVjdGlvbiA9IG5ldyBTdHJpbmcoc2VsZWN0aW9uKTsKCQkJfQoJ CX0KCgkJaWYgKHVzZW9wdGlvbiA9PT0gdHJ1ZSkKCQl7CgkJCXZhciBvcHRpb24g PSB0aGlzLnNob3dfcHJvbXB0KGNvbnN0cnVjdF9waHJhc2UodmJwaHJhc2VbJ2Vu dGVyX3RhZ19vcHRpb24nXSwgKCdbJyArIHRhZ25hbWUgKyAnXScpKSwgJycsIGZh bHNlKTsKCQkJaWYgKG9wdGlvbiA9IHRoaXMudmVyaWZ5X3Byb21wdChvcHRpb24p KQoJCQl7CgkJCQl2YXIgb3BlbnRhZyA9ICdbJyArIHRhZ25hbWUgKyAnPSInICsg b3B0aW9uICsgJyInICsgJ10nOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJu IGZhbHNlOwoJCQl9CgkJfQoJCWVsc2UgaWYgKHVzZW9wdGlvbiAhPT0gZmFsc2Up CgkJewoJCQl2YXIgb3BlbnRhZyA9ICdbJyArIHRhZ25hbWUgKyAnPSInICsgdXNl b3B0aW9uICsgJyInICsgJ10nOwoJCX0KCQllbHNlCgkJewoJCQl2YXIgb3BlbnRh ZyA9ICdbJyArIHRhZ25hbWUgKyAnXSc7CgkJfQoKCQl2YXIgY2xvc2V0YWcgPSAn Wy8nICsgdGFnbmFtZSArICddJzsKCQl2YXIgdGV4dCA9IG9wZW50YWcgKyBzZWxl Y3Rpb24gKyBjbG9zZXRhZzsKCgkJdGhpcy5pbnNlcnRfdGV4dCh0ZXh0LCBvcGVu dGFnLnZCbGVuZ3RoKCksIGNsb3NldGFnLnZCbGVuZ3RoKCkpOwoKCQlyZXR1cm4g ZmFsc2U7Cgl9OwoKCS8qKgoJKiBDaGVjayBTcGVsbGluZyAodXNlcyBpZVNwZWxs IGZyb20gd3d3Lmllc3BlbGwuY29tKQoJKgoJKiBFdmVudHVhbGx5IHdlIGhvcGUg dG8gaW50ZWdyYXRlIFNwZWxsQm91bmQgKGh0dHA6Ly9zcGVsbGJvdW5kLnNvdXJj ZWZvcmdlLm5ldCkgZm9yIEdlY2tvLgoJKi8KCXRoaXMuc3BlbGxpbmcgPSBmdW5j dGlvbigpCgl7CgkJaWYgKGlzX2llKQoJCXsKCQkJdHJ5CgkJCXsKCQkJCS8vIGF0 dGVtcHQgdG8gaW5zdGFudGlhdGUgaWVTcGVsbAoJCQkJZXZhbCgibmV3IEEiICsg ImN0aXYiICsgImVYIiArICJPYiIgKyAiamVjdCgnaWVTcGVsbC4iICsgImllU3Bl bGxFeHQiICsgImVuc2lvbicpLkNoZWNrRCIgKyAib2N1bWVudE5vZGUodGhpcy5z cGVsbG9iaik7Iik7CgkJCX0KCQkJY2F0Y2goZSkKCQkJewoJCQkJLy8gYXNrIGlm IHVzZXIgd2FudHMgdG8gZG93bmxvYWQgaWVTcGVsbAoJCQkJaWYgKGUubnVtYmVy ID09IC0yMTQ2ODI3ODU5ICYmIGNvbmZpcm0odmJwaHJhc2VbJ2llc3BlbGxfbm90 X2luc3RhbGxlZCddKSkKCQkJCXsKCQkJCQkvLyBvb2ggdGhleSBkby4uLgoJCQkJ CXdpbmRvdy5vcGVuKCdodHRwOi8vd3d3Lmllc3BlbGwuY29tL2Rvd25sb2FkLnBo JyArICdwJyk7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZSBpZiAoaXNfbW96KQoJCXsK CQkJLy8gYXR0ZW1wdCB0byBpbnN0YW50aWF0ZSBTcGVsbEJvdW5kLi4uIHdoZW4g aXQgc3VwcG9ydHMgdGhpcyBiZWhhdmlvdXIKCQl9Cgl9OwoKCS8qKgoJKiBIYW5k bGUgRXJyb3IKCSoKCSogQHBhcmFtCXN0cmluZwlDb21tYW5kIG5hbWUKCSogQHBh cmFtCWV2ZW50CUV2ZW50IG9iamVjdAoJKi8KCXRoaXMuaGFuZGxlX2Vycm9yID0g ZnVuY3Rpb24oY21kLCBlKQoJewoJfTsKCgkvKioKCSogU2hvdyBKUyBQcm9tcHQg YW5kIGZpbHRlciByZXN1bHQKCSoKCSogQHBhcmFtCXN0cmluZwlUZXh0IGZvciB0 aGUgZGlhbG9nCgkqIEBwYXJhbQlzdHJpbmcJRGVmYXVsdCB2YWx1ZSBmb3IgdGhl IGRpYWxvZwoJKiBAcGFyYW0Jc3RyaW5nCVdoZXRoZXIgdG8gZm9yY2UgTFRSIChm b3IgVVJMcywgZXRjKQoJKgoJKiBAcmV0dXJuCXN0cmluZwoJKi8KCXRoaXMuc2hv d19wcm9tcHQgPSBmdW5jdGlvbihkaWFsb2d0eHQsIGRlZmF1bHR2YWwsIGZvcmNl bHRyKQoJewoJCWlmIChpc19pZTcpCgkJewoJCQl2YXIgcmV0dXJudmFsdWUgPSB3 aW5kb3cuc2hvd01vZGFsRGlhbG9nKCJjbGllbnRzY3JpcHQvaWVwcm9tcHQuaHRt bD8iLCB7IHZhbHVlOiBkZWZhdWx0dmFsLCBsYWJlbDogZGlhbG9ndHh0LCBkaXI6 IGRvY3VtZW50LmRpciwgdGl0bGU6IGRvY3VtZW50LnRpdGxlLCBmb3JjZWx0cjog KHR5cGVvZihmb3JjZWx0cikgIT0gInVuZGVmaW5lZCIgPyBmb3JjZWx0ciA6IGZh bHNlKSB9LCAiZGlhbG9nV2lkdGg6MzIwcHg7IGRpYWxvZ0hlaWdodDoxNTBweDsg ZGlhbG9nVG9wOiIgKyAocGFyc2VJbnQod2luZG93LnNjcmVlblRvcCkgKyBwYXJz ZUludCh3aW5kb3cuZXZlbnQuY2xpZW50WSkgKyBwYXJzZUludChkb2N1bWVudC5i b2R5LnNjcm9sbFRvcCkgLSAxMDApICsgInB4OyBkaWFsb2dMZWZ0OiIgKyAocGFy c2VJbnQod2luZG93LnNjcmVlbkxlZnQpICsgcGFyc2VJbnQod2luZG93LmV2ZW50 LmNsaWVudFgpICsgcGFyc2VJbnQoZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSAt IDE2MCkgKyAicHg7IHJlc2l6YWJsZTogTm87Iik7CgkJfQoJCWVsc2UKCQl7CgkJ CXZhciByZXR1cm52YWx1ZSA9IHByb21wdChkaWFsb2d0eHQsIGRlZmF1bHR2YWwp OwoJCX0KCgkJLy8gZGVhbCB3aXRoIHVuZXhwZWN0ZWQgcmV0dXJuIHZhbHVlCgkJ aWYgKHR5cGVvZihyZXR1cm52YWx1ZSkgPT0gInVuZGVmaW5lZCIpCgkJewoJCQly ZXR1cm4gZmFsc2U7CgkJfQoJCWVsc2UgaWYgKHJldHVybnZhbHVlID09IGZhbHNl IHx8IHJldHVybnZhbHVlID09IG51bGwpCgkJewoJCQlyZXR1cm4gcmV0dXJudmFs dWU7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBQSFAudHJpbShuZXcgU3RyaW5n KHJldHVybnZhbHVlKSk7CgkJfQoJfTsKCgkvKioKCSogQ2xvc2VzIGFuIG9wZW4g cHJvbXB0IChlbXVsYXRvcikgd2luZG93IG9wZW5lZCBieSBzaG93X3Byb21wdCgp IHVuZGVyIElFNysKCSovCgl0aGlzLmNsb3NlX3Byb21wdCA9IGZ1bmN0aW9uKCkK CXsKCQlpZiAodGhpcy5wcm9tcHRfcG9wdXApCgkJewoJCQlkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgidkJfRWRpdG9yXzAwMSIpLnJlbW92ZUNoaWxkKHRoaXMucHJv bXB0X3BvcHVwKTsKCQkJdGhpcy5wcm9tcHRfcG9wdXAgPSBudWxsOwoJCX0KCgkJ dGhpcy5jaGVja19mb2N1cygpOwoJfQoKCS8qKgoJKiBWZXJpZnkgdGhlIHJldHVy biB2YWx1ZSBvZiBhIGphdmFzY3JpcHQgcHJvbXB0CgkqCgkqIEBwYXJhbQlzdHJp bmcJU3RyaW5nIHRvIGJlIGNoZWNrZWQKCSoKCSogQHJldHVybgltaXhlZAlGYWxz ZSBvbiBmYWlsLCBzdHJpbmcgb24gc3VjY2VzcwoJKi8KCXRoaXMudmVyaWZ5X3By b21wdCA9IGZ1bmN0aW9uKHN0cikKCXsKCQlzd2l0Y2goc3RyKQoJCXsKCQkJY2Fz ZSAnaHR0cDovLyc6CgkJCWNhc2UgJ251bGwnOgoJCQljYXNlICd1bmRlZmluZWQn OgoJCQljYXNlICdmYWxzZSc6CgkJCWNhc2UgJyc6CgkJCWNhc2UgbnVsbDoKCQkJ Y2FzZSBmYWxzZToKCQkJCXJldHVybiBmYWxzZTsKCgkJCWRlZmF1bHQ6CgkJCQly ZXR1cm4gc3RyOwoJCX0KCX07CgoJLyoqCgkqIE9wZW4gU21pbGllIFdpbmRvdwoJ KgoJKiBAcGFyYW0JaW50ZWdlcglXaW5kb3cgd2lkdGgKCSogQHBhcmFtCWludGVn ZXIJV2luZG93IGhlaWdodAoJKi8KCXRoaXMub3Blbl9zbWlsaWVfd2luZG93ID0g ZnVuY3Rpb24od2lkdGgsIGhlaWdodCkKCXsKCQlzbWlsaWVfd2luZG93ID0gb3Bl bldpbmRvdygnbWlzYy5waHA/JyArIFNFU1NJT05VUkwgKyAnZG89Z2V0c21pbGll cyZlZGl0b3JpZD0nICsgdGhpcy5lZGl0b3JpZCwgd2lkdGgsIGhlaWdodCwgJ3Nt aWxpZV93aW5kb3cnKTsKCgkJd2luZG93Lm9udW5sb2FkID0gdkJfVGV4dF9FZGl0 b3JfRXZlbnRzLnByb3RvdHlwZS5zbWlsaWV3aW5kb3dfb251bmxvYWQ7Cgl9CgoJ LyoqCgkqIFJlc2l6ZSBFZGl0b3IKCSoKCSogQHBhcmFtCWludGVnZXIJTnVtYmVy IG9mIHBpeGVscyBieSB3aGljaCB0byByZXNpemUgdGhlIGVkaXRvcgoJKi8KCXRo aXMucmVzaXplX2VkaXRvciA9IGZ1bmN0aW9uKGNoYW5nZSkKCXsKCQl2YXIgbmV3 aGVpZ2h0ID0gcGFyc2VJbnQodGhpcy5lZGl0Ym94LnN0eWxlLmhlaWdodCwgMTAp ICsgY2hhbmdlOwoKCQlpZiAobmV3aGVpZ2h0ID49IDEwMCkKCQl7CgkJCXRoaXMu ZWRpdGJveC5zdHlsZS5oZWlnaHQgPSBuZXdoZWlnaHQgKyAncHgnOwoKCQkJLy8g cmVtZW1iZXIgdGhlIHNldHRpbmcgZm9yIG5leHQgdGltZQoJCQlpZiAoY2hhbmdl ICUgOTkgIT0gMCkKCQkJewoJCQkJc2V0X2Nvb2tpZSgnZWRpdG9yX2hlaWdodCcs IG5ld2hlaWdodCk7CgkJCX0KCQl9Cgl9OwoKCS8qKgoJKiBEZXN0cm95IFBvcHVw CgkqLwoJdGhpcy5kZXN0cm95X3BvcHVwID0gZnVuY3Rpb24ocG9wdXBuYW1lKQoJ ewoJCXRoaXMucG9wdXBzW3BvcHVwbmFtZV0ucGFyZW50Tm9kZS5yZW1vdmVDaGls ZCh0aGlzLnBvcHVwc1twb3B1cG5hbWVdKTsKCQl0aGlzLnBvcHVwc1twb3B1cG5h bWVdID0gbnVsbDsKCX0KCgkvKioKCSogRGVzdHJveSBFZGl0b3IKCSovCgl0aGlz LmRlc3Ryb3kgPSBmdW5jdGlvbigpCgl7CgkJLy8gcmVzZXQgYWxsIGJ1dHRvbnMg dG8gZGVmYXVsdCBzdGF0ZQoJCWZvciAodmFyIGkgaW4gdGhpcy5idXR0b25zKQoJ CXsKCQkJdGhpcy5zZXRfY29udHJvbF9zdHlsZSh0aGlzLmJ1dHRvbnNbaV0sICdi dXR0b24nLCAnbm9ybWFsJyk7CgkJfQoKCQkvLyBkZXN0cm95IHBvcHVwcwoJCWZv ciAodmFyIG1lbnUgaW4gdGhpcy5wb3B1cHMpCgkJewoJCQl0aGlzLmRlc3Ryb3lf cG9wdXAobWVudSk7CgkJfQoKCQlpZiAodGhpcy5mb250b3B0aW9ucykKCQl7CgkJ CWZvciAodmFyIGkgaW4gdGhpcy5mb250b3B0aW9ucykKCQkJewoJCQkJaWYgKGkg IT0gJycpCgkJCQl7CgkJCQkJdGhpcy5mb250b3B0aW9uc1tpXS5wYXJlbnROb2Rl LnJlbW92ZUNoaWxkKHRoaXMuZm9udG9wdGlvbnNbaV0pOwoJCQkJfQoJCQl9CgkJ CXRoaXMuZm9udG9wdGlvbnNbJyddLnN0eWxlLmRpc3BsYXkgPSAnJzsKCQl9CgoJ CWlmICh0aGlzLnNpemVvcHRpb25zKQoJCXsKCQkJZm9yICh2YXIgaSBpbiB0aGlz LnNpemVvcHRpb25zKQoJCQl7CgkJCQlpZiAoaSAhPSAnJykKCQkJCXsKCQkJCQl0 aGlzLnNpemVvcHRpb25zW2ldLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5z aXplb3B0aW9uc1tpXSk7CgkJCQl9CgkJCX0KCQkJdGhpcy5zaXplb3B0aW9uc1sn J10uc3R5bGUuZGlzcGxheSA9ICcnOwoJCX0KCX07CgoJLyoqCgkqIENvbGxhcHNl IHRoZSBjdXJyZW50IHNlbGVjdGlvbiBhbmQgcGxhY2UgdGhlIGN1cnNvciB3aGVy ZSB0aGUgZW5kIG9mIHRoZQoJKiBzZWxlY3Rpb24gd2FzLgoJKi8KCXRoaXMuY29s bGFwc2Vfc2VsZWN0aW9uX2VuZCA9IGZ1bmN0aW9uKCkKCXsKCQlpZiAodGhpcy5l ZGl0ZG9jLnNlbGVjdGlvbikKCQl7CgkJCXZhciByYW5nZSA9IHRoaXMuZWRpdGRv Yy5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsKCQkJLy8gZml4IGZvciBob3JyaWJs eSBjb25mdXNpbmcgSUUgYnVnIHdoZXJlIGl0IHJhbmRvbWx5IG1ha2VzIHRleHQg d2hpdGUgZm9yIGZ1bnNpZXMKCQkJLy8gc2VlIDMuNSBidWcgIzI3OQoJCQlldmFs KCJyYW5nZS4iICsgIm1vdmUiICsgIignY2hhcmFjdGVyJywgLTEpOyIpOwoJCQly YW5nZS5jb2xsYXBzZShmYWxzZSk7CgkJCXJhbmdlLnNlbGVjdCgpOwoJCX0KCQll bHNlIGlmIChkb2N1bWVudC5zZWxlY3Rpb24gJiYgZG9jdW1lbnQuc2VsZWN0aW9u LmNyZWF0ZVJhbmdlKQoJCXsKCQkJdmFyIHJhbmdlID0gZG9jdW1lbnQuc2VsZWN0 aW9uLmNyZWF0ZVJhbmdlKCk7CgkJCXJhbmdlLmNvbGxhcHNlKGZhbHNlKTsKCQkJ cmFuZ2Uuc2VsZWN0KCk7CgkJfQoJCWVsc2UgaWYgKHR5cGVvZih0aGlzLmVkaXRk b2Muc2VsZWN0aW9uU3RhcnQpICE9ICd1bmRlZmluZWQnKQoJCXsKCQkJdmFyIG9w biA9IHRoaXMuZWRpdGRvYy5zZWxlY3Rpb25TdGFydCArIDA7CgkJCXZhciBzZWxf dGV4dCA9IHRoaXMuZWRpdGRvYy52YWx1ZS5zdWJzdHIodGhpcy5lZGl0ZG9jLnNl bGVjdGlvblN0YXJ0LCB0aGlzLmVkaXRkb2Muc2VsZWN0aW9uRW5kIC0gdGhpcy5l ZGl0ZG9jLnNlbGVjdGlvblN0YXJ0KTsKCgkJCXRoaXMuZWRpdGRvYy5zZWxlY3Rp b25TdGFydCA9IHRoaXMuZWRpdGRvYy5zZWxlY3Rpb25TdGFydCArIHNlbF90ZXh0 LnZCbGVuZ3RoKCk7CgkJfQoJCWVsc2UgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24p CgkJewoJCQkvLyBkb24ndCB0aGluayBJIGNhbiBkbyBhbnl0aGluZyBmb3IgdGhp cwoJCX0KCX0KCgkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJLy8g V1lTSVdZRyBlZGl0b3IKCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CglpZiAodGhpcy53eXNpd3lnX21vZGUpCgl7CgkJLyoqCgkJKiBEaXNhYmxlcyB0 aGUgZWRpdG9yCgkJKgoJCSogQHBhcmFtCXN0cmluZwlJbml0aWFsIHRleHQgZm9y IHRoZSBlZGl0b3IKCQkqLwoJCXRoaXMuZGlzYWJsZV9lZGl0b3IgPSBmdW5jdGlv bih0ZXh0KQoJCXsKCQkJaWYgKCF0aGlzLmRpc2FibGVkKQoJCQl7CgkJCQl0aGlz LmRpc2FibGVkID0gdHJ1ZTsKCgkJCQl2YXIgaGlkZXIgPSBmZXRjaF9vYmplY3Qo dGhpcy5lZGl0b3JpZCArICdfaGlkZXInKTsKCQkJCWlmIChoaWRlcikKCQkJCXsK CQkJCQloaWRlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGhpZGVyKTsKCQkJCX0K CgkJCQl2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgkJ CQlkaXYuaWQgPSB0aGlzLmVkaXRvcmlkICsgJ19oaWRlcic7CgkJCQlkaXYuY2xh c3NOYW1lID0gJ3d5c2l3eWcnOwoJCQkJZGl2LnN0eWxlLmJvcmRlciA9ICcycHgg aW5zZXQnOwoJCQkJZGl2LnN0eWxlLndpZHRoID0gdGhpcy5lZGl0Ym94LnN0eWxl LndpZHRoOwoJCQkJZGl2LnN0eWxlLmhlaWdodCA9IHRoaXMuZWRpdGJveC5zdHls ZS5oZWlnaHQ7CgkJCQl2YXIgY2hpbGRkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt ZW50KCdkaXYnKTsKCQkJCWNoaWxkZGl2LnN0eWxlLm1hcmdpbiA9ICc4cHgnOwoJ CQkJY2hpbGRkaXYuaW5uZXJIVE1MID0gdGV4dDsKCQkJCWRpdi5hcHBlbmRDaGls ZChjaGlsZGRpdik7CgkJCQl0aGlzLmVkaXRib3gucGFyZW50Tm9kZS5hcHBlbmRD aGlsZChkaXYpOwoKCQkJCS8vIGFuZCBoaWRlIHRoZSByZWFsIGVkaXRvcgoJCQkJ dGhpcy5lZGl0Ym94LnN0eWxlLndpZHRoID0gJzBweCc7CgkJCQl0aGlzLmVkaXRi b3guc3R5bGUuaGVpZ2h0ID0gJzBweCc7CgkJCQl0aGlzLmVkaXRib3guc3R5bGUu Ym9yZGVyID0gJ25vbmUnOwoJCQl9CgkJfTsKCgkJLyoqCgkJKiBFbmFibGVzIHRo ZSBlZGl0b3IKCQkqCgkJKiBAcGFyYW0Jc3RyaW5nCUluaXRpYWwgdGV4dCBmb3Ig dGhlIGVkaXRvcgoJCSovCgkJdGhpcy5lbmFibGVfZWRpdG9yID0gZnVuY3Rpb24o dGV4dCkKCQl7CgkJCWlmICh0eXBlb2YgdGV4dCAhPSAndW5kZWZpbmVkJykKCQkJ ewoJCQkJdGhpcy5zZXRfZWRpdG9yX2NvbnRlbnRzKHRleHQpOwoJCQl9CgoJCQl2 YXIgaGlkZXIgPSBmZXRjaF9vYmplY3QodGhpcy5lZGl0b3JpZCArICdfaGlkZXIn KTsKCQkJaWYgKGhpZGVyKQoJCQl7CgkJCQloaWRlci5wYXJlbnROb2RlLnJlbW92 ZUNoaWxkKGhpZGVyKTsKCQkJfQoKCQkJdGhpcy5kaXNhYmxlZCA9IGZhbHNlOwoJ CX07CgoJCS8qKgoJCSogUHV0cyB0aGUgdGV4dCBpbnRvIHRoZSBlZGl0b3IKCQkq CgkJKiBAcGFyYW0Jc3RyaW5nCVRleHQgdG8gd3JpdGUKCQkqLwoJCXRoaXMud3Jp dGVfZWRpdG9yX2NvbnRlbnRzID0gZnVuY3Rpb24odGV4dCwgZG9pbml0KQoJCXsK CQkJaWYgKHRleHQgPT0gJycpCgkJCXsKCQkJCWlmIChpc19pZSkKCQkJCXsKCQkJ CQl0ZXh0ID0gJzxwPjwvcD4nOwoJCQkJfQoJCQkJZWxzZSBpZiAoaXNfbW96KQoJ CQkJewoJCQkJCXRleHQgPSAnPGJyIC8+JzsKCQkJCX0KCQkJfQoJCQlpZiAodGhp cy5lZGl0ZG9jICYmIHRoaXMuZWRpdGRvYy5pbml0aWFsaXplZCkKCQkJewoJCQkJ dGhpcy5lZGl0ZG9jLmJvZHkuaW5uZXJIVE1MID0gdGV4dDsKCQkJfQoJCQllbHNl CgkJCXsKCQkJCS8vIEZvcmNlIEZpcmVmb3ggMS4wIHRvIHJ1biBpdCBoZXJlIGFu ZCBGaXJlZm94IDEuNSsgbGF0ZXIgb24sIHNlZSBCdWcgIzIyNjYxCgkJCQlpZiAo ZG9pbml0ICYmIHR5cGVvZiBBcnJheS5wcm90b3R5cGUubWFwID09ICd1bmRlZmlu ZWQnKSB7IHRoaXMuZWRpdGRvYy5kZXNpZ25Nb2RlID0gJ29uJzsgfQoJCQkJdGhp cy5lZGl0ZG9jID0gdGhpcy5lZGl0d2luLmRvY3VtZW50OyAvLyBTZWU6IGh0dHA6 Ly9tc2RuLm1pY3Jvc29mdC5jb20vd29ya3Nob3AvYXV0aG9yL2RodG1sL292ZXJ2 aWV3L1hwU3AyQ29tcGF0LmFzcCNjYWNoaW5nCgkJCQl0aGlzLmVkaXRkb2Mub3Bl bigndGV4dC9odG1sJywgJ3JlcGxhY2UnKTsKCQkJCXRoaXMuZWRpdGRvYy53cml0 ZSh0ZXh0KTsKCQkJCXRoaXMuZWRpdGRvYy5jbG9zZSgpOwoJCQkJaWYgKGRvaW5p dCkKCQkJCXsKCQkJCQl0aGlzLmVkaXRkb2MuYm9keS5jb250ZW50RWRpdGFibGUg PSB0cnVlOwoJCQkJCWlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLm1hcCAhPSAn dW5kZWZpbmVkJykKCQkJCQl7CgkJCQkJCXRoaXMuZWRpdGRvYy5kZXNpZ25Nb2Rl ID0gJ29uJzsKCQkJCQl9CgkJCQl9CgkJCQl0aGlzLmVkaXRkb2MuYm9keS5zcGVs bGNoZWNrID0gdHJ1ZTsKCgkJCQl0aGlzLmVkaXRkb2MuaW5pdGlhbGl6ZWQgPSB0 cnVlOwoKCQkJCXRoaXMuc2V0X2VkaXRvcl9zdHlsZSgpOwoJCQl9CgoJCQl0aGlz LnNldF9kaXJlY3Rpb24oKTsKCQl9CgoJCS8qKgoJCSogUHV0IHRoZSB0ZXh0IGlu dG8gdGhlIGVkaXRvcgoJCSovCgkJdGhpcy5zZXRfZWRpdG9yX2NvbnRlbnRzID0g ZnVuY3Rpb24oaW5pdGlhbF90ZXh0KQoJCXsKCQkJaWYgKGZldGNoX29iamVjdCh0 aGlzLmVkaXRvcmlkICsgJ19pZnJhbWUnKSkKCQkJewoJCQkJdGhpcy5lZGl0Ym94 ID0gZmV0Y2hfb2JqZWN0KHRoaXMuZWRpdG9yaWQgKyAnX2lmcmFtZScpOwoJCQl9 CgkJCWVsc2UKCQkJewoJCQkJdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoJ2lmcmFtZScpOwoJCQkJaWYgKGlzX2llICYmIHdpbmRvdy5sb2NhdGlv bi5wcm90b2NvbCA9PSAnaHR0cHM6JykKCQkJCXsKCQkJCQkvLyB3b3JrYXJvdW5k IGZvciBJRSB0aHJvd2luZyBpbnNlY3VyZSBwYWdlIHdhcm5pbmdzCgkJCQkJaWZy YW1lLnNyYyA9ICdjbGllbnRzY3JpcHQvaW5kZXguaHRtbCc7CgkJCQl9CgkJCQl0 aGlzLmVkaXRib3ggPSB0aGlzLnRleHRvYmoucGFyZW50Tm9kZS5hcHBlbmRDaGls ZChpZnJhbWUpOwoJCQkJdGhpcy5lZGl0Ym94LmlkID0gdGhpcy5lZGl0b3JpZCAr ICdfaWZyYW1lJzsKCQkJCXRoaXMuZWRpdGJveC50YWJJbmRleCA9IDE7CgkJCX0K CgkJCWlmICghaXNfaWUpCgkJCXsKCQkJCXRoaXMuZWRpdGJveC5zdHlsZS5ib3Jk ZXIgPSAnMnB4IGluc2V0JzsKCQkJfQoJCQl0aGlzLmVkaXRib3guc3R5bGUud2lk dGggPSB0aGlzLnRleHRvYmouc3R5bGUud2lkdGg7CgkJCXRoaXMuZWRpdGJveC5z dHlsZS5oZWlnaHQgPSB0aGlzLnRleHRvYmouc3R5bGUuaGVpZ2h0OwoJCQl0aGlz LnRleHRvYmouc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCgkJCXRoaXMuZWRpdHdp biA9IHRoaXMuZWRpdGJveC5jb250ZW50V2luZG93OwoJCQl0aGlzLmVkaXRkb2Mg PSB0aGlzLmVkaXR3aW4uZG9jdW1lbnQ7CgoJCQl0aGlzLndyaXRlX2VkaXRvcl9j b250ZW50cygodHlwZW9mIGluaXRpYWxfdGV4dCA9PSAndW5kZWZpbmVkJyA/ICB0 aGlzLnRleHRvYmoudmFsdWUgOiBpbml0aWFsX3RleHQpLCB0cnVlKTsKCgkJCWlm ICh0aGlzLmVkaXRkb2MuZGlyID09ICdydGwnKQoJCQl7CgkJCS8vCXRoaXMuZWRp dGRvYy5leGVjQ29tbWFuZCgnanVzdGlmeXJpZ2h0JywgZmFsc2UsIG51bGwpOwoJ CQl9CgkJCXRoaXMuc3BlbGxvYmogPSB0aGlzLmVkaXRkb2MuYm9keTsKCgkJCXRo aXMuZWRpdGRvYy5lZGl0b3JpZCA9IHRoaXMuZWRpdG9yaWQ7CgkJCXRoaXMuZWRp dHdpbi5lZGl0b3JpZCA9IHRoaXMuZWRpdG9yaWQ7CgkJfTsKCgkJLyoqCgkJKiBT ZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBmb3IgdGhlIGVkaXRvcgoJCSovCgkJdGhp cy5zZXRfZGlyZWN0aW9uID0gZnVuY3Rpb24oKQoJCXsKCQkJdGhpcy5lZGl0ZG9j LmRpciA9IHRoaXMudGV4dG9iai5kaXI7CgkJfTsKCgkJLyoqCgkJKiBTZXQgdGhl IENTUyBzdHlsZSBvZiB0aGUgZWRpdG9yCgkJKi8KCQl0aGlzLnNldF9lZGl0b3Jf c3R5bGUgPSBmdW5jdGlvbigpCgkJewoJCQlpZiAoZG9jdW1lbnQuc3R5bGVTaGVl dHNbJ3ZidWxsZXRpbl9jc3MnXSkKCQkJewoJCQkJdGhpcy5lZGl0ZG9jLmNyZWF0 ZVN0eWxlU2hlZXQoKS5jc3NUZXh0ID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbJ3Zi dWxsZXRpbl9jc3MnXS5jc3NUZXh0ICsgJyBwIHsgbWFyZ2luOiAwcHg7IH0nOwoJ CQkJdGhpcy5lZGl0ZG9jLmJvZHkuY2xhc3NOYW1lID0gJ3d5c2l3eWcnOwoJCQl9 CgkJfTsKCgkJLyoqCgkJKiBJbml0IEVkaXRvciBGdW5jdGlvbnMKCQkqLwoJCXRo aXMuc2V0X2VkaXRvcl9mdW5jdGlvbnMgPSBmdW5jdGlvbigpCgkJewoJCQl0aGlz LmVkaXRkb2Mub25tb3VzZXVwID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3Rv dHlwZS5lZGl0ZG9jX29ubW91c2V1cDsKCQkJdGhpcy5lZGl0ZG9jLm9ua2V5dXAg PSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmVkaXRkb2Nfb25rZXl1 cDsKCgkJCWlmICh0aGlzLmVkaXRkb2MuYXR0YWNoRXZlbnQpCgkJCXsKCQkJCXRo aXMuZWRpdGRvYy5ib2R5LmF0dGFjaEV2ZW50KCJvbnJlc2l6ZXN0YXJ0IiwgdkJf VGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5lZGl0ZG9jX29ucmVzaXplc3Rh cnQpOwoJCQl9CgoJCQl0aGlzLmVkaXR3aW4ub25mb2N1cyA9IHZCX1RleHRfRWRp dG9yX0V2ZW50cy5wcm90b3R5cGUuZWRpdHdpbl9vbmZvY3VzOwoJCQl0aGlzLmVk aXR3aW4ub25ibHVyID0gdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5l ZGl0d2luX29uYmx1cjsKCQl9OwoKCQkvKioKCQkqIFNldCBDb250ZXh0CgkJKi8K CQl0aGlzLnNldF9jb250ZXh0ID0gZnVuY3Rpb24oY21kKQoJCXsKCQkJZm9yICh2 YXIgaSBpbiBjb250ZXh0Y29udHJvbHMpCgkJCXsKCQkJCXZhciBvYmogPSBmZXRj aF9vYmplY3QodGhpcy5lZGl0b3JpZCArICdfY21kXycgKyBjb250ZXh0Y29udHJv bHNbaV0pOwoJCQkJaWYgKG9iaiAhPSBudWxsKQoJCQkJewoJCQkJCXZhciBzdGF0 ZSA9IHRoaXMuZWRpdGRvYy5xdWVyeUNvbW1hbmRTdGF0ZShjb250ZXh0Y29udHJv bHNbaV0pOwoJCQkJCS8vYWxlcnQgKGNvbnRleHRjb250cm9sc1tpXSArICcgJyAr IHN0YXRlICsgJyAnICsgb2JqLnN0YXRlKTsKCQkJCQlpZiAob2JqLnN0YXRlICE9 IHN0YXRlKQoJCQkJCXsKCQkJCQkJb2JqLnN0YXRlID0gc3RhdGU7CgkJCQkJCXRo aXMuYnV0dG9uX2NvbnRleHQob2JqLCAob2JqLmNtZCA9PSBjbWQgPyAnbW91c2Vv dmVyJyA6ICdtb3VzZW91dCcpKTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCXRoaXMu c2V0X2ZvbnRfY29udGV4dCgpOwoKCQkJdGhpcy5zZXRfc2l6ZV9jb250ZXh0KCk7 CgoJCQl0aGlzLnNldF9jb2xvcl9jb250ZXh0KCk7CgkJfTsKCgkJLyoqCgkJKiBT ZXQgRm9udCBDb250ZXh0CgkJKi8KCQl0aGlzLnNldF9mb250X2NvbnRleHQgPSBm dW5jdGlvbihmb250c3RhdGUpCgkJewoJCQlpZiAodGhpcy5idXR0b25zWydmb250 bmFtZSddKQoJCQl7CgkJCQlpZiAodHlwZW9mIGZvbnRzdGF0ZSA9PSAndW5kZWZp bmVkJykKCQkJCXsKCQkJCQlmb250c3RhdGUgPSB0aGlzLmVkaXRkb2MucXVlcnlD b21tYW5kVmFsdWUoJ2ZvbnRuYW1lJyk7CgkJCQl9CgkJCQlzd2l0Y2ggKGZvbnRz dGF0ZSkKCQkJCXsKCQkJCQljYXNlICcnOgoJCQkJCXsKCQkJCQkJaWYgKCFpc19p ZSAmJiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSkKCQkJCQkJewoJCQkJCQkJZm9u dHN0YXRlID0gdGhpcy5lZGl0ZG9jLmJvZHkuc3R5bGUuZm9udEZhbWlseTsKCQkJ CQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCgkJCQkJY2FzZSBudWxsOgoJCQkJCXsK CQkJCQkJZm9udHN0YXRlID0gJyc7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJfQoK CQkJCWlmIChmb250c3RhdGUgIT0gdGhpcy5mb250c3RhdGUpCgkJCQl7CgkJCQkJ dGhpcy5mb250c3RhdGUgPSBmb250c3RhdGU7CgkJCQkJdmFyIHRoaW5neSA9IFBI UC51Y2ZpcnN0KHRoaXMuZm9udHN0YXRlLCAnLCcpOwoKCQkJCQlpZiAodGhpcy5w b3B1cG1vZGUpCgkJCQkJewoJCQkJCQlmb3IgKHZhciBpIGluIHRoaXMuZm9udG9w dGlvbnMpCgkJCQkJCXsKCQkJCQkJCXRoaXMuZm9udG9wdGlvbnNbaV0uc3R5bGUu ZGlzcGxheSA9IChpID09IHRoaW5neSA/ICcnIDogJ25vbmUnKTsKCQkJCQkJfQoJ CQkJCX0KCQkJCQllbHNlCgkJCQkJewoJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8 IHRoaXMuYnV0dG9uc1snZm9udG5hbWUnXS5vcHRpb25zLmxlbmd0aDsgaSsrKQoJ CQkJCQl7CgkJCQkJCQlpZiAodGhpcy5idXR0b25zWydmb250bmFtZSddLm9wdGlv bnNbaV0udmFsdWUgPT0gdGhpbmd5KQoJCQkJCQkJewoJCQkJCQkJCXRoaXMuYnV0 dG9uc1snZm9udG5hbWUnXS5zZWxlY3RlZEluZGV4ID0gaTsKCQkJCQkJCQlicmVh azsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX07CgoJCS8q KgoJCSogU2V0IFNpemUgQ29udGV4dAoJCSovCgkJdGhpcy5zZXRfc2l6ZV9jb250 ZXh0ID0gZnVuY3Rpb24oc2l6ZXN0YXRlKQoJCXsKCQkJaWYgKHRoaXMuYnV0dG9u c1snZm9udHNpemUnXSkKCQkJewoJCQkJaWYgKHR5cGVvZiBzaXplc3RhdGUgPT0g J3VuZGVmaW5lZCcpCgkJCQl7CgkJCQkJc2l6ZXN0YXRlID0gdGhpcy5lZGl0ZG9j LnF1ZXJ5Q29tbWFuZFZhbHVlKCdmb250c2l6ZScpOwoJCQkJfQoJCQkJc3dpdGNo IChzaXplc3RhdGUpCgkJCQl7CgkJCQkJY2FzZSBudWxsOgoJCQkJCWNhc2UgJyc6 CgkJCQkJewoJCQkJCQlpZiAoaXNfbW96KQoJCQkJCQl7CgkJCQkJCQlzaXplc3Rh dGUgPSB0aGlzLnRyYW5zbGF0ZV9mb250c2l6ZSh0aGlzLmVkaXRkb2MuYm9keS5z dHlsZS5mb250U2l6ZSk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQl9 CgkJCQlpZiAoc2l6ZXN0YXRlICE9IHRoaXMuc2l6ZXN0YXRlKQoJCQkJewoJCQkJ CXRoaXMuc2l6ZXN0YXRlID0gc2l6ZXN0YXRlOwoKCQkJCQlpZiAodGhpcy5wb3B1 cG1vZGUpCgkJCQkJewoJCQkJCQlmb3IgKHZhciBpIGluIHRoaXMuc2l6ZW9wdGlv bnMpCgkJCQkJCXsKCQkJCQkJCXRoaXMuc2l6ZW9wdGlvbnNbaV0uc3R5bGUuZGlz cGxheSA9IChpID09IHRoaXMuc2l6ZXN0YXRlID8gJycgOiAnbm9uZScpOwoJCQkJ CQl9CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWZvciAodmFyIGkgPSAw OyBpIDwgdGhpcy5idXR0b25zWydmb250c2l6ZSddLm9wdGlvbnMubGVuZ3RoOyBp KyspCgkJCQkJCXsKCQkJCQkJCWlmICh0aGlzLmJ1dHRvbnNbJ2ZvbnRzaXplJ10u b3B0aW9uc1tpXS52YWx1ZSA9PSB0aGlzLnNpemVzdGF0ZSkKCQkJCQkJCXsKCQkJ CQkJCQl0aGlzLmJ1dHRvbnNbJ2ZvbnRzaXplJ10uc2VsZWN0ZWRJbmRleCA9IGk7 CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJ CX0KCQl9OwoKCQkvKioKCQkqIFNldCBDb2xvciBDb250ZXh0CgkJKi8KCQl0aGlz LnNldF9jb2xvcl9jb250ZXh0ID0gZnVuY3Rpb24oY29sb3JzdGF0ZSkKCQl7CgkJ CWlmICh0aGlzLmJ1dHRvbnNbJ2ZvcmVjb2xvciddKQoJCQl7CgkJCQlpZiAodHlw ZW9mIGNvbG9yc3RhdGUgPT0gJ3VuZGVmaW5lZCcpCgkJCQl7CgkJCQkJY29sb3Jz dGF0ZSA9IHRoaXMuZWRpdGRvYy5xdWVyeUNvbW1hbmRWYWx1ZSgnZm9yZWNvbG9y Jyk7CgkJCQl9CgkJCQlpZiAoY29sb3JzdGF0ZSAhPSB0aGlzLmNvbG9yc3RhdGUp CgkJCQl7CgkJCQkJaWYgKHRoaXMucG9wdXBtb2RlKQoJCQkJCXsKCQkJCQkJdmFy IG9iaiA9IGZldGNoX29iamVjdCh0aGlzLmVkaXRvcmlkICsgJ19jb2xvcl8nICsg dGhpcy50cmFuc2xhdGVfY29sb3JfY29tbWFuZHZhbHVlKHRoaXMuY29sb3JzdGF0 ZSkpOwoJCQkJCQlpZiAob2JqICE9IG51bGwpCgkJCQkJCXsKCQkJCQkJCW9iai5z dGF0ZSA9IGZhbHNlOwoJCQkJCQkJdGhpcy5idXR0b25fY29udGV4dChvYmosICdt b3VzZW91dCcsICdtZW51Jyk7CgkJCQkJCX0KCgkJCQkJCXRoaXMuY29sb3JzdGF0 ZSA9IGNvbG9yc3RhdGU7CgoJCQkJCQllbG1pZCA9IHRoaXMuZWRpdG9yaWQgKyAn X2NvbG9yXycgKyB0aGlzLnRyYW5zbGF0ZV9jb2xvcl9jb21tYW5kdmFsdWUoY29s b3JzdGF0ZSk7CgkJCQkJCXZhciBvYmogPSBmZXRjaF9vYmplY3QoZWxtaWQpOwoJ CQkJCQlpZiAob2JqICE9IG51bGwpCgkJCQkJCXsKCQkJCQkJCW9iai5zdGF0ZSA9 IHRydWU7CgkJCQkJCQl0aGlzLmJ1dHRvbl9jb250ZXh0KG9iaiwgJ21vdXNlb3V0 JywgJ21lbnUnKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQllbHNlCgkJCQkJewoJCQkJ CQl0aGlzLmNvbG9yc3RhdGUgPSBjb2xvcnN0YXRlOwoKCQkJCQkJY29sb3JzdGF0 ZSA9IHRoaXMudHJhbnNsYXRlX2NvbG9yX2NvbW1hbmR2YWx1ZSh0aGlzLmNvbG9y c3RhdGUpOwoKCQkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJ1dHRvbnNb J2ZvcmVjb2xvciddLm9wdGlvbnMubGVuZ3RoOyBpKyspCgkJCQkJCXsKCQkJCQkJ CWlmICh0aGlzLmJ1dHRvbnNbJ2ZvcmVjb2xvciddLm9wdGlvbnNbaV0udmFsdWUg PT0gY29sb3JzdGF0ZSkKCQkJCQkJCXsKCQkJCQkJCQl0aGlzLmJ1dHRvbnNbJ2Zv cmVjb2xvciddLnNlbGVjdGVkSW5kZXggPSBpOwoJCQkJCQkJCWJyZWFrOwoJCQkJ CQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfTsKCgkJLyoqCgkJKiBG dW5jdGlvbiB0byB0cmFuc2xhdGUgdGhlIG91dHB1dCBmcm9tIHF1ZXJ5Q29tbWFu ZFN0YXRlKCdmb3JlY29sb3InKSBpbnRvIHNvbWV0aGluZyB1c2VmdWwKCQkqCgkJ KiBAcGFyYW0Jc3RyaW5nCU91dHB1dCBmcm9tIHF1ZXJ5Q29tbWFuZFN0YXRlKCdm b3JlY29sb3InKQoJCSoKCQkqIEByZXR1cm4Jc3RyaW5nCgkJKi8KCQl0aGlzLnRy YW5zbGF0ZV9jb2xvcl9jb21tYW5kdmFsdWUgPSBmdW5jdGlvbihmb3JlY29sb3Ip CgkJewoJCQlyZXR1cm4gdGhpcy50cmFuc2xhdGVfc2lsbHlfaGV4KChmb3JlY29s b3IgJiAweEZGKS50b1N0cmluZygxNiksICgoZm9yZWNvbG9yID4+IDgpICYgMHhG RikudG9TdHJpbmcoMTYpLCAoKGZvcmVjb2xvciA+PiAxNikgJiAweEZGKS50b1N0 cmluZygxNikpOwoJCX07CgoJCS8qKgoJCSogRnVuY3Rpb24gdG8gdHJhbnNsYXRl IGEgaGV4IGxpa2UgRiBBQiA5IHRvICMwRkFCMDkgYW5kIHRoZW4gdG8gY29sb3Jv cHRpb25zWycjMEZBQjA5J10KCQkqCgkJKiBAcGFyYW0Jc3RyaW5nCVJlZCB2YWx1 ZQoJCSogQHBhcmFtCXN0cmluZwlHcmVlbiB2YWx1ZQoJCSogQHBhcmFtCXN0cmlu ZwlCbHVlIHZhbHVlCgkJKgoJCSogQHJldHVybglzdHJpbmcJT3B0aW9uIGZyb20g Y29sb3JvcHRpb25zIGFycmF5CgkJKi8KCQl0aGlzLnRyYW5zbGF0ZV9zaWxseV9o ZXggPSBmdW5jdGlvbihyLCBnLCBiKQoJCXsKCQkJcmV0dXJuIGNvbG9yb3B0aW9u c1snIycgKyAoUEhQLnN0cl9wYWQociwgMiwgMCkgKyBQSFAuc3RyX3BhZChnLCAy LCAwKSArIFBIUC5zdHJfcGFkKGIsIDIsIDApKS50b1VwcGVyQ2FzZSgpXTsKCQl9 OwoKCQkvKioKCQkqIEFwcGx5IEZvcm1hdHRpbmcKCQkqLwoJCXRoaXMuYXBwbHlf Zm9ybWF0ID0gZnVuY3Rpb24oY21kLCBkaWFsb2csIGFyZ3VtZW50KQoJCXsKCQkJ dGhpcy5lZGl0ZG9jLmV4ZWNDb21tYW5kKGNtZCwgKHR5cGVvZiBkaWFsb2cgPT0g J3VuZGVmaW5lZCcgPyBmYWxzZSA6IGRpYWxvZyksICh0eXBlb2YgYXJndW1lbnQg PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogYXJndW1lbnQpKTsKCQkJcmV0dXJuIGZh bHNlOwoJCX07CgoJCS8qKgoJCSogSW5zZXJ0IExpbmsKCQkqLwoJCXRoaXMuY3Jl YXRlbGluayA9IGZ1bmN0aW9uKGUsIHVybCkKCQl7CgkJCXJldHVybiB0aGlzLmFw cGx5X2Zvcm1hdCgnY3JlYXRlbGluaycsIGlzX2llLCAodHlwZW9mIHVybCA9PSAn dW5kZWZpbmVkJyA/IHRydWUgOiB1cmwpKTsKCQl9OwoKCQkvKioKCQkqIEluc2Vy dCBFbWFpbCBMaW5rCgkJKi8KCQl0aGlzLmVtYWlsID0gZnVuY3Rpb24oZSwgZW1h aWwpCgkJewoJCQlpZiAodHlwZW9mIGVtYWlsID09ICd1bmRlZmluZWQnKQoJCQl7 CgkJCQllbWFpbCA9IHRoaXMuc2hvd19wcm9tcHQodmJwaHJhc2VbJ2VudGVyX2Vt YWlsX2xpbmsnXSwgJycsIHRydWUpOwoJCQl9CgoJCQllbWFpbCA9IHRoaXMudmVy aWZ5X3Byb21wdChlbWFpbCk7CgoJCQlpZiAoZW1haWwgPT09IGZhbHNlKQoJCQl7 CgkJCQlyZXR1cm4gdGhpcy5hcHBseV9mb3JtYXQoJ3VubGluaycpOwoJCQl9CgkJ CWVsc2UKCQkJewoJCQkJdmFyIHNlbGVjdGlvbiA9IHRoaXMuZ2V0X3NlbGVjdGlv bigpOwoJCQkJcmV0dXJuIHRoaXMuaW5zZXJ0X3RleHQoJzxhIGhyZWY9Im1haWx0 bzonICsgZW1haWwgKyAnIj4nICsgKHNlbGVjdGlvbiA/IHNlbGVjdGlvbiA6IGVt YWlsKSArICc8L2E+JywgKHNlbGVjdGlvbiA/IHRydWUgOiBmYWxzZSkpOwoJCQl9 CgkJfTsKCgkJLyoqCgkJKiBJbnNlcnQgU21pbGllCgkJKi8KCQl0aGlzLmluc2Vy dF9zbWlsaWUgPSBmdW5jdGlvbihlLCBzbWlsaWV0ZXh0LCBzbWlsaWVwYXRoLCBz bWlsaWVpZCkKCQl7CgkJCXRoaXMuY2hlY2tfZm9jdXMoKTsKCgkJCXJldHVybiB0 aGlzLmluc2VydF90ZXh0KCc8aW1nIHNyYz0iJyArIHNtaWxpZXBhdGggKyAnIiBi b3JkZXI9IjAiIGFsdD0iMCIgc21pbGllaWQ9IicgKyBzbWlsaWVpZCArICciIC8+ JywgZmFsc2UpOwoJCX07CgoJCS8qKgoJCSogR2V0IEVkaXRvciBDb250ZW50cwoJ CSovCgkJdGhpcy5nZXRfZWRpdG9yX2NvbnRlbnRzID0gZnVuY3Rpb24oKQoJCXsK CQkJcmV0dXJuIHRoaXMuZWRpdGRvYy5ib2R5LmlubmVySFRNTDsKCQl9OwoKCQkv KioKCQkqIEdldCBTZWxlY3RlZCBUZXh0CgkJKi8KCQl0aGlzLmdldF9zZWxlY3Rp b24gPSBmdW5jdGlvbigpCgkJewoJCQl2YXIgcmFuZ2UgPSB0aGlzLmVkaXRkb2Mu c2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7CgkJCWlmIChyYW5nZS5odG1sVGV4dCAm JiByYW5nZS50ZXh0KQoJCQl7CgkJCQlyZXR1cm4gcmFuZ2UuaHRtbFRleHQ7CgkJ CX0KCQkJZWxzZQoJCQl7CgkJCQl2YXIgZG9fbm90X3N0ZWFsX3RoaXNfY29kZV9o dG1sID0gJyc7CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlLmxlbmd0aDsg aSsrKQoJCQkJewoJCQkJCWRvX25vdF9zdGVhbF90aGlzX2NvZGVfaHRtbCArPSBy YW5nZS5pdGVtKGkpLm91dGVySFRNTDsKCQkJCX0KCQkJCXJldHVybiBkb19ub3Rf c3RlYWxfdGhpc19jb2RlX2h0bWw7CgkJCX0KCQl9OwoKCQkvKioKCQkqIFBhc3Rl IEhUTUwKCQkqLwoJCXRoaXMuaW5zZXJ0X3RleHQgPSBmdW5jdGlvbih0ZXh0LCBt b3Zlc3RhcnQsIG1vdmVlbmQpCgkJewoJCQl0aGlzLmNoZWNrX2ZvY3VzKCk7CgoJ CQlpZiAodHlwZW9mKHRoaXMuZWRpdGRvYy5zZWxlY3Rpb24pICE9ICd1bmRlZmlu ZWQnICYmIHRoaXMuZWRpdGRvYy5zZWxlY3Rpb24udHlwZSAhPSAnVGV4dCcgJiYg dGhpcy5lZGl0ZG9jLnNlbGVjdGlvbi50eXBlICE9ICdOb25lJykKCQkJewoJCQkJ bW92ZXN0YXJ0ID0gZmFsc2U7CgkJCQl0aGlzLmVkaXRkb2Muc2VsZWN0aW9uLmNs ZWFyKCk7CgkJCX0KCgkJCXZhciBzZWwgPSB0aGlzLmVkaXRkb2Muc2VsZWN0aW9u LmNyZWF0ZVJhbmdlKCk7CgkJCXNlbC5wYXN0ZUhUTUwodGV4dCk7CgoJCQlpZiAo dGV4dC5pbmRleE9mKCdcbicpID09IC0xKQoJCQl7CgkJCQlpZiAobW92ZXN0YXJ0 ID09PSBmYWxzZSkKCQkJCXsKCQkJCQkvLyBkbyBub3RoaW5nCgkJCQl9CgkJCQll bHNlIGlmICh0eXBlb2YgbW92ZXN0YXJ0ICE9ICd1bmRlZmluZWQnKQoJCQkJewoJ CQkJCXNlbC5tb3ZlU3RhcnQoJ2NoYXJhY3RlcicsIC10ZXh0LnZCbGVuZ3RoKCkg K21vdmVzdGFydCk7CgkJCQkJc2VsLm1vdmVFbmQoJ2NoYXJhY3RlcicsIC1tb3Zl ZW5kKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlzZWwubW92ZVN0YXJ0KCdj aGFyYWN0ZXInLCAtdGV4dC52Qmxlbmd0aCgpKTsKCQkJCX0KCQkJCXNlbC5zZWxl Y3QoKTsKCQkJfQoJCX07CgoJCS8qKgoJCSogUHJlcGFyZSBGb3JtIEZvciBTdWJt aXQKCQkqLwoJCXRoaXMucHJlcGFyZV9zdWJtaXQgPSBmdW5jdGlvbihzdWJqZWN0 dGV4dCwgbWluY2hhcnMpCgkJewoJCQl0aGlzLnRleHRvYmoudmFsdWUgPSB0aGlz LmdldF9lZGl0b3JfY29udGVudHMoKTsKCgkJCXZhciByZXR1cm52YWx1ZSA9IHZh bGlkYXRlbWVzc2FnZShzdHJpcGNvZGUodGhpcy50ZXh0b2JqLnZhbHVlLCB0cnVl KSwgc3ViamVjdHRleHQsIG1pbmNoYXJzKTsKCgkJCWlmIChyZXR1cm52YWx1ZSkK CQkJewoJCQkJcmV0dXJuIHJldHVybnZhbHVlOwoJCQl9CgkJCWVsc2UgaWYgKHRo aXMuY2FwdGNoYSAhPSBudWxsICYmIHRoaXMuY2FwdGNoYS5mYWlsZWQpCgkJCXsK CQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRoaXMuY2hl Y2tfZm9jdXMoKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCgkJLy8gPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCQkvLyBNb3ppbGxhIFdZU0lXWUcg b25seQoJCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgkJaWYgKGlz X21veikKCQl7CgkJCS8qKgoJCQkqIFNldCBlZGl0b3IgY29udGVudHMKCQkJKi8K CQkJdGhpcy5fc2V0X2VkaXRvcl9jb250ZW50cyA9IHRoaXMuc2V0X2VkaXRvcl9j b250ZW50czsKCQkJdGhpcy5zZXRfZWRpdG9yX2NvbnRlbnRzID0gZnVuY3Rpb24o aW5pdGlhbF90ZXh0KQoJCQl7CgkJCQl0aGlzLl9zZXRfZWRpdG9yX2NvbnRlbnRz KGluaXRpYWxfdGV4dCk7CgoJCQkJdGhpcy5lZGl0ZG9jLmFkZEV2ZW50TGlzdGVu ZXIoJ2tleXByZXNzJywgdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5l ZGl0ZG9jX29ua2V5cHJlc3MsIHRydWUpOwoJCQl9OwoKCQkJLyoqCgkJCSogU2V0 IGVkaXRvciBzdHlsZQoJCQkqLwoJCQl0aGlzLnNldF9lZGl0b3Jfc3R5bGUgPSBm dW5jdGlvbigpCgkJCXsKCQkJCWZvciAodmFyIHNzID0gMDsgc3MgPCBkb2N1bWVu dC5zdHlsZVNoZWV0cy5sZW5ndGg7IHNzKyspCgkJCQl7CgkJCQkJdHJ5CgkJCQkJ ewoJCQkJCQlpZiAoZG9jdW1lbnQuc3R5bGVTaGVldHNbc3NdLmNzc1J1bGVzLmxl bmd0aCA8PSAwKQoJCQkJCQl7CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoJCQkJ CX0KCQkJCQljYXRjaChlKQoJCQkJCXsgLy8gdHJ5aW5nIHRvIGFjY2VzcyBhIHN0 eWxlc2hlZXQgb3V0c2lkZSB0aGUgYWxsb3dlZCBkb21haW4KCQkJCQkJY29udGlu dWU7CgkJCQkJfQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZG9jdW1lbnQuc3R5 bGVTaGVldHNbc3NdLmNzc1J1bGVzLmxlbmd0aDsgaSsrKQoJCQkJCXsKCQkJCQkJ aWYgKGRvY3VtZW50LnN0eWxlU2hlZXRzW3NzXS5jc3NSdWxlc1tpXS5zZWxlY3Rv clRleHQgPT0gJy53eXNpd3lnJykKCQkJCQkJewoJCQkJCQkJbmV3c3MgPSB0aGlz LmVkaXRkb2MuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKCQkJCQkJCW5ld3NzLnR5 cGUgPSAndGV4dC9jc3MnOwoJCQkJCQkJbmV3c3MuaW5uZXJIVE1MID0gZG9jdW1l bnQuc3R5bGVTaGVldHNbc3NdLmNzc1J1bGVzW2ldLmNzc1RleHQgKyAnIHAgeyBt YXJnaW46IDBweDsgfSc7CgkJCQkJCQl0aGlzLmVkaXRkb2MuZG9jdW1lbnRFbGVt ZW50LmNoaWxkTm9kZXNbMF0uYXBwZW5kQ2hpbGQobmV3c3MpOwoJCQkJCQkJdGhp cy5lZGl0ZG9jLmJvZHkuY2xhc3NOYW1lID0gJ3d5c2l3eWcnOwoJCQkJCQkJdGhp cy5lZGl0ZG9jLmJvZHkuc3R5bGUuZm9udEZhbWlseSA9IGRvY3VtZW50LnN0eWxl U2hlZXRzW3NzXS5jc3NSdWxlc1tpXS5zdHlsZS5mb250RmFtaWx5OwoJCQkJCQkJ dGhpcy5lZGl0ZG9jLmJvZHkuc3R5bGUuZm9udFNpemUgPSBkb2N1bWVudC5zdHls ZVNoZWV0c1tzc10uY3NzUnVsZXNbaV0uc3R5bGUuZm9udFNpemU7CgkJCQkJCQly ZXR1cm4gZmFsc2U7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX07CgoJCQkvKioK CQkJKiBUcmFuc2xhdGUgQ29sb3IgQ29tbWFuZCBWYWx1ZQoJCQkqLwoJCQl0aGlz LnRyYW5zbGF0ZV9jb2xvcl9jb21tYW5kdmFsdWUgPSBmdW5jdGlvbihmb3JlY29s b3IpCgkJCXsKCQkJCWlmIChmb3JlY29sb3IgPT0gJycgfHwgZm9yZWNvbG9yID09 IG51bGwpCgkJCQl7CgkJCQkJZm9yZWNvbG9yID0gd2luZG93LmdldENvbXB1dGVk U3R5bGUodGhpcy5lZGl0ZG9jLmJvZHksIG51bGwpLmdldFByb3BlcnR5VmFsdWUo J2NvbG9yJyk7CgkJCQl9CgoJCQkJaWYgKGZvcmVjb2xvci50b0xvd2VyQ2FzZSgp LmluZGV4T2YoJ3JnYicpID09IDApCgkJCQl7CgkJCQkJdmFyIG1hdGNoZXMgPSBm b3JlY29sb3IubWF0Y2goL15yZ2JccypcKChbMC05XSspLFxzKihbMC05XSspLFxz KihbMC05XSspXCkkLyk7CgkJCQkJaWYgKG1hdGNoZXMpCgkJCQkJewoJCQkJCQly ZXR1cm4gdGhpcy50cmFuc2xhdGVfc2lsbHlfaGV4KChtYXRjaGVzWzFdICYgMHhG RikudG9TdHJpbmcoMTYpLCAobWF0Y2hlc1syXSAmIDB4RkYpLnRvU3RyaW5nKDE2 KSwgKG1hdGNoZXNbM10gJiAweEZGKS50b1N0cmluZygxNikpOwoJCQkJCX0KCQkJ CQllbHNlCgkJCQkJewoJCQkJCQlyZXR1cm4gdGhpcy50cmFuc2xhdGVfY29sb3Jf Y29tbWFuZHZhbHVlKG51bGwpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsK CQkJCQlyZXR1cm4gZm9yZWNvbG9yOwoJCQkJfQoJCQl9OwoKCQkJLyoqCgkJCSog VHJhbnNsYXRlIENTUyBmb250U2l6ZSB0byBIVE1MIEZvbnQgU2l6ZQoJCQkqLwoJ CQl0aGlzLnRyYW5zbGF0ZV9mb250c2l6ZSA9IGZ1bmN0aW9uKGNzc3NpemUpCgkJ CXsKCQkJCXN3aXRjaCAoY3Nzc2l6ZSkKCQkJCXsKCQkJCQljYXNlICc3LjVwdCc6 CgkJCQkJY2FzZSAnMTBweCc6IHJldHVybiAxOwoJCQkJCWNhc2UgJzEwcHQnOiBy ZXR1cm4gMjsKCQkJCQljYXNlICcxMnB0JzogcmV0dXJuIDM7CgkJCQkJY2FzZSAn MTRwdCc6IHJldHVybiA0OwoJCQkJCWNhc2UgJzE4cHQnOiByZXR1cm4gNTsKCQkJ CQljYXNlICcyNHB0JzogcmV0dXJuIDY7CgkJCQkJY2FzZSAnMzZwdCc6IHJldHVy biA3OwoJCQkJCWRlZmF1bHQ6ICAgICByZXR1cm4gJyc7CgkJCQl9CgkJCX0KCgkJ CS8qKgoJCQkqIEFwcGx5IEZvcm1hdAoJCQkqLwoJCQl0aGlzLl9hcHBseV9mb3Jt YXQgPSB0aGlzLmFwcGx5X2Zvcm1hdDsKCQkJdGhpcy5hcHBseV9mb3JtYXQgPSBm dW5jdGlvbihjbWQsIGRpYWxvZywgYXJnKQoJCQl7CgkJCQl0aGlzLmVkaXRkb2Mu ZXhlY0NvbW1hbmQoJ3VzZUNTUycsIGZhbHNlLCB0cnVlKTsKCQkJCXJldHVybiB0 aGlzLl9hcHBseV9mb3JtYXQoY21kLCBkaWFsb2csIGFyZyk7CgkJCX07CgoJCQkv KioKCQkJKiBJbnNlcnQgTGluawoJCQkqLwoJCQl0aGlzLl9jcmVhdGVsaW5rID0g dGhpcy5jcmVhdGVsaW5rOwoJCQl0aGlzLmNyZWF0ZWxpbmsgPSBmdW5jdGlvbihl LCB1cmwpCgkJCXsKCQkJCWlmICh0eXBlb2YgdXJsID09ICd1bmRlZmluZWQnKQoJ CQkJewoJCQkJCXVybCA9IHRoaXMuc2hvd19wcm9tcHQodmJwaHJhc2VbJ2VudGVy X2xpbmtfdXJsJ10sICdodHRwOi8vJywgdHJ1ZSk7CgkJCQl9CgkJCQlpZiAoKHVy bCA9IHRoaXMudmVyaWZ5X3Byb21wdCh1cmwpKSAhPT0gZmFsc2UpCgkJCQl7CgkJ CQkJaWYgKHRoaXMuZ2V0X3NlbGVjdGlvbigpKQoJCQkJCXsKCQkJCQkJdGhpcy5h cHBseV9mb3JtYXQoJ3VubGluaycpOwoJCQkJCQl0aGlzLl9jcmVhdGVsaW5rKGUs IHVybCk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCXRoaXMuaW5zZXJ0 X3RleHQoJzxhIGhyZWY9IicgKyB1cmwgKyAnIj4nICsgdXJsICsgJzwvYT4nKTsK CQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfTsKCgkJCS8qKgoJCQkq IEluc2VydCBTbWlsaWUKCQkJKi8KCQkJdGhpcy5pbnNlcnRfc21pbGllID0gZnVu Y3Rpb24oZSwgc21pbGlldGV4dCwgc21pbGllcGF0aCwgc21pbGllaWQpCgkJCXsK CQkJCXRoaXMuY2hlY2tfZm9jdXMoKTsKCgkJCQl0cnkKCQkJCXsKCQkJCQl0aGlz LmFwcGx5X2Zvcm1hdCgnSW5zZXJ0SW1hZ2UnLCBmYWxzZSwgc21pbGllcGF0aCk7 CgkJCQkJdmFyIHNtaWxpZXMgPSBmZXRjaF90YWdzKHRoaXMuZWRpdGRvYy5ib2R5 LCAnaW1nJyk7CgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBzbWlsaWVzLmxlbmd0 aDsgaSsrKQoJCQkJCXsKCQkJCQkJaWYgKHNtaWxpZXNbaV0uc3JjID09IHNtaWxp ZXBhdGgpCgkJCQkJCXsKCQkJCQkJCWlmIChzbWlsaWVzW2ldLmdldEF0dHJpYnV0 ZSgnc21pbGllaWQnKSA8IDEpCgkJCQkJCQl7CgkJCQkJCQkJc21pbGllc1tpXS5z ZXRBdHRyaWJ1dGUoJ3NtaWxpZWlkJywgc21pbGllaWQpOwoJCQkJCQkJCXNtaWxp ZXNbaV0uc2V0QXR0cmlidXRlKCdib3JkZXInLCAiMCIpOwoJCQkJCQkJfQoJCQkJ CQl9CgkJCQkJfQoJCQkJfQoJCQkJY2F0Y2goZSkKCQkJCXsKCQkJCQkvLyBmYWls ZWQuLi4gcHJvYmFibHkgZHVlIHRvIGluc2VydGluZyBhIHNtaWxpZSBvdmVyIGEg c21pbGllIGluIG1vemlsbGEKCQkJCX0KCQkJfTsKCgkJCS8qKgoJCQkqIEdldCBT ZWxlY3Rpb24KCQkJKi8KCQkJdGhpcy5nZXRfc2VsZWN0aW9uID0gZnVuY3Rpb24o KQoJCQl7CgkJCQlzZWxlY3Rpb24gPSB0aGlzLmVkaXR3aW4uZ2V0U2VsZWN0aW9u KCk7CgkJCQl0aGlzLmNoZWNrX2ZvY3VzKCk7CgkJCQlyYW5nZSA9IHNlbGVjdGlv biA/IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApIDogdGhpcy5lZGl0ZG9jLmNyZWF0 ZVJhbmdlKCk7CgkJCQlyZXR1cm4gdGhpcy5yZWFkX25vZGVzKHJhbmdlLmNsb25l Q29udGVudHMoKSwgZmFsc2UpOwoJCQl9OwoKCQkJLyoqCgkJCSogUGFzdGUgVGV4 dAoJCQkqLwoJCQl0aGlzLmluc2VydF90ZXh0ID0gZnVuY3Rpb24oc3RyKQoJCQl7 CgkJCQl0aGlzLmVkaXRkb2MuZXhlY0NvbW1hbmQoJ2luc2VydEhUTUwnLCBmYWxz ZSwgc3RyKTsKCQkJCS8qZnJhZ21lbnQgPSB0aGlzLmVkaXRkb2MuY3JlYXRlRG9j dW1lbnRGcmFnbWVudCgpOwoJCQkJaG9sZGVyID0gdGhpcy5lZGl0ZG9jLmNyZWF0 ZUVsZW1lbnQoJ3NwYW4nKTsKCQkJCWhvbGRlci5pbm5lckhUTUwgPSBzdHI7CgoJ CQkJd2hpbGUgKGhvbGRlci5maXJzdENoaWxkKQoJCQkJewoJCQkJCWZyYWdtZW50 LmFwcGVuZENoaWxkKGhvbGRlci5maXJzdENoaWxkKTsKCQkJCX0KCgkJCQl0aGlz Lmluc2VydF9ub2RlX2F0X3NlbGVjdGlvbihmcmFnbWVudCk7Ki8KCQkJfTsKCgkJ CS8qKgoJCQkqIFNldCBlZGl0b3IgZnVuY3Rpb25zCgkJCSovCgkJCXRoaXMuc2V0 X2VkaXRvcl9mdW5jdGlvbnMgPSBmdW5jdGlvbigpCgkJCXsKCQkJCXRoaXMuZWRp dGRvYy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdkJfVGV4dF9FZGl0b3Jf RXZlbnRzLnByb3RvdHlwZS5lZGl0ZG9jX29ubW91c2V1cCwgdHJ1ZSk7CgkJCQl0 aGlzLmVkaXRkb2MuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB2Ql9UZXh0X0Vk aXRvcl9FdmVudHMucHJvdG90eXBlLmVkaXRkb2Nfb25rZXl1cCwgdHJ1ZSk7CgkJ CQl0aGlzLmVkaXR3aW4uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB2Ql9UZXh0 X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmVkaXR3aW5fb25mb2N1cywgdHJ1ZSk7 CgkJCQl0aGlzLmVkaXR3aW4uYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIHZCX1Rl eHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuZWRpdHdpbl9vbmJsdXIsIHRydWUp OwoJCQl9OwoKCgkJCS8qKgoJCQkqIEFkZCBSYW5nZSAoTW96aWxsYSkKCQkJKi8K CQkJdGhpcy5hZGRfcmFuZ2UgPSBmdW5jdGlvbihub2RlKQoJCQl7CgkJCQl0aGlz LmNoZWNrX2ZvY3VzKCk7CgkJCQl2YXIgc2VsID0gdGhpcy5lZGl0d2luLmdldFNl bGVjdGlvbigpOwoJCQkJdmFyIHJhbmdlID0gdGhpcy5lZGl0ZG9jLmNyZWF0ZVJh bmdlKCk7CgkJCQlyYW5nZS5zZWxlY3ROb2RlQ29udGVudHMobm9kZSk7CgkJCQlz ZWwucmVtb3ZlQWxsUmFuZ2VzKCk7CgkJCQlzZWwuYWRkUmFuZ2UocmFuZ2UpOwoJ CQl9OwoKCQkJLyoqCgkJCSogUmVhZCBOb2RlcyAoTW96aWxsYSkKCQkJKi8KCQkJ dGhpcy5yZWFkX25vZGVzID0gZnVuY3Rpb24ocm9vdCwgdG9wdGFnKQoJCQl7CgkJ CQl2YXIgaHRtbCA9ICIiOwoJCQkJdmFyIG1vel9jaGVjayA9IC9fbW96L2k7CgoJ CQkJc3dpdGNoIChyb290Lm5vZGVUeXBlKQoJCQkJewoJCQkJCWNhc2UgTm9kZS5F TEVNRU5UX05PREU6CgkJCQkJY2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05P REU6CgkJCQkJewoJCQkJCQl2YXIgY2xvc2VkOwoJCQkJCQlpZiAodG9wdGFnKQoJ CQkJCQl7CgkJCQkJCQljbG9zZWQgPSAhcm9vdC5oYXNDaGlsZE5vZGVzKCk7CgkJ CQkJCQlodG1sID0gJzwnICsgcm9vdC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7CgkJ CQkJCQl2YXIgYXR0ciA9IHJvb3QuYXR0cmlidXRlczsKCQkJCQkJCWZvciAodmFy IGkgPSAwOyBpIDwgYXR0ci5sZW5ndGg7ICsraSkKCQkJCQkJCXsKCQkJCQkJCQl2 YXIgYSA9IGF0dHIuaXRlbShpKTsKCQkJCQkJCQlpZiAoIWEuc3BlY2lmaWVkIHx8 IGEubmFtZS5tYXRjaChtb3pfY2hlY2spIHx8IGEudmFsdWUubWF0Y2gobW96X2No ZWNrKSkKCQkJCQkJCQl7CgkJCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQkJCX0KCgkJ CQkJCQkJaHRtbCArPSAiICIgKyBhLm5hbWUudG9Mb3dlckNhc2UoKSArICc9Iicg KyBhLnZhbHVlICsgJyInOwoJCQkJCQkJfQoJCQkJCQkJaHRtbCArPSBjbG9zZWQg PyAiIC8+IiA6ICI+IjsKCQkJCQkJfQoJCQkJCQlmb3IgKHZhciBpID0gcm9vdC5m aXJzdENoaWxkOyBpOyBpID0gaS5uZXh0U2libGluZykKCQkJCQkJewoJCQkJCQkJ aHRtbCArPSB0aGlzLnJlYWRfbm9kZXMoaSwgdHJ1ZSk7CgkJCQkJCX0KCQkJCQkJ aWYgKHRvcHRhZyAmJiAhY2xvc2VkKQoJCQkJCQl7CgkJCQkJCQlodG1sICs9ICI8 LyIgKyByb290LnRhZ05hbWUudG9Mb3dlckNhc2UoKSArICI+IjsKCQkJCQkJfQoJ CQkJCX0KCQkJCQlicmVhazsKCgkJCQkJY2FzZSBOb2RlLlRFWFRfTk9ERToKCQkJ CQl7CgkJCQkJCS8vaHRtbCA9IGh0bWxzcGVjaWFsY2hhcnMocm9vdC5kYXRhKTsK CQkJCQkJaHRtbCA9IFBIUC5odG1sc3BlY2lhbGNoYXJzKHJvb3QuZGF0YSk7CgkJ CQkJfQoJCQkJCWJyZWFrOwoJCQkJfQoKCQkJCXJldHVybiBodG1sOwoJCQl9OwoK CQkJLyoqCgkJCSogSW5zZXJ0IE5vZGUgYXQgU2VsZWN0aW9uIChNb3ppbGxhKQoJ CQkqLwoJCQl0aGlzLmluc2VydF9ub2RlX2F0X3NlbGVjdGlvbiA9IGZ1bmN0aW9u KHRleHQpCgkJCXsKCQkJCXRoaXMuY2hlY2tfZm9jdXMoKTsKCgkJCQl2YXIgc2Vs ID0gdGhpcy5lZGl0d2luLmdldFNlbGVjdGlvbigpOwoJCQkJdmFyIHJhbmdlID0g c2VsID8gc2VsLmdldFJhbmdlQXQoMCkgOiB0aGlzLmVkaXRkb2MuY3JlYXRlUmFu Z2UoKTsKCQkJCXNlbC5yZW1vdmVBbGxSYW5nZXMoKTsKCQkJCXJhbmdlLmRlbGV0 ZUNvbnRlbnRzKCk7CgoJCQkJdmFyIG5vZGUgPSByYW5nZS5zdGFydENvbnRhaW5l cjsKCQkJCXZhciBwb3MgPSByYW5nZS5zdGFydE9mZnNldDsKCgkJCQlzd2l0Y2gg KG5vZGUubm9kZVR5cGUpCgkJCQl7CgkJCQkJY2FzZSBOb2RlLkVMRU1FTlRfTk9E RToKCQkJCQl7CgkJCQkJCWlmICh0ZXh0Lm5vZGVUeXBlID09IE5vZGUuRE9DVU1F TlRfRlJBR01FTlRfTk9ERSkKCQkJCQkJewoJCQkJCQkJc2VsTm9kZSA9IHRleHQu Zmlyc3RDaGlsZDsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCXNl bE5vZGUgPSB0ZXh0OwoJCQkJCQl9CgkJCQkJCW5vZGUuaW5zZXJ0QmVmb3JlKHRl eHQsIG5vZGUuY2hpbGROb2Rlc1twb3NdKTsKCQkJCQkJdGhpcy5hZGRfcmFuZ2Uo c2VsTm9kZSk7CgkJCQkJfQoJCQkJCWJyZWFrOwoKCQkJCQljYXNlIE5vZGUuVEVY VF9OT0RFOgoJCQkJCXsKCQkJCQkJaWYgKHRleHQubm9kZVR5cGUgPT0gTm9kZS5U RVhUX05PREUpCgkJCQkJCXsKCQkJCQkJCXZhciB0ZXh0X2xlbmd0aCA9IHBvcyAr IHRleHQubGVuZ3RoOwoJCQkJCQkJbm9kZS5pbnNlcnREYXRhKHBvcywgdGV4dC5k YXRhKTsKCQkJCQkJCXJhbmdlID0gdGhpcy5lZGl0ZG9jLmNyZWF0ZVJhbmdlKCk7 CgkJCQkJCQlyYW5nZS5zZXRFbmQobm9kZSwgdGV4dF9sZW5ndGgpOwoJCQkJCQkJ cmFuZ2Uuc2V0U3RhcnQobm9kZSwgdGV4dF9sZW5ndGgpOwoJCQkJCQkJc2VsLmFk ZFJhbmdlKHJhbmdlKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJ CW5vZGUgPSBub2RlLnNwbGl0VGV4dChwb3MpOwoJCQkJCQkJdmFyIHNlbE5vZGU7 CgkJCQkJCQlpZiAodGV4dC5ub2RlVHlwZSA9PSBOb2RlLkRPQ1VNRU5UX0ZSQUdN RU5UX05PREUpCgkJCQkJCQl7CgkJCQkJCQkJc2VsTm9kZSA9IHRleHQuZmlyc3RD aGlsZDsKCQkJCQkJCX0KCQkJCQkJCWVsc2UKCQkJCQkJCXsKCQkJCQkJCQlzZWxO b2RlID0gdGV4dDsKCQkJCQkJCX0KCQkJCQkJCW5vZGUucGFyZW50Tm9kZS5pbnNl cnRCZWZvcmUodGV4dCwgbm9kZSk7CgkJCQkJCQl0aGlzLmFkZF9yYW5nZShzZWxO b2RlKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCX0KCQkJfTsKCQl9 CgkJLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCQkvLyBPcGVyYSBX WVNJV1lHIG9ubHkKCQkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJ CWVsc2UgaWYgKGlzX29wZXJhKQoJCXsKCQkJLyoqCgkJCQlUaGVyZSBhcmUgc2V2 ZXJhbCBpc3N1ZXMgd2l0aCBPcGVyYSB3aGljaCBpcyB3aHkgdGhpcyBjb2RlIGlz IGRpc2FibGVkOgoJCQkJCTEuIEZvY3VzIGlzc3Vlcywgd2hlbiBhIGJ1dHRvbiBp cyBwcmVzc2VkIHRoZSBlZGl0b3IgbG9zZXMgZm9jdXMKCQkJCQkyLiBTdHlsaW5n IGlzIGxvc3Qgd2hlbiB3ZSBtYWtlIGFueSBhZGp1c3RtZW50cyB0byB0aGUgZWRp dG9yCgkJCQkJMy4gQWRkaW5nIGEgVVJMIGlzIGV2ZXIgbGFzdGluZyBldmVuIGlm IHlvdSBwdXNoIGVudGVyCgkJCSovCgkJCS8qKgoJCQkqIFNldCBlZGl0b3Igc3R5 bGUKCQkJKi8KCQkJdGhpcy5zZXRfZWRpdG9yX3N0eWxlID0gZnVuY3Rpb24oKQoJ CQl7CgkJCQlmb3IgKHZhciBzcyA9IDA7IHNzIDwgZG9jdW1lbnQuc3R5bGVTaGVl dHMubGVuZ3RoOyBzcysrKQoJCQkJewoJCQkJCXRyeQoJCQkJCXsKCQkJCQkJaWYg KGRvY3VtZW50LnN0eWxlU2hlZXRzW3NzXS5jc3NSdWxlcy5sZW5ndGggPD0gMCkK CQkJCQkJewoJCQkJCQkJY29udGludWU7CgkJCQkJCX0KCQkJCQl9CgkJCQkJY2F0 Y2goZSkKCQkJCQl7IC8vIHRyeWluZyB0byBhY2Nlc3MgYSBzdHlsZXNoZWV0IG91 dHNpZGUgdGhlIGFsbG93ZWQgZG9tYWluCgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0K CQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRvY3VtZW50LnN0eWxlU2hlZXRzW3Nz XS5jc3NSdWxlcy5sZW5ndGg7IGkrKykKCQkJCQl7CgkJCQkJCWlmIChkb2N1bWVu dC5zdHlsZVNoZWV0c1tzc10uY3NzUnVsZXNbaV0uc2VsZWN0b3JUZXh0ID09ICcu d3lzaXd5ZycpCgkJCQkJCXsKCQkJCQkJCW5ld3NzID0gdGhpcy5lZGl0ZG9jLmNy ZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CgkJCQkJCQluZXdzcy50eXBlID0gJ3RleHQv Y3NzJzsKCQkJCQkJCW5ld3NzLmlubmVySFRNTCA9IGRvY3VtZW50LnN0eWxlU2hl ZXRzW3NzXS5jc3NSdWxlc1tpXS5jc3NUZXh0ICsgJyBwIHsgbWFyZ2luOiAwcHg7 IH0nOwoJCQkJCQkJdGhpcy5lZGl0ZG9jLmRvY3VtZW50RWxlbWVudC5jaGlsZE5v ZGVzWzBdLmFwcGVuZENoaWxkKG5ld3NzKTsKCQkJCQkJCXRoaXMuZWRpdGRvYy5i b2R5LmNsYXNzTmFtZSA9ICd3eXNpd3lnJzsKCQkJCQkJCXRoaXMuZWRpdGRvYy5i b2R5LnN0eWxlLmZvbnRGYW1pbHkgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1tzc10u Y3NzUnVsZXNbaV0uc3R5bGUuZm9udEZhbWlseTsKCQkJCQkJCXRoaXMuZWRpdGRv Yy5ib2R5LnN0eWxlLmZvbnRTaXplID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbc3Nd LmNzc1J1bGVzW2ldLnN0eWxlLmZvbnRTaXplOwoJCQkJCQkJcmV0dXJuIGZhbHNl OwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9OwoKCQkJLyoqCgkJCSogSW5zZXJ0 IExpbmsKCQkJKi8KCQkJdGhpcy5fY3JlYXRlbGluayA9IHRoaXMuY3JlYXRlbGlu azsKCQkJdGhpcy5jcmVhdGVsaW5rID0gZnVuY3Rpb24oZSwgdXJsKQoJCQl7CgkJ CQlpZiAodHlwZW9mIHVybCA9PSAndW5kZWZpbmVkJykKCQkJCXsKCQkJCQl1cmwg PSB0aGlzLnNob3dfcHJvbXB0KHZicGhyYXNlWydlbnRlcl9saW5rX3VybCddLCAn aHR0cDovLycsIHRydWUpOwoJCQkJfQoJCQkJaWYgKCh1cmwgPSB0aGlzLnZlcmlm eV9wcm9tcHQodXJsKSkgIT09IGZhbHNlKQoJCQkJewoJCQkJCWlmICh0aGlzLmdl dF9zZWxlY3Rpb24oKSkKCQkJCQl7CgkJCQkJCXRoaXMuYXBwbHlfZm9ybWF0KCd1 bmxpbmsnKTsKCQkJCQkJdGhpcy5fY3JlYXRlbGluayhlLCB1cmwpOwoJCQkJCX0K CQkJCQllbHNlCgkJCQkJewoJCQkJCQl0aGlzLmluc2VydF90ZXh0KCc8YSBocmVm PSInICsgdXJsICsgJyI+JyArIHVybCArICc8L2E+Jyk7CgkJCQkJfQoJCQkJfQoJ CQkJcmV0dXJuIHRydWU7CgkJCX07CgoJCQkvKioKCQkJKiBJbnNlcnQgU21pbGll CgkJCSovCgkJCXRoaXMuaW5zZXJ0X3NtaWxpZSA9IGZ1bmN0aW9uKGUsIHNtaWxp ZXRleHQsIHNtaWxpZXBhdGgsIHNtaWxpZWlkKQoJCQl7CgkJCQl0aGlzLmNoZWNr X2ZvY3VzKCk7CgoJCQkJdHJ5CgkJCQl7CgkJCQkJdGhpcy5hcHBseV9mb3JtYXQo J0luc2VydEltYWdlJywgZmFsc2UsIHNtaWxpZXBhdGgpOwoJCQkJCXZhciBzbWls aWVzID0gZmV0Y2hfdGFncyh0aGlzLmVkaXRkb2MuYm9keSwgJ2ltZycpOwoJCQkJ CWZvciAodmFyIGkgPSAwOyBpIDwgc21pbGllcy5sZW5ndGg7IGkrKykKCQkJCQl7 CgkJCQkJCWlmIChzbWlsaWVzW2ldLnNyYyA9PSBzbWlsaWVwYXRoKQoJCQkJCQl7 CgkJCQkJCQlpZiAoc21pbGllc1tpXS5nZXRBdHRyaWJ1dGUoJ3NtaWxpZWlkJykg PCAxKQoJCQkJCQkJewoJCQkJCQkJCXNtaWxpZXNbaV0uc2V0QXR0cmlidXRlKCdz bWlsaWVpZCcsIHNtaWxpZWlkKTsKCQkJCQkJCQlzbWlsaWVzW2ldLnNldEF0dHJp YnV0ZSgnYm9yZGVyJywgIjAiKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJ CX0KCQkJCWNhdGNoKGUpCgkJCQl7CgkJCQkJLy8gZmFpbGVkLi4uIHByb2JhYmx5 IGR1ZSB0byBpbnNlcnRpbmcgYSBzbWlsaWUgb3ZlciBhIHNtaWxpZSBpbiBtb3pp bGxhCgkJCQl9CgkJCX07CgoJCQkvKioKCQkJKiBHZXQgU2VsZWN0aW9uCgkJCSov CgkJCXRoaXMuZ2V0X3NlbGVjdGlvbiA9IGZ1bmN0aW9uKCkKCQkJewoJCQkJc2Vs ZWN0aW9uID0gdGhpcy5lZGl0d2luLmdldFNlbGVjdGlvbigpOwoJCQkJdGhpcy5j aGVja19mb2N1cygpOwoJCQkJcmFuZ2UgPSBzZWxlY3Rpb24gPyBzZWxlY3Rpb24u Z2V0UmFuZ2VBdCgwKSA6IHRoaXMuZWRpdGRvYy5jcmVhdGVSYW5nZSgpOwoJCQkJ dmFyIGxzc2VyaWFsaXplciA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0 ZUxTU2VyaWFsaXplcigpOwoJCQkJcmV0dXJuIGxzc2VyaWFsaXplci53cml0ZVRv U3RyaW5nKHJhbmdlLmNsb25lQ29udGVudHMoKSk7CgkJCX07CgoJCQkvKioKCQkJ KiBQYXN0ZSBUZXh0CgkJCSovCgkJCXRoaXMuaW5zZXJ0X3RleHQgPSBmdW5jdGlv bihzdHIpCgkJCXsKCQkJCXRoaXMuZWRpdGRvYy5leGVjQ29tbWFuZCgnaW5zZXJ0 SFRNTCcsIGZhbHNlLCBzdHIpOwoJCQl9OwoJCX0KCX0KCS8vID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgkvLyBTdGFuZGFyZCBlZGl0b3IKCS8vID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CgllbHNlCgl7CgkJdGhpcy5kaXNhYmxl X2VkaXRvciA9IGZ1bmN0aW9uKHRleHQpCgkJewoJCQlpZiAoIXRoaXMuZGlzYWJs ZWQpCgkJCXsKCQkJCXRoaXMuZGlzYWJsZWQgPSB0cnVlOwoKCQkJCWlmICh0eXBl b2YgdGV4dCAhPSAndW5kZWZpbmVkJykKCQkJCXsKCQkJCQl0aGlzLmVkaXRib3gu dmFsdWUgPSB0ZXh0OwoJCQkJfQoJCQkJdGhpcy5lZGl0Ym94LmRpc2FibGVkID0g dHJ1ZTsKCQkJfQoJCX07CgoJCXRoaXMuZW5hYmxlX2VkaXRvciA9IGZ1bmN0aW9u KHRleHQpCgkJewoJCQlpZiAodHlwZW9mIHRleHQgIT0gJ3VuZGVmaW5lZCcpCgkJ CXsKCQkJCXRoaXMuZWRpdGJveC52YWx1ZSA9IHRleHQ7CgkJCX0KCQkJdGhpcy5l ZGl0Ym94LmRpc2FibGVkID0gZmFsc2U7CgoJCQl0aGlzLmRpc2FibGVkID0gZmFs c2U7CgkJfTsKCgkJLyoqCgkJKiBXcml0ZXMgY29udGVudHMgdG8gdGhlIDx0ZXh0 YXJlYT4KCQkqCgkJKiBAcGFyYW0Jb2JqZWN0CTx0ZXh0YXJlYT4KCQkqIEBwYXJh bQlzdHJpbmcJSW5pdGlhbCB0ZXh0CgkJKi8KCQl0aGlzLndyaXRlX2VkaXRvcl9j b250ZW50cyA9IGZ1bmN0aW9uKHRleHQpCgkJewoJCQl0aGlzLnRleHRvYmoudmFs dWUgPSB0ZXh0OwoJCX0KCgkJLyoqCgkJKiBQdXQgdGhlIHRleHQgaW50byB0aGUg ZWRpdG9yCgkJKi8KCQl0aGlzLnNldF9lZGl0b3JfY29udGVudHMgPSBmdW5jdGlv bihpbml0aWFsX3RleHQpCgkJewoJCQl2YXIgaWZyYW1lID0gdGhpcy50ZXh0b2Jq LnBhcmVudE5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdOwoJ CQlpZiAoaWZyYW1lKQoJCQl7CgkJCQl0aGlzLnRleHRvYmouc3R5bGUuZGlzcGxh eSA9ICcnOwoJCQkJdGhpcy50ZXh0b2JqLnN0eWxlLndpZHRoID0gaWZyYW1lLnN0 eWxlLndpZHRoOwoJCQkJdGhpcy50ZXh0b2JqLnN0eWxlLmhlaWdodCA9IGlmcmFt ZS5zdHlsZS5oZWlnaHQ7CgoJCQkJaWZyYW1lLnN0eWxlLndpZHRoID0gJzBweCc7 CgkJCQlpZnJhbWUuc3R5bGUuaGVpZ2h0ID0gJzBweCc7CgkJCQlpZnJhbWUuc3R5 bGUuYm9yZGVyID0gJ25vbmUnOwoJCQl9CgoJCQl0aGlzLmVkaXR3aW4gPSB0aGlz LnRleHRvYmo7CgkJCXRoaXMuZWRpdGRvYyA9IHRoaXMudGV4dG9iajsKCQkJdGhp cy5lZGl0Ym94ID0gdGhpcy50ZXh0b2JqOwoJCQl0aGlzLnNwZWxsb2JqID0gdGhp cy50ZXh0b2JqOwoKCQkJaWYgKHR5cGVvZiBpbml0aWFsX3RleHQgIT0gJ3VuZGVm aW5lZCcpCgkJCXsKCQkJCXRoaXMud3JpdGVfZWRpdG9yX2NvbnRlbnRzKGluaXRp YWxfdGV4dCk7CgkJCX0KCgkJCXRoaXMuZWRpdGRvYy5lZGl0b3JpZCA9IHRoaXMu ZWRpdG9yaWQ7CgkJCXRoaXMuZWRpdHdpbi5lZGl0b3JpZCA9IHRoaXMuZWRpdG9y aWQ7CgoJCQl0aGlzLmhpc3RvcnkuYWRkX3NuYXBzaG90KHRoaXMuZ2V0X2VkaXRv cl9jb250ZW50cygpKTsKCQl9OwoKCQkvKioKCQkqIFNldCB0aGUgQ1NTIHN0eWxl IG9mIHRoZSBlZGl0b3IKCQkqLwoJCXRoaXMuc2V0X2VkaXRvcl9zdHlsZSA9IGZ1 bmN0aW9uKCkKCQl7CgkJfTsKCgkJLyoqCgkJKiBJbml0IEVkaXRvciBGdW5jdGlv bnMKCQkqLwoJCXRoaXMuc2V0X2VkaXRvcl9mdW5jdGlvbnMgPSBmdW5jdGlvbigp CgkJewoJCQlpZiAodGhpcy5lZGl0ZG9jLmFkZEV2ZW50TGlzdGVuZXIpCgkJCXsK CQkJCXRoaXMuZWRpdGRvYy5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIHZC X1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuZWRpdGRvY19vbmtleXByZXNz LCBmYWxzZSk7CgkJCX0KCQkJZWxzZSBpZiAoaXNfaWUpCgkJCXsKCQkJCXRoaXMu ZWRpdGRvYy5vbmtleWRvd24gPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90 eXBlLmVkaXRkb2Nfb25rZXlwcmVzczsKCQkJfQoKCQkJdGhpcy5lZGl0d2luLm9u Zm9jdXMgPSB2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmVkaXR3aW5f b25mb2N1czsKCQkJdGhpcy5lZGl0d2luLm9uYmx1ciA9IHZCX1RleHRfRWRpdG9y X0V2ZW50cy5wcm90b3R5cGUuZWRpdHdpbl9vbmJsdXI7CgkJfTsKCgkJLyoqCgkJ KiBTZXQgQ29udGV4dAoJCSovCgkJdGhpcy5zZXRfY29udGV4dCA9IGZ1bmN0aW9u KCkKCQl7CgkJfTsKCgkJLyoqCgkJKiBBcHBseSBmb3JtYXR0aW5nCgkJKi8KCQl0 aGlzLmFwcGx5X2Zvcm1hdCA9IGZ1bmN0aW9uKGNtZCwgZGlhbG9nLCBhcmd1bWVu dCkKCQl7CgkJCS8vIHVuZG8gJiByZWRvIGFycmF5IHBvcHMKCgkJCXN3aXRjaCAo Y21kKQoJCQl7CgkJCQljYXNlICdib2xkJzoKCQkJCWNhc2UgJ2l0YWxpYyc6CgkJ CQljYXNlICd1bmRlcmxpbmUnOgoJCQkJewoJCQkJCXRoaXMud3JhcF90YWdzKGNt ZC5zdWJzdHIoMCwgMSksIGZhbHNlKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJ Y2FzZSAnanVzdGlmeWxlZnQnOgoJCQkJY2FzZSAnanVzdGlmeWNlbnRlcic6CgkJ CQljYXNlICdqdXN0aWZ5cmlnaHQnOgoJCQkJewoJCQkJCXRoaXMud3JhcF90YWdz KGNtZC5zdWJzdHIoNyksIGZhbHNlKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJ Y2FzZSAnaW5kZW50JzoKCQkJCXsKCQkJCQl0aGlzLndyYXBfdGFncyhjbWQsIGZh bHNlKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJY2FzZSAnZm9udG5hbWUnOgoJ CQkJewoJCQkJCXRoaXMud3JhcF90YWdzKCdmb250JywgYXJndW1lbnQpOwoJCQkJ CXJldHVybjsKCQkJCX0KCgkJCQljYXNlICdmb250c2l6ZSc6CgkJCQl7CgkJCQkJ dGhpcy53cmFwX3RhZ3MoJ3NpemUnLCBhcmd1bWVudCk7CgkJCQkJcmV0dXJuOwoJ CQkJfQoKCQkJCWNhc2UgJ2ZvcmVjb2xvcic6CgkJCQl7CgkJCQkJdGhpcy53cmFw X3RhZ3MoJ2NvbG9yJywgYXJndW1lbnQpOwoJCQkJCXJldHVybjsKCQkJCX0KCgkJ CQljYXNlICdjcmVhdGVsaW5rJzoKCQkJCXsKCQkJCQl2YXIgc2VsID0gdGhpcy5n ZXRfc2VsZWN0aW9uKCk7CgkJCQkJaWYgKHNlbCkKCQkJCQl7CgkJCQkJCXRoaXMu d3JhcF90YWdzKCd1cmwnLCBhcmd1bWVudCk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJ CQl7CgkJCQkJCXRoaXMud3JhcF90YWdzKCd1cmwnLCBhcmd1bWVudCwgYXJndW1l bnQpOwoJCQkJCX0KCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJY2FzZSAnaW5zZXJ0 aW1hZ2UnOgoJCQkJewoJCQkJCXRoaXMud3JhcF90YWdzKCdpbWcnLCBmYWxzZSwg YXJndW1lbnQpOwoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQljYXNlICdyZW1vdmVm b3JtYXQnOgoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvL2FsZXJ0KCdjbWQgOjogJyAr IGNtZCArICdcbmRpYWxvZyA6OiAnICsgZGlhbG9nICsgJ1xuYXJndW1lbnQgOjog JyArIGFyZ3VtZW50KTsKCQl9OwoKCQl0aGlzLnVuZG8gPSBmdW5jdGlvbigpCgkJ ewoJCQl0aGlzLmhpc3RvcnkuYWRkX3NuYXBzaG90KHRoaXMuZ2V0X2VkaXRvcl9j b250ZW50cygpKTsKCQkJdGhpcy5oaXN0b3J5Lm1vdmVfY3Vyc29yKC0xKTsKCQkJ aWYgKChzdHIgPSB0aGlzLmhpc3RvcnkuZ2V0X3NuYXBzaG90KCkpICE9PSBmYWxz ZSkKCQkJewoJCQkJdGhpcy5lZGl0ZG9jLnZhbHVlID0gc3RyOwoJCQl9CgkJfTsK CgkJdGhpcy5yZWRvID0gZnVuY3Rpb24oKQoJCXsKCQkJdGhpcy5oaXN0b3J5Lm1v dmVfY3Vyc29yKDEpOwoJCQlpZiAoKHN0ciA9IHRoaXMuaGlzdG9yeS5nZXRfc25h cHNob3QoKSkgIT09IGZhbHNlKQoJCQl7CgkJCQl0aGlzLmVkaXRkb2MudmFsdWUg PSBzdHI7CgkJCX0KCQl9OwoKCQkvKioKCQkqIFN0cmlwIGEgc2ltcGxlIHRhZy4u LgoJCSovCgkJdGhpcy5zdHJpcF9zaW1wbGUgPSBmdW5jdGlvbih0YWcsIHN0ciwg aXRlcmF0aW9ucykKCQl7CgkJCXZhciBvcGVudGFnID0gJ1snICsgdGFnICsgJ10n OwoJCQl2YXIgY2xvc2V0YWcgPSAnWy8nICsgdGFnICsgJ10nOwoKCQkJaWYgKHR5 cGVvZiBpdGVyYXRpb25zID09ICd1bmRlZmluZWQnKQoJCQl7CgkJCQlpdGVyYXRp b25zID0gLTE7CgkJCX0KCgkJCXdoaWxlICgoc3RhcnRpbmRleCA9IFBIUC5zdHJp cG9zKHN0ciwgb3BlbnRhZykpICE9PSBmYWxzZSAmJiBpdGVyYXRpb25zICE9IDAp CgkJCXsKCQkJCWl0ZXJhdGlvbnMgLS07CgkJCQlpZiAoKHN0b3BpbmRleCA9IFBI UC5zdHJpcG9zKHN0ciwgY2xvc2V0YWcpKSAhPT0gZmFsc2UpCgkJCQl7CgkJCQkJ dmFyIHRleHQgPSBzdHIuc3Vic3RyKHN0YXJ0aW5kZXggKyBvcGVudGFnLmxlbmd0 aCwgc3RvcGluZGV4IC0gc3RhcnRpbmRleCAtIG9wZW50YWcubGVuZ3RoKTsKCQkJ CQlzdHIgPSBzdHIuc3Vic3RyKDAsIHN0YXJ0aW5kZXgpICsgdGV4dCArIHN0ci5z dWJzdHIoc3RvcGluZGV4ICsgY2xvc2V0YWcubGVuZ3RoKTsKCQkJCX0KCQkJCWVs c2UKCQkJCXsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHN0cjsK CQl9OwoKCQkvKioKCQkqIFN0cmlwIGEgdGFnIHdpdGggYW4gb3B0aW9uCgkJKi8K CQl0aGlzLnN0cmlwX2NvbXBsZXggPSBmdW5jdGlvbih0YWcsIHN0ciwgaXRlcmF0 aW9ucykKCQl7CgkJCXZhciBvcGVudGFnID0gJ1snICsgdGFnICsgJz0nOwoJCQl2 YXIgY2xvc2V0YWcgPSAnWy8nICsgdGFnICsgJ10nOwoKCQkJaWYgKHR5cGVvZiBp dGVyYXRpb25zID09ICd1bmRlZmluZWQnKQoJCQl7CgkJCQlpdGVyYXRpb25zID0g LTE7CgkJCX0KCgkJCXdoaWxlICgoc3RhcnRpbmRleCA9IFBIUC5zdHJpcG9zKHN0 ciwgb3BlbnRhZykpICE9PSBmYWxzZSAmJiBpdGVyYXRpb25zICE9IDApCgkJCXsK CQkJCWl0ZXJhdGlvbnMgLS07CgkJCQlpZiAoKHN0b3BpbmRleCA9IFBIUC5zdHJp cG9zKHN0ciwgY2xvc2V0YWcpKSAhPT0gZmFsc2UpCgkJCQl7CgkJCQkJdmFyIG9w ZW5lbmQgPSBQSFAuc3RyaXBvcyhzdHIsICddJywgc3RhcnRpbmRleCk7CgkJCQkJ aWYgKG9wZW5lbmQgIT09IGZhbHNlICYmIG9wZW5lbmQgPiBzdGFydGluZGV4ICYm IG9wZW5lbmQgPCBzdG9waW5kZXgpCgkJCQkJewoJCQkJCQl2YXIgdGV4dCA9IHN0 ci5zdWJzdHIob3BlbmVuZCArIDEsIHN0b3BpbmRleCAtIG9wZW5lbmQgLSAxKTsK CQkJCQkJc3RyID0gc3RyLnN1YnN0cigwLCBzdGFydGluZGV4KSArIHRleHQgKyBz dHIuc3Vic3RyKHN0b3BpbmRleCArIGNsb3NldGFnLmxlbmd0aCk7CgkJCQkJfQoJ CQkJCWVsc2UKCQkJCQl7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJCWVs c2UKCQkJCXsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHN0cjsK CQl9OwoKCQkvKioKCQkqIFJlbW92ZSBGb3JtYXR0aW5nCgkJKi8KCQl0aGlzLnJl bW92ZWZvcm1hdCA9IGZ1bmN0aW9uKGUpCgkJewoJCQl2YXIgc2ltcGxlc3RyaXAg PSBuZXcgQXJyYXkoJ2InLCAnaScsICd1Jyk7CgkJCXZhciBjb21wbGV4c3RyaXAg PSBuZXcgQXJyYXkoJ2ZvbnQnLCAnY29sb3InLCAnc2l6ZScpOwoKCQkJdmFyIHN0 ciA9IHRoaXMuZ2V0X3NlbGVjdGlvbigpOwoJCQlpZiAoc3RyID09PSBmYWxzZSkK CQkJewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBzaW1wbGUgc3RyaXBwZXIKCQkJ Zm9yICh2YXIgdGFnIGluIHNpbXBsZXN0cmlwKQoJCQl7CgkJCQlzdHIgPSB0aGlz LnN0cmlwX3NpbXBsZShzaW1wbGVzdHJpcFt0YWddLCBzdHIpOwoJCQl9CgoJCQkv LyBjb21wbGV4IHN0cmlwcGVyCgkJCWZvciAodmFyIHRhZyBpbiBjb21wbGV4c3Ry aXApCgkJCXsKCQkJCXN0ciA9IHRoaXMuc3RyaXBfY29tcGxleChjb21wbGV4c3Ry aXBbdGFnXSwgc3RyKTsKCQkJfQoKCQkJdGhpcy5pbnNlcnRfdGV4dChzdHIpOwoJ CX07CgoJCS8qKgoJCSogSW5zZXJ0IExpbmsKCQkqLwoJCXRoaXMuY3JlYXRlbGlu ayA9IGZ1bmN0aW9uKGUsIHVybCkKCQl7CgkJCXRoaXMucHJvbXB0X2xpbmsoJ3Vy bCcsIHVybCwgdmJwaHJhc2VbJ2VudGVyX2xpbmtfdXJsJ10sICdodHRwOi8vJyk7 CgkJfTsKCgkJLyoqCgkJKiBSZW1vdmUgTGluawoJCSovCgkJdGhpcy51bmxpbmsg PSBmdW5jdGlvbihlKQoJCXsKCQkJdmFyIHNlbCA9IHRoaXMuZ2V0X3NlbGVjdGlv bigpOwoJCQlzZWwgPSB0aGlzLnN0cmlwX3NpbXBsZSgndXJsJywgc2VsKTsKCQkJ c2VsID0gdGhpcy5zdHJpcF9jb21wbGV4KCd1cmwnLCBzZWwpOwoJCQl0aGlzLmlu c2VydF90ZXh0KHNlbCk7CgkJfTsKCgkJLyoqCgkJKiBJbnNlcnQgRW1haWwgTGlu awoJCSovCgkJdGhpcy5lbWFpbCA9IGZ1bmN0aW9uKGUsIGVtYWlsKQoJCXsKCQkJ dGhpcy5wcm9tcHRfbGluaygnZW1haWwnLCBlbWFpbCwgdmJwaHJhc2VbJ2VudGVy X2VtYWlsX2xpbmsnXSwgJycpOwoJCX07CgoJCS8qKgoJCSogSW5zZXJ0IFNtaWxp ZQoJCSovCgkJdGhpcy5pbnNlcnRfc21pbGllID0gZnVuY3Rpb24oZSwgc21pbGll dGV4dCkKCQl7CgkJCXRoaXMuY2hlY2tfZm9jdXMoKTsKCgkJCXJldHVybiB0aGlz Lmluc2VydF90ZXh0KHNtaWxpZXRleHQsIHNtaWxpZXRleHQubGVuZ3RoLCAwKTsK CQl9OwoKCQkvKioKCQkqIFdyYXBwZXIgZm9yIExpbmsgLyBFbWFpbCBMaW5rIGlu c2VydAoJCSovCgkJdGhpcy5wcm9tcHRfbGluayA9IGZ1bmN0aW9uKHRhZ25hbWUs IHZhbHVlLCBwaHJhc2UsIGlwcm9tcHQpCgkJewoJCQlpZiAodHlwZW9mIHZhbHVl ID09ICd1bmRlZmluZWQnKQoJCQl7CgkJCQl2YWx1ZSA9IHRoaXMuc2hvd19wcm9t cHQocGhyYXNlLCBpcHJvbXB0LCB0cnVlKTsKCQkJfQoJCQlpZiAoKHZhbHVlID0g dGhpcy52ZXJpZnlfcHJvbXB0KHZhbHVlKSkgIT09IGZhbHNlKQoJCQl7CgkJCQlp ZiAodGhpcy5nZXRfc2VsZWN0aW9uKCkpCgkJCQl7CgkJCQkJdGhpcy5hcHBseV9m b3JtYXQoJ3VubGluaycpOwoJCQkJCXRoaXMud3JhcF90YWdzKHRhZ25hbWUsIHZh bHVlKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQl0aGlzLndyYXBfdGFncyh0 YWduYW1lLCB2YWx1ZSwgdmFsdWUpOwoJCQkJfQoJCQl9CgkJCXJldHVybiB0cnVl OwoJCX07CgoJCS8qKgoJCSogSW5zZXJ0IE9yZGVyZWQgTGlzdAoJCSovCgkJdGhp cy5pbnNlcnRvcmRlcmVkbGlzdCA9IGZ1bmN0aW9uKGUpCgkJewoJCQl0aGlzLmlu c2VydGxpc3QodmJwaHJhc2VbJ2luc2VydF9vcmRlcmVkX2xpc3QnXSwgJzEnKTsK CQl9OwoKCQkvKioKCQkqIEluc2VydCBVbm9yZGVyZWQgTGlzdAoJCSovCgkJdGhp cy5pbnNlcnR1bm9yZGVyZWRsaXN0ID0gZnVuY3Rpb24oZSkKCQl7CgkJCXRoaXMu aW5zZXJ0bGlzdCh2YnBocmFzZVsnaW5zZXJ0X3Vub3JkZXJlZF9saXN0J10sICcn KTsKCQl9OwoKCQkvKioKCQkqIEluc2VydCBMaXN0CgkJKi8KCQl0aGlzLmluc2Vy dGxpc3QgPSBmdW5jdGlvbihwaHJhc2UsIGxpc3R0eXBlKQoJCXsKCQkJdmFyIG9w ZW50YWcgPSAnW0xJU1QnICsgKGxpc3R0eXBlID8gKCc9JyArIGxpc3R0eXBlKSA6 ICcnKSArICddXG4nOwoJCQl2YXIgY2xvc2V0YWcgPSAnWy9MSVNUXSc7CgoJCQlp ZiAodHh0ID0gdGhpcy5nZXRfc2VsZWN0aW9uKCkpCgkJCXsKCQkJCXZhciByZWdl eCA9IG5ldyBSZWdFeHAoJyhbXHJcbl0rfF5bXHJcbl0qKSg/IVxcW1xcKlxcXXxc XFtcXC8/bGlzdCkoPz1bXlxyXG5dKScsICdnaScpOwoJCQkJdHh0ID0gb3BlbnRh ZyArIFBIUC50cmltKHR4dCkucmVwbGFjZShyZWdleCwgJyQxWypdJykgKyAnXG4n ICsgY2xvc2V0YWc7CgkJCQl0aGlzLmluc2VydF90ZXh0KHR4dCwgdHh0LnZCbGVu Z3RoKCksIDApOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdGhpcy5pbnNlcnRfdGV4 dChvcGVudGFnICsgY2xvc2V0YWcsIG9wZW50YWcubGVuZ3RoLCBjbG9zZXRhZy5s ZW5ndGgpOwoKCQkJCWlmIChpc19pZTcpCgkJCQl7CgkJCQkJdmFyIGxpc3R2YWx1 ZSA9IHdpbmRvdy5zaG93TW9kYWxEaWFsb2coImNsaWVudHNjcmlwdC9pZXByb21w dC5odG1sPyIsIHsgJ3ZhbHVlJzogJycsICdsYWJlbCc6IHZicGhyYXNlWydlbnRl cl9saXN0X2l0ZW0nXSwgJ2Rpcic6IGRvY3VtZW50LmRpciwgJ3RpdGxlJzogZG9j dW1lbnQudGl0bGUsICdsaXN0dHlwZSc6IGxpc3R0eXBlIH0sICJkaWFsb2dXaWR0 aDozMjBweDsgZGlhbG9nSGVpZ2h0OjIzMnB4OyBkaWFsb2dUb3A6IiArIChwYXJz ZUludCh3aW5kb3cuc2NyZWVuVG9wKSArIHBhcnNlSW50KHdpbmRvdy5ldmVudC5j bGllbnRZKSArIHBhcnNlSW50KGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSAtIDEw MCkgKyAicHg7IGRpYWxvZ0xlZnQ6IiArIChwYXJzZUludCh3aW5kb3cuc2NyZWVu TGVmdCkgKyBwYXJzZUludCh3aW5kb3cuZXZlbnQuY2xpZW50WCkgKyBwYXJzZUlu dChkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpIC0gMTYwKSArICJweDsgcmVzaXph YmxlOiBObzsiKTsKCQkJCQlpZiAodGhpcy52ZXJpZnlfcHJvbXB0KGxpc3R2YWx1 ZSkpCgkJCQkJewoJCQkJCQl0aGlzLmluc2VydF90ZXh0KGxpc3R2YWx1ZSwgbGlz dHZhbHVlLnZCbGVuZ3RoKCksIDApOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJ CXsKCQkJCQl3aGlsZSAobGlzdHZhbHVlID0gdGhpcy5zaG93X3Byb21wdCh2YnBo cmFzZVsnZW50ZXJfbGlzdF9pdGVtJ10sICcnLCBmYWxzZSkpCgkJCQkJewoJCQkJ CQlsaXN0dmFsdWUgPSAnWypdJyArIGxpc3R2YWx1ZSArICdcbic7CgkJCQkJCXRo aXMuaW5zZXJ0X3RleHQobGlzdHZhbHVlLCBsaXN0dmFsdWUudkJsZW5ndGgoKSwg MCk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfTsKCgkJLyoqCgkJKiBPdXRkZW50CgkJ Ki8KCQl0aGlzLm91dGRlbnQgPSBmdW5jdGlvbihlKQoJCXsKCQkJdmFyIHNlbCA9 IHRoaXMuZ2V0X3NlbGVjdGlvbigpOwoJCQlzZWwgPSB0aGlzLnN0cmlwX3NpbXBs ZSgnaW5kZW50Jywgc2VsLCAxKTsKCQkJdGhpcy5pbnNlcnRfdGV4dChzZWwpOwoJ CX07CgoJCS8qKgoJCSogR2V0IEVkaXRvciBDb250ZW50cwoJCSovCgkJdGhpcy5n ZXRfZWRpdG9yX2NvbnRlbnRzID0gZnVuY3Rpb24oKQoJCXsKCQkJcmV0dXJuIHRo aXMuZWRpdGRvYy52YWx1ZTsKCQl9OwoKCQkvKioKCQkqIEdldCBTZWxlY3RlZCBU ZXh0CgkJKi8KCQl0aGlzLmdldF9zZWxlY3Rpb24gPSBmdW5jdGlvbigpCgkJewoJ CQlpZiAodHlwZW9mKHRoaXMuZWRpdGRvYy5zZWxlY3Rpb25TdGFydCkgIT0gJ3Vu ZGVmaW5lZCcpCgkJCXsKCQkJCXJldHVybiB0aGlzLmVkaXRkb2MudmFsdWUuc3Vi c3RyKHRoaXMuZWRpdGRvYy5zZWxlY3Rpb25TdGFydCwgdGhpcy5lZGl0ZG9jLnNl bGVjdGlvbkVuZCAtIHRoaXMuZWRpdGRvYy5zZWxlY3Rpb25TdGFydCk7CgkJCX0K CQkJZWxzZSBpZiAoZG9jdW1lbnQuc2VsZWN0aW9uICYmIGRvY3VtZW50LnNlbGVj dGlvbi5jcmVhdGVSYW5nZSkKCQkJewoJCQkJcmV0dXJuIGRvY3VtZW50LnNlbGVj dGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ7CgkJCX0KCQkJZWxzZSBpZiAod2luZG93 LmdldFNlbGVjdGlvbikKCQkJewoJCQkJcmV0dXJuIHdpbmRvdy5nZXRTZWxlY3Rp b24oKSArICcnOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJuIGZhbHNlOwoJ CQl9CgkJfTsKCgkJLyoqCgkJKiBQYXN0ZSBIVE1MCgkJKi8KCQl0aGlzLmluc2Vy dF90ZXh0ID0gZnVuY3Rpb24odGV4dCwgbW92ZXN0YXJ0LCBtb3ZlZW5kKQoJCXsK CQkJdGhpcy5jaGVja19mb2N1cygpOwoKCQkJaWYgKGRvY3VtZW50LnNlbGVjdGlv biAmJiBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UpCgkJCXsKCQkJCXZh ciBzZWwgPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsKCQkJCXNl bC50ZXh0ID0gdGV4dC5yZXBsYWNlKC9ccj9cbi9nLCAnXHJcbicpOwoKCQkJCWlm IChtb3Zlc3RhcnQgPT09IGZhbHNlKQoJCQkJewoJCQkJCS8vIGRvIG5vdGhpbmcK CQkJCX0KCQkJCWVsc2UgaWYgKHR5cGVvZiBtb3Zlc3RhcnQgIT0gJ3VuZGVmaW5l ZCcpCgkJCQl7CgkJCQkJc2VsLm1vdmVTdGFydCgnY2hhcmFjdGVyJywgLXRleHQu dkJsZW5ndGgoKSArbW92ZXN0YXJ0KTsKCQkJCQlzZWwubW92ZUVuZCgnY2hhcmFj dGVyJywgLW1vdmVlbmQpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXNlbC5t b3ZlU3RhcnQoJ2NoYXJhY3RlcicsIC10ZXh0LnZCbGVuZ3RoKCkpOwoJCQkJfQoJ CQkJc2VsLnNlbGVjdCgpOwoJCQl9CgkJCWVsc2UgaWYgKHR5cGVvZih0aGlzLmVk aXRkb2Muc2VsZWN0aW9uU3RhcnQpICE9ICd1bmRlZmluZWQnKQoJCQl7CgkJCQl2 YXIgb3BuID0gdGhpcy5lZGl0ZG9jLnNlbGVjdGlvblN0YXJ0ICsgMDsKCQkJCXZh ciBzY3JvbGxwb3MgPSB0aGlzLmVkaXRkb2Muc2Nyb2xsVG9wOwoKCQkJCXRoaXMu ZWRpdGRvYy52YWx1ZSA9IHRoaXMuZWRpdGRvYy52YWx1ZS5zdWJzdHIoMCwgdGhp cy5lZGl0ZG9jLnNlbGVjdGlvblN0YXJ0KSArIHRleHQgKyB0aGlzLmVkaXRkb2Mu dmFsdWUuc3Vic3RyKHRoaXMuZWRpdGRvYy5zZWxlY3Rpb25FbmQpOwoKCQkJCWlm IChtb3Zlc3RhcnQgPT09IGZhbHNlKQoJCQkJewoJCQkJCS8vIGRvIG5vdGhpbmcK CQkJCX0KCQkJCWVsc2UgaWYgKHR5cGVvZiBtb3Zlc3RhcnQgIT0gJ3VuZGVmaW5l ZCcpCgkJCQl7CgkJCQkJdGhpcy5lZGl0ZG9jLnNlbGVjdGlvblN0YXJ0ID0gb3Bu ICsgbW92ZXN0YXJ0OwoJCQkJCXRoaXMuZWRpdGRvYy5zZWxlY3Rpb25FbmQgPSBv cG4gKyB0ZXh0LnZCbGVuZ3RoKCkgLSBtb3ZlZW5kOwoJCQkJfQoJCQkJZWxzZQoJ CQkJewoJCQkJCXRoaXMuZWRpdGRvYy5zZWxlY3Rpb25TdGFydCA9IG9wbjsKCQkJ CQl0aGlzLmVkaXRkb2Muc2VsZWN0aW9uRW5kID0gb3BuICsgdGV4dC52Qmxlbmd0 aCgpOwoJCQkJfQoJCQkJdGhpcy5lZGl0ZG9jLnNjcm9sbFRvcCA9IHNjcm9sbHBv czsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCS8vIGZhaWxlZCAtIGp1c3Qgc3R1ZmYg aXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVzc2FnZQoJCQkJdGhpcy5lZGl0ZG9jLnZh bHVlICs9IHRleHQ7CgkJCX0KCQl9OwoKCQkvKioKCQkqIFByZXBhcmUgRm9ybSBG b3IgU3VibWl0CgkJKi8KCQl0aGlzLnByZXBhcmVfc3VibWl0ID0gZnVuY3Rpb24o c3ViamVjdHRleHQsIG1pbmNoYXJzKQoJCXsKCQkJdmFyIHJldHVybnZhbHVlID0g dmFsaWRhdGVtZXNzYWdlKHRoaXMudGV4dG9iai52YWx1ZSwgc3ViamVjdHRleHQs IG1pbmNoYXJzKTsKCgkJCWlmIChyZXR1cm52YWx1ZSkKCQkJewoJCQkJcmV0dXJu IHJldHVybnZhbHVlOwoJCQl9CgkJCWVsc2UgaWYgKHRoaXMuY2FwdGNoYSAhPSBu dWxsICYmIHRoaXMuY2FwdGNoYS5mYWlsZWQpCgkJCXsKCQkJCXJldHVybiByZXR1 cm52YWx1ZTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRoaXMuY2hlY2tfZm9jdXMo KTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCgkJLy8gPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KCQkvLyBTYWZhcmkgLyBPbGQgT3BlcmEgU3RhbmRh cmQgRWRpdG9yIE9ubHkKCQkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoJCWlmIChpc19zYWYgfHwgKGlzX29wZXJhICYmICghb3BlcmEudmVyc2lvbiB8 fCBvcGVyYS52ZXJzaW9uKCkgPCA4KSkpCgkJewoJCQkvKioKCQkJKiBJbnNlcnQg TGlzdCBmb3IgU2FmYXJpIGFuZCBvbGRlciBPcGVyYQoJCQkqLwoJCQl0aGlzLmlu c2VydGxpc3QgPSBmdW5jdGlvbihwaHJhc2UsIGxpc3R0eXBlKQoJCQl7CgkJCQl2 YXIgb3BlbnRhZyA9ICdbTElTVCcgKyAobGlzdHR5cGUgPyAoJz0nICsgbGlzdHR5 cGUpIDogJycpICsgJ11cbic7CgkJCQl2YXIgY2xvc2V0YWcgPSAnWy9MSVNUXSc7 CgkJCQlpZiAodHh0ID0gdGhpcy5nZXRfc2VsZWN0aW9uKCkpCgkJCQl7CgkJCQkJ dmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgnKFtcclxuXSt8XltcclxuXSopKD8hXFxb XFwqXFxdfFxcW1xcLz9saXN0KSg/PVteXHJcbl0pJywgJ2dpJyk7CgkJCQkJdHh0 ID0gb3BlbnRhZyArIFBIUC50cmltKHR4dCkucmVwbGFjZShyZWdleCwgJyQxWypd JykgKyAnXG4nICsgY2xvc2V0YWc7CgkJCQkJdGhpcy5pbnNlcnRfdGV4dCh0eHQs IHR4dC52Qmxlbmd0aCgpLCAwKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQl0 aGlzLmluc2VydF90ZXh0KG9wZW50YWcsIG9wZW50YWcubGVuZ3RoLCAwKTsKCgkJ CQkJd2hpbGUgKGxpc3R2YWx1ZSA9IHByb21wdCh2YnBocmFzZVsnZW50ZXJfbGlz dF9pdGVtJ10sICcnKSkKCQkJCQl7CgkJCQkJCWxpc3R2YWx1ZSA9ICdbKl0nICsg bGlzdHZhbHVlICsgJ1xuJzsKCQkJCQkJdGhpcy5pbnNlcnRfdGV4dChsaXN0dmFs dWUsIGxpc3R2YWx1ZS52Qmxlbmd0aCgpLCAwKTsKCQkJCQl9CgoJCQkJCXRoaXMu aW5zZXJ0X3RleHQoY2xvc2V0YWcsIGNsb3NldGFnLmxlbmd0aCwgMCk7CgkJCQl9 CgkJCX07CgkJfQoJfQoKCS8vIGdlbnRsZW1lbiwgc3RhcnQgeW91ciBlbmdpbmVz Li4uCgl0aGlzLmluaXQoKTsKfQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLy8gRWRpdG9yIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb25zCgovKioKKiBD bGFzcyBjb250YWluaW5nIGVkaXRvciBldmVudCBoYW5kbGVycwoqLwpmdW5jdGlv biB2Ql9UZXh0X0VkaXRvcl9FdmVudHMoKQp7Cn0KCi8qKgoqIEhhbmRsZXMgYSBj bGljayBvbiBhIHNtaWxpZSBpbiB0aGUgc21pbGllYm94CiovCnZCX1RleHRfRWRp dG9yX0V2ZW50cy5wcm90b3R5cGUuc21pbGllX29uY2xpY2sgPSBmdW5jdGlvbihl KQp7Cgl2Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0uaW5zZXJ0X3NtaWxpZShlLAoJ CXRoaXMuYWx0LAoJCXRoaXMuc3JjLAoJCXRoaXMuaWQuc3Vic3RyKHRoaXMuaWQu bGFzdEluZGV4T2YoJ18nKSArIDEpCgkpOwoKCWlmICh0eXBlb2Ygc21pbGllX3dp bmRvdyAhPSAndW5kZWZpbmVkJyAmJiAhc21pbGllX3dpbmRvdy5jbG9zZWQpCgl7 CgkJc21pbGllX3dpbmRvdy5mb2N1cygpOwoJfQoKCXJldHVybiBmYWxzZTsKfTsK Ci8qKgoqIEhhbmRsZXMgYSBtb3VzZSBldmVudCBvbiBhIGNvbW1hbmQgYnV0dG9u CiovCnZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuY29tbWFuZF9idXR0 b25fb25tb3VzZWV2ZW50ID0gZnVuY3Rpb24oZSkKewoJZSA9IGRvX2FuX2UoZSk7 CgoJaWYgKGUudHlwZSA9PSAnY2xpY2snKQoJewoJCXZCX0VkaXRvclt0aGlzLmVk aXRvcmlkXS5mb3JtYXQoZSwgdGhpcy5jbWQsIGZhbHNlLCB0cnVlKTsKCX0KCgl2 Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0uYnV0dG9uX2NvbnRleHQodGhpcywgZS50 eXBlKTsKfTsKCi8qKgoqIEhhbmRsZXMgYSBtb3VzZSBldmVudCBvbiBhIHBvcHVw IGNvbnRyb2xsZXIgYnV0dG9uCiovCnZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90 b3R5cGUucG9wdXBfYnV0dG9uX29ubW91c2VldmVudCA9IGZ1bmN0aW9uKGUpCnsK CWUgPSBkb19hbl9lKGUpOwoKCWlmIChlLnR5cGUgPT0gJ2NsaWNrJykKCXsKCQl0 aGlzLl9vbmNsaWNrKGUpOwoJCXZCX0VkaXRvclt0aGlzLmVkaXRvcmlkXS5tZW51 X2NvbnRleHQodGhpcywgJ21vdXNlb3ZlcicpOwoJfQoJZWxzZQoJewoJCXZCX0Vk aXRvclt0aGlzLmVkaXRvcmlkXS5tZW51X2NvbnRleHQodGhpcywgZS50eXBlKTsK CX0KfTsKCi8qKgoqIE92ZXJyaWRlcyB0aGUgc2hvdygpIGZ1bmN0aW9uIGZyb20g dGhlIHZCbWVudSBzeXN0ZW0KKgoqIEBwYXJhbQlvYmplY3QJQ29udHJvbCBvYmpl Y3QKKiBAcGFyYW0JYm9vbGVhbglTaG93IGluc3RhbnRseT8KKi8KdkJfVGV4dF9F ZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5wb3B1cF9idXR0b25fc2hvdyA9IGZ1bmN0 aW9uKG9iaiwgaW5zdGFudCkKewoJaWYgKHR5cGVvZiB2Ql9FZGl0b3Jbb2JqLmVk aXRvcmlkXS5wb3B1cHNbb2JqLmNtZF0gPT0gJ3VuZGVmaW5lZCcgfHwgdkJfRWRp dG9yW29iai5lZGl0b3JpZF0ucG9wdXBzW29iai5jbWRdID09IG51bGwpCgl7CgkJ dkJfRWRpdG9yW29iai5lZGl0b3JpZF0uaW5pdF9wb3B1cF9tZW51KG9iaik7Cgl9 CgllbHNlIGlmIChvYmouY21kID09ICdhdHRhY2gnICYmICh0eXBlb2YgdkJfQXR0 YWNobWVudHMgPT0gJ3VuZGVmaW5lZCcgfHwgIXZCX0F0dGFjaG1lbnRzLmhhc19h dHRhY2htZW50cygpKSkKCXsKCQlyZXR1cm4gZmV0Y2hfb2JqZWN0KCdtYW5hZ2Vf YXR0YWNobWVudHNfYnV0dG9uJykub25jbGljaygpOwoJfQoJdGhpcy5fc2hvdyhv YmosIGluc3RhbnQpOwp9OwoKLyoqCiogSGFuZGxlcyBhIHNlbGVjdGlvbiBmcm9t IGEgZm9ybWF0dGluZyA8c2VsZWN0PiBtZW51CiovCnZCX1RleHRfRWRpdG9yX0V2 ZW50cy5wcm90b3R5cGUuZm9ybWF0dGluZ19zZWxlY3Rfb25jaGFuZ2UgPSBmdW5j dGlvbihlKQp7Cgl2YXIgYXJnID0gdGhpcy5vcHRpb25zW3RoaXMuc2VsZWN0ZWRJ bmRleF0udmFsdWU7CglpZiAoYXJnICE9ICcnKQoJewoJCXZCX0VkaXRvclt0aGlz LmVkaXRvcmlkXS5mb3JtYXQoZSwgdGhpcy5jbWQsIGFyZyk7Cgl9Cgl0aGlzLnNl bGVjdGVkSW5kZXggPSAwOwp9OwoKLyoqCiogSGFuZGxlcyBhIHNlbGVjdGlvbiBm cm9tIHRoZSBzbWlsaWVzIDxzZWxlY3Q+IG1lbnUKKi8KdkJfVGV4dF9FZGl0b3Jf RXZlbnRzLnByb3RvdHlwZS5zbWlsaWVzZWxlY3Rfb25jaGFuZ2UgPSBmdW5jdGlv bihlKQp7CglpZiAodGhpcy5vcHRpb25zW3RoaXMuc2VsZWN0ZWRJbmRleF0udmFs dWUgIT0gJycpCgl7CgkJdkJfRWRpdG9yW3RoaXMuZWRpdG9yaWRdLmluc2VydF9z bWlsaWUoZSwKCQkJdGhpcy5vcHRpb25zW3RoaXMuc2VsZWN0ZWRJbmRleF0udmFs dWUsCgkJCXRoaXMub3B0aW9uc1t0aGlzLnNlbGVjdGVkSW5kZXhdLnNtaWxpZXBh dGgsCgkJCXRoaXMub3B0aW9uc1t0aGlzLnNlbGVjdGVkSW5kZXhdLnNtaWxpZWlk CgkJKTsKCX0KCXRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7Cn07CgovKioKKiBIYW5k bGVzIGEgc2VsZWN0aW9uIGZyb20gdGhlIGF0dGFjaG1lbnQgPHNlbGVjdD4gbWVu dQoqLwp2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmF0dGFjaHNlbGVj dF9vbmNoYW5nZSA9IGZ1bmN0aW9uKGUpCnsKCXZhciBhcmcgPSB0aGlzLm9wdGlv bnNbdGhpcy5zZWxlY3RlZEluZGV4XS52YWx1ZTsKCWlmIChhcmcgIT0gJycpCgl7 CgkJdkJfRWRpdG9yW3RoaXMuZWRpdG9yaWRdLndyYXBfdGFncygnYXR0YWNoJywg ZmFsc2UsIGFyZyk7Cgl9Cgl0aGlzLnNlbGVjdGVkSW5kZXggPSAwOwp9OwoKLyoq CiogSGFuZGxlcyBhIG1vdXNlIG92ZXIgZXZlbnQgZm9yIHRoZSBhdHRhY2htZW50 IDxzZWxlY3Q+IG1lbnUKKi8KdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlw ZS5hdHRhY2hzZWxlY3Rfb25tb3VzZW92ZXIgPSBmdW5jdGlvbihlKQp7CglpZiAo dGhpcy5vcHRpb25zLmxlbmd0aCA8PSAyKQoJewoJCXZCX0VkaXRvclt0aGlzLmVk aXRvcmlkXS5idWlsZF9hdHRhY2htZW50c19wb3B1cCh0aGlzKTsKCQlyZXR1cm4g dHJ1ZTsKCX0KfTsKCi8qKgoqIEhhbmRsZXMgYSBtb3VzZSBldmVudCBvbiBhIG1l bnUgb3B0aW9uCiovCnZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUubWVu dW9wdGlvbl9vbm1vdXNlZXZlbnQgPSBmdW5jdGlvbihlKQp7CgllID0gZG9fYW5f ZShlKTsKCXZCX0VkaXRvclt0aGlzLmVkaXRvcmlkXS5idXR0b25fY29udGV4dCh0 aGlzLCBlLnR5cGUsICdtZW51Jyk7Cn07CgovKioKKiBIYW5kbGVzIGEgY2xpY2sg b24gYSBmb3JtYXR0aW5nIG9wdGlvbiBpbiB0aGUgZm9udC9zaXplIG1lbnVzCiov CnZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuZm9ybWF0dGluZ19vcHRp b25fb25jbGljayA9IGZ1bmN0aW9uKGUpCnsKCXZCX0VkaXRvclt0aGlzLmVkaXRv cmlkXS5mb3JtYXQoZSwgdGhpcy5jbWQsIHRoaXMuZmlyc3RDaGlsZC5pbm5lckhU TUwpOwoJdkJtZW51LmhpZGUoKTsKfTsKCi8qKgoqIEhhbmRsZXMgYSBjbGljayBv biBhIGNvbG9yIG9wdGlvbiBpbiB0aGUgY29sb3IgbWVudQoqLwp2Ql9UZXh0X0Vk aXRvcl9FdmVudHMucHJvdG90eXBlLmNvbG9yb3B0aW9uX29uY2xpY2sgPSBmdW5j dGlvbihlKQp7CglmZXRjaF9vYmplY3QodGhpcy5lZGl0b3JpZCArICdfY29sb3Jf YmFyJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb2xvcm5hbWU7Cgl2 Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0uZm9ybWF0KGUsIHRoaXMuY21kLCB0aGlz LmNvbG9ybmFtZSk7Cgl2Qm1lbnUuaGlkZSgpOwp9OwoKLyoqCiogSGFuZGxlcyBh IGNsaWNrIG9uIHRoZSBjb2xvciBpbnN0YW50LXNlbGVjdCBidXR0b24KKi8KdkJf VGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5jb2xvcm91dF9vbmNsaWNrID0g ZnVuY3Rpb24oZSkKewoJZSA9IGRvX2FuX2UoZSk7Cgl2Ql9FZGl0b3JbdGhpcy5l ZGl0b3JpZF0uZm9ybWF0KGUsICdmb3JlY29sb3InLCBmZXRjaF9vYmplY3QodGhp cy5lZGl0b3JpZCArICdfY29sb3JfYmFyJykuc3R5bGUuYmFja2dyb3VuZENvbG9y KTsKCXJldHVybiBmYWxzZTsKfTsKCi8qKgoqIEhhbmRsZXMgYSBjbGljayBvbiBh IHNtaWxpZSBvcHRpb24gaW4gdGhlIHNtaWxpZSBtZW51CiovCnZCX1RleHRfRWRp dG9yX0V2ZW50cy5wcm90b3R5cGUuc21pbGllb3B0aW9uX29uY2xpY2sgPSBmdW5j dGlvbihlKQp7Cgl2Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0uYnV0dG9uX2NvbnRl eHQodGhpcywgJ21vdXNlb3V0JywgJ21lbnUnKTsKCXZCX0VkaXRvclt0aGlzLmVk aXRvcmlkXS5pbnNlcnRfc21pbGllKGUsIHRoaXMuc21pbGlldGV4dCwgZmV0Y2hf dGFncyh0aGlzLCAnaW1nJylbMF0uc3JjLCB0aGlzLnNtaWxpZWlkKTsKCXZCbWVu dS5oaWRlKCk7Cn07CgovKioKKiBIYW5kbGVzIGEgY2xpY2sgb24gdGhlICdNb3Jl JyBsaW5rIGluIHRoZSBzbWlsaWUgbWVudQoqLwp2Ql9UZXh0X0VkaXRvcl9FdmVu dHMucHJvdG90eXBlLnNtaWxpZW1vcmVfb25jbGljayA9IGZ1bmN0aW9uKGUpCnsK CXZCX0VkaXRvclt0aGlzLmVkaXRvcmlkXS5vcGVuX3NtaWxpZV93aW5kb3coc21p bGlld2luZG93X3gsIHNtaWxpZXdpbmRvd195KTsKCXZCbWVudS5oaWRlKCk7Cn07 CgovKioKKiBIYW5kbGVzIGEgY2xpY2sgb24gdGhlICdNYW5hZ2UnIGxpbmsgaW4g dGhlIGF0dGFjaG1lbnRzIG1lbnUKKi8KdkJfVGV4dF9FZGl0b3JfRXZlbnRzLnBy b3RvdHlwZS5hdHRhY2htYW5hZ2Vfb25jbGljayA9IGZ1bmN0aW9uKGUpCnsKCXZC bWVudS5oaWRlKCk7CglmZXRjaF9vYmplY3QoJ21hbmFnZV9hdHRhY2htZW50c19i dXR0b24nKS5vbmNsaWNrKCk7Cn07CgovKioKKiBIYW5kbGVzIGEgY2xpY2sgb24g YW4gYXR0YWNobWVudCBvcHRpb24gaW4gdGhlIGF0dGFjaG1lbnRzIG1lbnUKKi8K dkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5hdHRhY2hvcHRpb25fb25j bGljayA9IGZ1bmN0aW9uKGUpCnsKCXZCX0VkaXRvclt0aGlzLmVkaXRvcmlkXS5i dXR0b25fY29udGV4dCh0aGlzLCAnbW91c2VvdXQnLCAnbWVudScpOwoJdkJfRWRp dG9yW3RoaXMuZWRpdG9yaWRdLndyYXBfdGFncygnYXR0YWNoJywgZmFsc2UsIHRo aXMuYXR0YWNobWVudGlkKTsKCXZCbWVudS5oaWRlKCk7Cn07Cgp2Ql9UZXh0X0Vk aXRvcl9FdmVudHMucHJvdG90eXBlLmF0dGFjaGluc2VydGFsbF9vbmNsaWNrID0g ZnVuY3Rpb24oZSkKewoJdmFyIGluc2VydCA9ICcnOwoJdmFyIGJyZWFrY2hhciA9 ICh2Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0ud3lzaXd5Z19tb2RlID8gJzxiciAv PjxiciAvPicgOiAnXHJcblxyXG4nKTsKCglmb3IgKHZhciBpZCBpbiB2Ql9BdHRh Y2htZW50cy5hdHRhY2htZW50cykKCXsKCQlpbnNlcnQgKz0gaW5zZXJ0ICE9ICcn ID8gYnJlYWtjaGFyIDogJyc7CgkJaW5zZXJ0ICs9ICdbQVRUQUNIXScgKyBpZCAr ICdbL0FUVEFDSF0nOwoJfQoJdkJfRWRpdG9yW3RoaXMuZWRpdG9yaWRdLmluc2Vy dF90ZXh0KGluc2VydCk7Cgl2Qm1lbnUuaGlkZSgpOwp9CgovKioKKiBDbG9zZXMg dGhlIHNtaWxpZSB3aW5kb3cgd2hlbiB0aGUgbWFpbiBwYWdlIGV4aXRzCiovCnZC X1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5cGUuc21pbGlld2luZG93X29udW5s b2FkID0gZnVuY3Rpb24oZSkKewoJaWYgKHR5cGVvZiBzbWlsaWVfd2luZG93ICE9 ICd1bmRlZmluZWQnICYmICFzbWlsaWVfd2luZG93LmNsb3NlZCkKCXsKCQlzbWls aWVfd2luZG93LmNsb3NlKCk7Cgl9Cn07CgovKioKKiBTZXRzIGVkaXR3aW4uaGFz Zm9jdXMgPSB0cnVlIG9uIGZvY3VzCiovCnZCX1RleHRfRWRpdG9yX0V2ZW50cy5w cm90b3R5cGUuZWRpdHdpbl9vbmZvY3VzID0gZnVuY3Rpb24oZSkKewoJdGhpcy5o YXNmb2N1cyA9IHRydWU7Cn07CgovKioKKiBTZXRzIGVkaXR3aW4uaGFzZm9jdXMg PSBmYWxzZSBvbiBibHVyCiovCnZCX1RleHRfRWRpdG9yX0V2ZW50cy5wcm90b3R5 cGUuZWRpdHdpbl9vbmJsdXIgPSBmdW5jdGlvbihlKQp7Cgl0aGlzLmhhc2ZvY3Vz ID0gZmFsc2U7Cn07CgovKioKKiBTZXRzIGNvbnRleHQgYW5kIGhpZGVzIG1lbnVz IG9uIG1vdXNlIGNsaWNrcyBpbiB0aGUgZWRpdG9yCiovCnZCX1RleHRfRWRpdG9y X0V2ZW50cy5wcm90b3R5cGUuZWRpdGRvY19vbm1vdXNldXAgPSBmdW5jdGlvbihl KQp7Cgl2Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0uc2V0X2NvbnRleHQoKTsKCWlm ICh2Ql9FZGl0b3JbdGhpcy5lZGl0b3JpZF0ucG9wdXBtb2RlKQoJewoJCXZCbWVu dS5oaWRlKCk7Cgl9Cn07CgovKioKKiBTZXRzIGNvbnRleHQgb24ga2V5IHByZXNz ZXMgaW4gdGhlIGVkaXRvcgoqLwp2Ql9UZXh0X0VkaXRvcl9FdmVudHMucHJvdG90 eXBlLmVkaXRkb2Nfb25rZXl1cCA9IGZ1bmN0aW9uKGUpCnsKCXZCX0VkaXRvclt0 aGlzLmVkaXRvcmlkXS5zZXRfY29udGV4dCgpOwp9OwoKLyoqCiogSGFuZGxlIGEg a2V5cHJlc3MgZXZlbnQgaW4gdGhlIGVkaXRvciB3aW5kb3cKKi8KdkJfVGV4dF9F ZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5lZGl0ZG9jX29ua2V5cHJlc3MgPSBmdW5j dGlvbihlKQp7CglpZiAoIWUpCgl7CgkJZSA9IHdpbmRvdy5ldmVudDsKCX0KCglp ZiAoZS5jdHJsS2V5KQoJewoJCXZhciBjb2RlID0gZS5jaGFyQ29kZSA/IGUuY2hh ckNvZGUgOiBlLmtleUNvZGU7CgkJc3dpdGNoIChTdHJpbmcuZnJvbUNoYXJDb2Rl KGNvZGUpLnRvTG93ZXJDYXNlKCkpCgkJewoJCQljYXNlICdiJzogY21kID0gJ2Jv bGQnOyBicmVhazsKCQkJY2FzZSAnaSc6IGNtZCA9ICdpdGFsaWMnOyBicmVhazsK CQkJY2FzZSAndSc6IGNtZCA9ICd1bmRlcmxpbmUnOyBicmVhazsKCQkJZGVmYXVs dDogcmV0dXJuOwoJCX0KCgkJZSA9IGRvX2FuX2UoZSk7CgkJdkJfRWRpdG9yW3Ro aXMuZWRpdG9yaWRdLmFwcGx5X2Zvcm1hdChjbWQsIGZhbHNlLCBudWxsKTsKCQly ZXR1cm4gZmFsc2U7Cgl9CgllbHNlIGlmIChlLmtleUNvZGUgPT0gOSkKCXsKCQkv LyBmaXJzdCBsZXRzIHRyeSBwb3N0IGljb24sIHRoZW4gc3VibWl0LCB0aGVuIGp1 c3QgbGV0IGl0IHByb2NlZWQgbWFraW5nIHRoZSB0YWIKCQkvLyB5b3UgY2FuJ3Qg c3VwcHJlc3MgZXZlbnRzIGEgdGFiIGV2ZW4gb24gT3BlcmEgc28gc2tpcCB0aGF0 IHRvby4KCQl2YXIgZmlyc3RpY29uID0gZmV0Y2hfb2JqZWN0KCdyYl9pY29uaWRf MCcpOwoJCWlmIChmaXJzdGljb24gIT0gbnVsbCkKCQl7CgkJCWZpcnN0aWNvbi5m b2N1cygpOwoJCX0KCQllbHNlIGlmIChmZXRjaF9vYmplY3QodGhpcy5lZGl0b3Jp ZCArICdfc2F2ZScpICE9IG51bGwgJiYgIWlzX29wZXJhKQoJCXsKCQkJZmV0Y2hf b2JqZWN0KHRoaXMuZWRpdG9yaWQgKyAnX3NhdmUnKS5mb2N1cygpOwoJCX0KCQll bHNlIGlmIChmZXRjaF9vYmplY3QoJ3FyX3N1Ym1pdCcpICE9IG51bGwgJiYgIWlz X29wZXJhKQoJCXsKCQkJZmV0Y2hfb2JqZWN0KCdxcl9zdWJtaXQnKS5mb2N1cygp OwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm47CgkJfQoJCWUgPSBkb19hbl9lKGUp OwoJfQp9OwoKLyoqCiogU3RvcCByZXNpemluZyBvZiBpbWFnZXMgaW4gSUUKKi8K dkJfVGV4dF9FZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5lZGl0ZG9jX29ucmVzaXpl c3RhcnQgPSBmdW5jdGlvbihlKQp7CglpZiAoZS5zcmNFbGVtZW50LnRhZ05hbWUg PT0gJ0lNRycpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQp9OwoKLyoqCiogU2F2ZSBl ZGl0b3IgY29udGVudHMgdG8gdGV4dGFyZWEgc28gaWYgd2UgaGl0IGJhY2sgLyBm b3J3YXJkIGl0cyBub3QgbG9zdAoqIE9ubHkgYXBwZWFycyB0byB3b3JrIHdpdGgg RmlyZWZveCBhdCB0aGUgbW9tZW50CiovCmZ1bmN0aW9uIHNhdmVfaWZyYW1lX3Rv X3RleHRhcmVhKCkKewoJZm9yICh2YXIgZWRpdG9yaWQgaW4gdkJfRWRpdG9yKQoJ ewoJCWlmICh2Ql9FZGl0b3JbZWRpdG9yaWRdLnd5c2l3eWdfbW9kZSAmJiB2Ql9F ZGl0b3JbZWRpdG9yaWRdLmluaXRpYWxpemVkKQoJCXsKCQkJdkJfRWRpdG9yW2Vk aXRvcmlkXS50ZXh0b2JqLnZhbHVlID0gdkJfRWRpdG9yW2VkaXRvcmlkXS5nZXRf ZWRpdG9yX2NvbnRlbnRzKCk7CgkJfQoJfQp9CgppZiAod2luZG93LmF0dGFjaEV2 ZW50KQp7Cgl3aW5kb3cuYXR0YWNoRXZlbnQoJ29uYmVmb3JldW5sb2FkJywgc2F2 ZV9pZnJhbWVfdG9fdGV4dGFyZWEpOwp9CmVsc2UgaWYod2luZG93LmFkZEV2ZW50 TGlzdGVuZXIpCnsKCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd1bmxvYWQnLCBz YXZlX2lmcmFtZV90b190ZXh0YXJlYSwgdHJ1ZSk7Cn0KCi8vICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCi8vIEVkaXRvciBtb2RlIHN3aXRjaGVyIHN5c3Rl bQoKLyoqCiogU3dpdGNoIGVkaXRvciBiZXR3ZWVuIHN0YW5kYXJkIGFuZCB3eXNp d3lnIG1vZGVzCioKKiBAcGFyYW0Jc3RyaW5nCUVkaXRvcklEICh2Ql9FZGl0b3Jb eF0pCiovCmZ1bmN0aW9uIHN3aXRjaF9lZGl0b3JfbW9kZShlZGl0b3JpZCkKewoJ aWYgKEFKQVhfQ29tcGF0aWJsZSkKCXsKCQl2YXIgbW9kZSA9ICh2Ql9FZGl0b3Jb ZWRpdG9yaWRdLnd5c2l3eWdfbW9kZSA/IDAgOiAxKTsKCgkJaWYgKHZCX0VkaXRv cltlZGl0b3JpZF0uaW5mbHV4ID09IDEpCgkJewoJCQkvLyBhbHJlYWR5IGNsaWNr ZWQsIGdvIGF3YXkhCgkJCXJldHVybjsKCQl9CgkJZWxzZQoJCXsKCQkJdkJfRWRp dG9yW2VkaXRvcmlkXS5pbmZsdXggPSAxOwoJCX0KCgkJaWYgKHR5cGVvZiB2Qm1l bnUgIT0gJ3VuZGVmaW5lZCcpCgkJewoJCQl2Qm1lbnUuaGlkZSgpOwoJCX0KCgkJ dmFyIGFqYXggPSBuZXcgdkJfQUpBWF9IYW5kbGVyKHRydWUpOwoJCWFqYXgub25y ZWFkeXN0YXRlY2hhbmdlKGZ1bmN0aW9uKCkKCQl7CgkJCWlmIChhamF4LmhhbmRs ZXIucmVhZHlTdGF0ZSA9PSA0ICYmIGFqYXguaGFuZGxlci5zdGF0dXMgPT0gMjAw KQoJCQl7CgkJCQlpZiAoYWpheC5oYW5kbGVyLnJlc3BvbnNlWE1MKQoJCQkJewoJ CQkJCS8vIGRlc3Ryb3llcgoJCQkJCXZhciBwYXJzZXR5cGUgPSB2Ql9FZGl0b3Jb ZWRpdG9yaWRdLnBhcnNldHlwZTsKCQkJCQl2YXIgcGFyc2VzbWlsaWVzID0gdkJf RWRpdG9yW2VkaXRvcmlkXS5wYXJzZXNtaWxpZXM7CgkJCQkJdmFyIGFqYXhfZXh0 cmEgPSB2Ql9FZGl0b3JbZWRpdG9yaWRdLmFqYXhfZXh0cmE7CgoJCQkJCXZCX0Vk aXRvcltlZGl0b3JpZF0uZGVzdHJveSgpOwoKCQkJCQl2YXIgcGFyc2VkX3RleHQg PSBhamF4LmZldGNoX2RhdGEoZmV0Y2hfdGFncyhhamF4LmhhbmRsZXIucmVzcG9u c2VYTUwsICdtZXNzYWdlJylbMF0pOwoJCQkJCXZhciBtYXRjaGVzID0gcGFyc2Vk X3RleHQubWF0Y2goLyYjKFswLTldKyk7L2cpOwoJCQkJCWlmIChtYXRjaGVzKQoJ CQkJCXsKCQkJCQkJZm9yICh2YXIgaSA9IDA7IHR5cGVvZiBtYXRjaGVzW2ldICE9 ICd1bmRlZmluZWQnOyBpKyspCgkJCQkJCXsKCQkJCQkJCWlmIChzdWJtYXRjaCA9 IG1hdGNoZXNbaV0ubWF0Y2goL14mIyhbMC05XSspOyQvKSkKCQkJCQkJCXsKCQkJ CQkJCQlwYXJzZWRfdGV4dCA9IHBhcnNlZF90ZXh0LnJlcGxhY2Uoc3VibWF0Y2hb MF0sIFN0cmluZy5mcm9tQ2hhckNvZGUoc3VibWF0Y2hbMV0pKTsKCQkJCQkJCX0K CQkJCQkJfQoJCQkJCX0KCgkJCQkJLy8gcmVtb3ZpbmcgdGhpcyBsaW5lIGJlY2F1 c2Ugb2YgSUU3IGZvY3VzIGlzc3VlcyAtIG9uIHNlY29uZCBhY3RpdmF0aW9uIG9m IElFNyBXWVdJV1lHLCBmb2N1cyBpcyBsb3N0CgkJCQkJLy92Ql9FZGl0b3JbZWRp dG9yaWRdID0gbnVsbDsgLy8gY29sbGVjdCB0aGUgZ2FyYmFnZQoKCQkJCQl2Ql9F ZGl0b3JbZWRpdG9yaWRdID0gbmV3IHZCX1RleHRfRWRpdG9yKGVkaXRvcmlkLCBt b2RlLCBwYXJzZXR5cGUsIHBhcnNlc21pbGllcywgcGFyc2VkX3RleHQsIGFqYXhf ZXh0cmEpOwoJCQkJCXZCX0VkaXRvcltlZGl0b3JpZF0uY2hlY2tfZm9jdXMoKTsK CQkJCQlmZXRjaF9vYmplY3QoZWRpdG9yaWQgKyAnX21vZGUnKS52YWx1ZSA9IG1v ZGU7CgkJCQl9CgoJCQkJaWYgKGlzX2llKQoJCQkJewoJCQkJCWFqYXguaGFuZGxl ci5hYm9ydCgpOwoJCQkJfQoJCQl9CgkJfSk7CgoJCS8vICEhYXR0ZW50aW9uCgkJ YWpheC5zZW5kKCdhamF4LnBocD9kbz1lZGl0b3Jzd2l0Y2gnLCAnZG89ZWRpdG9y c3dpdGNoJwoJCQkrICcmdG93eXNpd3lnPScJKyBtb2RlCgkJCSsgJyZwYXJzZXR5 cGU9JyArIHZCX0VkaXRvcltlZGl0b3JpZF0ucGFyc2V0eXBlCgkJCSsgJyZhbGxv d3NtaWxpZT0nICsgdkJfRWRpdG9yW2VkaXRvcmlkXS5wYXJzZXNtaWxpZXMKCQkJ KyAnJm1lc3NhZ2U9JyArIFBIUC51cmxlbmNvZGUodkJfRWRpdG9yW2VkaXRvcmlk XS5nZXRfZWRpdG9yX2NvbnRlbnRzKCkpCgkJCSsgKHZCX0VkaXRvcltlZGl0b3Jp ZF0uYWpheF9leHRyYSA/ICgnJicgKyB2Ql9FZGl0b3JbZWRpdG9yaWRdLmFqYXhf ZXh0cmEpIDogJycpCgkJKTsKCX0KfQoKCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCi8vIEdlbmVyaWMgZ2xvYmFsIGVkaXRvciB2YXJpYWJsZXMKCi8q KgoqIERlZmluZSB3aGljaCBidXR0b25zIGFyZSBjb250ZXh0LWNvbnRyb2xsZWQK KgoqIEB2YXIJYXJyYXkJQ29udGV4dCBjb250cm9scwoqLwp2YXIgY29udGV4dGNv bnRyb2xzID0gbmV3IEFycmF5KAoJJ2JvbGQnLAoJJ2l0YWxpYycsCgkndW5kZXJs aW5lJywKCSdqdXN0aWZ5bGVmdCcsCgknanVzdGlmeWNlbnRlcicsCgknanVzdGlm eXJpZ2h0JywKCSdpbnNlcnRvcmRlcmVkbGlzdCcsCgknaW5zZXJ0dW5vcmRlcmVk bGlzdCcKKTsKCi8qKgoqIERlZmluZSBhdmFpbGFibGUgY29sb3IgbmFtZSBvcHRp b25zIC0ga2V5ZWQgd2l0aCBoZXggdmFsdWUKKgoqIEB2YXIJYXJyYXkJQ29sb3Ig b3B0aW9ucwoqLwp2YXIgY29sb3JvcHRpb25zID0gbmV3IEFycmF5KCk7CmNvbG9y b3B0aW9ucyA9IHsKCScjMDAwMDAwJyA6ICdCbGFjaycsCgknI0EwNTIyRCcgOiAn U2llbm5hJywKCScjNTU2QjJGJyA6ICdEYXJrT2xpdmVHcmVlbicsCgknIzAwNjQw MCcgOiAnRGFya0dyZWVuJywKCScjNDgzRDhCJyA6ICdEYXJrU2xhdGVCbHVlJywK CScjMDAwMDgwJyA6ICdOYXZ5JywKCScjNEIwMDgyJyA6ICdJbmRpZ28nLAoJJyMy RjRGNEYnIDogJ0RhcmtTbGF0ZUdyYXknLAoJJyM4QjAwMDAnIDogJ0RhcmtSZWQn LAoJJyNGRjhDMDAnIDogJ0RhcmtPcmFuZ2UnLAoJJyM4MDgwMDAnIDogJ09saXZl JywKCScjMDA4MDAwJyA6ICdHcmVlbicsCgknIzAwODA4MCcgOiAnVGVhbCcsCgkn IzAwMDBGRicgOiAnQmx1ZScsCgknIzcwODA5MCcgOiAnU2xhdGVHcmF5JywKCScj Njk2OTY5JyA6ICdEaW1HcmF5JywKCScjRkYwMDAwJyA6ICdSZWQnLAoJJyNGNEE0 NjAnIDogJ1NhbmR5QnJvd24nLAoJJyM5QUNEMzInIDogJ1llbGxvd0dyZWVuJywK CScjMkU4QjU3JyA6ICdTZWFHcmVlbicsCgknIzQ4RDFDQycgOiAnTWVkaXVtVHVy cXVvaXNlJywKCScjNDE2OUUxJyA6ICdSb3lhbEJsdWUnLAoJJyM4MDAwODAnIDog J1B1cnBsZScsCgknIzgwODA4MCcgOiAnR3JheScsCgknI0ZGMDBGRicgOiAnTWFn ZW50YScsCgknI0ZGQTUwMCcgOiAnT3JhbmdlJywKCScjRkZGRjAwJyA6ICdZZWxs b3cnLAoJJyMwMEZGMDAnIDogJ0xpbWUnLAoJJyMwMEZGRkYnIDogJ0N5YW4nLAoJ JyMwMEJGRkYnIDogJ0RlZXBTa3lCbHVlJywKCScjOTkzMkNDJyA6ICdEYXJrT3Jj aGlkJywKCScjQzBDMEMwJyA6ICdTaWx2ZXInLAoJJyNGRkMwQ0InIDogJ1Bpbmsn LAoJJyNGNURFQjMnIDogJ1doZWF0JywKCScjRkZGQUNEJyA6ICdMZW1vbkNoaWZm b24nLAoJJyM5OEZCOTgnIDogJ1BhbGVHcmVlbicsCgknI0FGRUVFRScgOiAnUGFs ZVR1cnF1b2lzZScsCgknI0FERDhFNicgOiAnTGlnaHRCbHVlJywKCScjRERBMERE JyA6ICdQbHVtJywKCScjRkZGRkZGJyA6ICdXaGl0ZScKfTsKCi8vICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vIHZCX0hpc3RvcnkKLy8gIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKCmZ1bmN0aW9uIHZCX0hpc3RvcnkoKQp7Cgl0 aGlzLmN1cnNvciA9IC0xOwoJdGhpcy5zdGFjayA9IG5ldyBBcnJheSgpOwp9Cgov LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyB2Ql9IaXN0b3J5IG1l dGhvZHMKCnZCX0hpc3RvcnkucHJvdG90eXBlLm1vdmVfY3Vyc29yID0gZnVuY3Rp b24oaW5jcmVtZW50KQp7Cgl2YXIgdGVzdCA9IHRoaXMuY3Vyc29yICsgaW5jcmVt ZW50OwoJaWYgKHRlc3QgPj0gMCAmJiB0aGlzLnN0YWNrW3Rlc3RdICE9IG51bGwg JiYgdHlwZW9mIHRoaXMuc3RhY2tbdGVzdF0gIT0gJ3VuZGVmaW5lZCcpCgl7CgkJ dGhpcy5jdXJzb3IgKz0gaW5jcmVtZW50OwoJfQp9OwoKdkJfSGlzdG9yeS5wcm90 b3R5cGUuYWRkX3NuYXBzaG90ID0gZnVuY3Rpb24oc3RyKQp7CglpZiAodGhpcy5z dGFja1t0aGlzLmN1cnNvcl0gPT0gc3RyKQoJewoJCXJldHVybjsKCX0KCWVsc2UK CXsKCQl0aGlzLmN1cnNvcisrOwoJCXRoaXMuc3RhY2tbdGhpcy5jdXJzb3JdID0g c3RyOwoKCQlpZiAodHlwZW9mIHRoaXMuc3RhY2tbdGhpcy5jdXJzb3IgKyAxXSAh PSAndW5kZWZpbmVkJykKCQl7CgkJCXRoaXMuc3RhY2tbdGhpcy5jdXJzb3IgKyAx XSA9IG51bGw7CgkJfQoJfQp9OwoKdkJfSGlzdG9yeS5wcm90b3R5cGUuZ2V0X3Nu YXBzaG90ID0gZnVuY3Rpb24oKQp7CglpZiAodHlwZW9mIHRoaXMuc3RhY2tbdGhp cy5jdXJzb3JdICE9ICd1bmRlZmluZWQnICYmIHRoaXMuc3RhY2tbdGhpcy5jdXJz b3JdICE9IG51bGwpCgl7CgkJcmV0dXJuIHRoaXMuc3RhY2tbdGhpcy5jdXJzb3Jd OwoJfQoJZWxzZQoJewoJCXJldHVybiBmYWxzZTsKCX0KfTsKCi8qPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PSpcCnx8ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQp8fCAjIENW UzogJFJDU2ZpbGUkIC0gJFJldmlzaW9uOiAxNzcwOSAkCnx8ICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjClwqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSov ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_editor.css Content-Type: text/css; charset=windows-1251; name=vbulletin_editor.css Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_editor.css Content-Transfer-Encoding: 8bit /*======================================================================*\ || #################################################################### || || # vBulletin 3.6.8 || # ---------------------------------------------------------------- # || || # All code in this file is ©2000-2007 Jelsoft Enterprises Ltd. # || || # This file may not be redistributed in whole or significant part. # || || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # || || # http://www.vbulletin.com | http://www.vbulletin.com/license.html # || || #################################################################### || \*======================================================================*/ /* the container for the editor */ .vBulletin_editor { border: 2px groove; } /* the container for all the edit controls */ #controlbar, .controlbar { padding: 2px; } /* the WYSIWYG edit area itself */ #htmlbox { border: 2px inset; font: 10pt verdana; overflow: auto; } /* an individual button */ .imagebutton { left: 0px; top: 0px; } /* an individual WYSIWYG color element in the color popup */ .ocolor { padding: 2px; font-size: 1px; } /* WYSIWYG the part of the color element that gets colored */ .ocolor div { width: 10px; height: 10px; border: 1px solid #ACA899; } /* WYSIWYG font, size and smilie elements within popups */ .ofont, .osize, .osmilie, .otextlink { font: 11px tahoma; cursor: default; } /* style for WYSIWYG font option elements */ .ofont { padding: 0px 4px 0px 10px; font-size: 14px; height: 20px; } /* style for WYSIWYG size option elements */ .osize { padding: 0px 4px 0px 4px; width: 30px; } /* the smilie image within a WYSIWYG smilie popup */ .osmilie img { vertical-align: middle; margin: 4px; } /* text buttons within popup menus */ .otextlink { text-align: center; margin-top: 4px; height: 20px; } /* the left cell of a WYSIWYG popup menu control */ .popup_feedback { font: 11px tahoma; height: 18px; padding: 0px 3px 0px 3px; white-space: nowrap; overflow: hidden; } /* the container window for a WYSIWYG popup menu */ .popupwindow { border: 1px solid APPWORKSPACE; padding: 3px; position: absolute; left: 0px; top: 0px; z-index: 5; } /* the WYSIWYG color popup */ #popup_forecolor { padding: 3px; } /* the WYSIWYG font popup */ #popup_fontname { padding: 1px; overflow: auto; overflow-x: hidden; overflow-y: scroll; } /* the WYSIWYG size popup */ #popup_fontsize { padding: 1px; } /* the WYSIWYG smilie popup */ #popup_smilie { padding: 1px; overflow: auto; overflow-x: hidden; overflow-y: scroll; } /* the WYSIWYG attach popup */ #popup_attach { padding: 1px; overflow: auto; overflow-x: hidden; overflow-y: scroll; } /* the context-notification area for WYSIWYG font and size feedback */ #fontOut, #sizeOut, .popup_feedback div { height: 16px; border: 0px solid; padding: 0px 2px 0px 2px; cursor: default; font: 11px tahoma; overflow: hidden; } /*======================================================================*\ || #################################################################### || # CVS: $RCSfile$ - $Revision: 13469 $ || #################################################################### \*======================================================================*/ ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_quick_edit.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_quick_edit.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_quick_edit.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qKgoqIEluaXRpYWxpemUgQUpBWCBw b3N0IGVkaXRpbmcKKgoqIEBwYXJhbQltaXhlZAlJRCBvZiBlbGVtZW50IChvciBh Y3R1YWwgZWxlbWVudCkgY29udGFpbmluZyBwb3N0Yml0cwoqLwpmdW5jdGlvbiB2 Ql9BSkFYX1F1aWNrRWRpdF9Jbml0KHBvc3RvYmopCnsKCWlmIChBSkFYX0NvbXBh dGlibGUpCgl7CgkJaWYgKHR5cGVvZiBwb3N0b2JqID09ICdzdHJpbmcnKQoJCXsK CQkJcG9zdG9iaiA9IGZldGNoX29iamVjdChwb3N0b2JqKTsKCQl9CgkJdmFyIGFu Y2hvcnMgPSBmZXRjaF90YWdzKHBvc3RvYmosICdhJyk7CgkJdmFyIHBvc3RpZCA9 IDA7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBhbmNob3JzLmxlbmd0aDsgaSsrKQoJ CXsKCQkJaWYgKGFuY2hvcnNbaV0ubmFtZSAmJiBhbmNob3JzW2ldLm5hbWUuaW5k ZXhPZigndkI6OlF1aWNrRWRpdDo6JykgIT0gLTEpCgkJCXsKCQkJCWFuY2hvcnNb aV0ub25jbGljayA9IHZCX0FKQVhfUXVpY2tFZGl0b3JfRXZlbnRzLnByb3RvdHlw ZS5lZGl0YnV0dG9uX2NsaWNrOwoJCQl9CgkJfQoJfQp9CgovLyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwovLyB2Ql9BSkFYX1F1aWNrRWRpdG9yCi8vICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovKioKKiBDbGFzcyB0byBhbGxv dyBxdWljayBlZGl0aW5nIG9mIHBvc3RzIHdpdGhpbiBwb3N0Yml0IHZpYSBBSkFY CiovCmZ1bmN0aW9uIHZCX0FKQVhfUXVpY2tFZGl0b3IoKQp7Cgl0aGlzLnBvc3Rp ZCA9IG51bGw7Cgl0aGlzLm1lc3NhZ2VvYmogPSBudWxsOwoJdGhpcy5jb250YWlu ZXIgPSBudWxsOwoJdGhpcy5vcmlnaW5hbGh0bWwgPSBudWxsOwoJdGhpcy5hamF4 ID0gbnVsbDsKCXRoaXMuZWRpdHN0YXRlID0gZmFsc2U7Cgl0aGlzLmVkaXRvcmNv dW50ZXIgPSAwOwoJdGhpcy5wZW5kaW5nID0gZmFsc2U7Cn0KCi8vID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci8vIHZCX0FKQVhfUXVpY2tFZGl0b3IgbWV0 aG9kcwoKLyoqCiogQ2hlY2sgaWYgdGhlIEFKQVggc3lzdGVtIGlzIHJlYWR5IGZv ciB1cyB0byBwcm9jZWVkCioKKiBAcmV0dXJuCWJvb2xlYW4KKi8KdkJfQUpBWF9R dWlja0VkaXRvci5wcm90b3R5cGUucmVhZHkgPSBmdW5jdGlvbigpCnsKCWlmICh0 aGlzLmVkaXRzdGF0ZSB8fCB0aGlzLnBlbmRpbmcpCgl7CgkJcmV0dXJuIGZhbHNl OwoJfQoJZWxzZQoJewoJCXJldHVybiB0cnVlOwoJfQp9OwoKLyoqCiogUHJlcGFy ZSB0byBlZGl0IGEgc2luZ2xlIHBvc3QKKgoqIEBwYXJhbQlzdHJpbmcJTmFtZSBh dHRyaWJ1dGUgb2YgY2xpY2tlZCBsaW5rIC0gdGFrZXMgdGhlIGZvcm0gb2YgJ3ZC OjpRdWlja0VkaXQ6OiRwb3N0aWQnCioKKiBAcmV0dXJuCWJvb2xlYW4JZmFsc2UK Ki8KdkJfQUpBWF9RdWlja0VkaXRvci5wcm90b3R5cGUuZWRpdCA9IGZ1bmN0aW9u KGFuY2hvcl9uYW1lKQp7Cgl2YXIgdGVzdF9hamF4ID0gbmV3IHZCX0FKQVhfSGFu ZGxlcih0cnVlKTsKCWlmICghdGVzdF9hamF4LmluaXQoKSB8fCAodHlwZW9mIHZi X2Rpc2FibGVfYWpheCAhPSAndW5kZWZpbmVkJyAmJiB2Yl9kaXNhYmxlX2FqYXgg PiAwKSkKCXsKCQkvLyBjb3VsZG4ndCBpbml0aWFsaXplLCByZXR1cm4gdHJ1ZSB0 byBhbGxvdyBjbGljayB0byBnbyB0aHJvdWdoCgkJcmV0dXJuIHRydWU7Cgl9CgoJ dmFyIHRtcHBvc3RpZCA9IGFuY2hvcl9uYW1lLnN1YnN0cihhbmNob3JfbmFtZS5s YXN0SW5kZXhPZignOjonKSArIDIpOwoKCWlmICh0aGlzLnBlbmRpbmcpCgl7CgkJ Ly8gc29tZXRoaW5nIGlzIHdhaXRpbmcgdG8gY29tcGxldGUKCQlyZXR1cm4gZmFs c2U7Cgl9CgllbHNlIGlmICghdGhpcy5yZWFkeSgpKQoJewoJCWlmICh0aGlzLnBv c3RpZCA9PSB0bXBwb3N0aWQpCgkJewoJCQl0aGlzLmZ1bGxfZWRpdCgpOwoJCQly ZXR1cm4gZmFsc2U7CgkJfQoJCXRoaXMuYWJvcnQoKTsKCX0KCgl0aGlzLmVkaXRv cmNvdW50ZXIrKzsKCXRoaXMuZWRpdG9yaWQgPSAndkJfRWRpdG9yX1FFXycgKyB0 aGlzLmVkaXRvcmNvdW50ZXI7CgoJdGhpcy5wb3N0aWQgPSB0bXBwb3N0aWQ7CgoJ dGhpcy5tZXNzYWdlb2JqID0gZmV0Y2hfb2JqZWN0KCdwb3N0X21lc3NhZ2VfJyAr IHRoaXMucG9zdGlkKTsKCXRoaXMub3JpZ2luYWxodG1sID0gdGhpcy5tZXNzYWdl b2JqLmlubmVySFRNTDsKCgl0aGlzLnVuY2hhbmdlZCA9IG51bGw7Cgl0aGlzLnVu Y2hhbmdlZF9yZWFzb24gPSBudWxsOwoKCXRoaXMuZmV0Y2hfZWRpdG9yKCk7CgoJ dGhpcy5lZGl0c3RhdGUgPSB0cnVlOwoKCXJldHVybiBmYWxzZTsKfTsKCi8qKgoq IFNlbmQgYW4gQUpBWCByZXF1ZXN0IHRvIGZldGNoIHRoZSBlZGl0b3IgSFRNTAoq Lwp2Ql9BSkFYX1F1aWNrRWRpdG9yLnByb3RvdHlwZS5mZXRjaF9lZGl0b3IgPSBm dW5jdGlvbigpCnsKCWlmIChmZXRjaF9vYmplY3QoJ3Byb2dyZXNzXycgKyB0aGlz LnBvc3RpZCkpCgl7CgkJZmV0Y2hfb2JqZWN0KCdwcm9ncmVzc18nICsgdGhpcy5w b3N0aWQpLnN0eWxlLmRpc3BsYXkgPSAnJzsKCX0KCWRvY3VtZW50LmJvZHkuc3R5 bGUuY3Vyc29yID0gJ3dhaXQnOwoJdGhpcy5hamF4ID0gbmV3IHZCX0FKQVhfSGFu ZGxlcih0cnVlKTsKCXRoaXMuYWpheC5vbnJlYWR5c3RhdGVjaGFuZ2UodGhpcy5k aXNwbGF5X2VkaXRvcik7Cgl0aGlzLmFqYXguc2VuZCgnYWpheC5waHA/ZG89cXVp Y2tlZGl0JnA9JyArIHRoaXMucG9zdGlkLCAnZG89cXVpY2tlZGl0JnA9JyArIHRo aXMucG9zdGlkICsgJyZlZGl0b3JpZD0nICsgUEhQLnVybGVuY29kZSh0aGlzLmVk aXRvcmlkKSk7Cgl0aGlzLnBlbmRpbmcgPSB0cnVlOwp9OwoKLyoqCiogRGlzcGxh eSB0aGUgZWRpdG9yIEhUTUwgd2hlbiBBSkFYIHNheXMgZmV0Y2hfZWRpdG9yKCkg aXMgcmVhZHkKKi8KdkJfQUpBWF9RdWlja0VkaXRvci5wcm90b3R5cGUuZGlzcGxh eV9lZGl0b3IgPSBmdW5jdGlvbigpCnsKCXZhciBBSkFYID0gdkJfUXVpY2tFZGl0 b3IuYWpheC5oYW5kbGVyOwoKCWlmIChBSkFYLnJlYWR5U3RhdGUgPT0gNCAmJiBB SkFYLnN0YXR1cyA9PSAyMDApCgl7CgkJaWYgKGZldGNoX29iamVjdCgncHJvZ3Jl c3NfJyArIHZCX1F1aWNrRWRpdG9yLnBvc3RpZCkpCgkJewoJCQlmZXRjaF9vYmpl Y3QoJ3Byb2dyZXNzXycgKyB2Ql9RdWlja0VkaXRvci5wb3N0aWQpLnN0eWxlLmRp c3BsYXkgPSAnbm9uZSc7CgkJfQoJCWRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29y ID0gJ2F1dG8nOwoJCXZCX1F1aWNrRWRpdG9yLnBlbmRpbmcgPSBmYWxzZTsKCgkJ aWYgKGZldGNoX3RhZ19jb3VudChBSkFYLnJlc3BvbnNlWE1MLCAnZGlzYWJsZWQn KSkKCQl7CgkJCS8vIHRoaXMgd2lsbCBmaXJlIGlmIHF1aWNrIGVkaXQgaGFzIGJl ZW4gZGlzYWJsZWQgYWZ0ZXIgdGhlIHNob3d0aHJlYWQgcGFnZSBpcyBsb2FkZWQK CQkJd2luZG93LmxvY2F0aW9uID0gJ2VkaXRwb3N0LnBocD8nICsgU0VTU0lPTlVS TCArICdkbz1lZGl0cG9zdCZwb3N0aWQ9JyArIHZCX1F1aWNrRWRpdG9yLnBvc3Rp ZDsKCQl9CgkJZWxzZSBpZiAoZmV0Y2hfdGFnX2NvdW50KEFKQVgucmVzcG9uc2VY TUwsICdlcnJvcicpKQoJCXsKCQkJLy8gZG8gbm90aGluZwoJCX0KCQllbHNlCgkJ ewoJCQl2YXIgZWRpdG9yID0gZmV0Y2hfdGFncyhBSkFYLnJlc3BvbnNlWE1MLCAn ZWRpdG9yJylbMF07CgkJCXZhciByZWFzb24gPSBlZGl0b3IuZ2V0QXR0cmlidXRl KCdyZWFzb24nKTsKCgkJCS8vIGRpc3BsYXkgdGhlIGVkaXRvcgoJCQl2Ql9RdWlj a0VkaXRvci5tZXNzYWdlb2JqLmlubmVySFRNTCA9IHZCX1F1aWNrRWRpdG9yLmFq YXguZmV0Y2hfZGF0YShlZGl0b3IpOwoKCQkJLy8gZGlzcGxheSB0aGUgcmVhc29u CgkJCWlmIChmZXRjaF9vYmplY3QodkJfUXVpY2tFZGl0b3IuZWRpdG9yaWQgKyAn X2VkaXRfcmVhc29uJykpCgkJCXsKCQkJCXZCX1F1aWNrRWRpdG9yLnVuY2hhbmdl ZF9yZWFzb24gPSBQSFAudW5odG1sc3BlY2lhbGNoYXJzKHJlYXNvbik7CgkJCQlm ZXRjaF9vYmplY3QodkJfUXVpY2tFZGl0b3IuZWRpdG9yaWQgKyAnX2VkaXRfcmVh c29uJykudmFsdWUgPSB2Ql9RdWlja0VkaXRvci51bmNoYW5nZWRfcmVhc29uOwoJ CQkJZmV0Y2hfb2JqZWN0KHZCX1F1aWNrRWRpdG9yLmVkaXRvcmlkICsgJ19lZGl0 X3JlYXNvbicpLm9ua2V5cHJlc3MgPSB2Ql9BSkFYX1F1aWNrRWRpdG9yX0V2ZW50 cy5wcm90b3R5cGUucmVhc29uX2tleV90cmFwOwoJCQl9CgoJCQkvLyBpbml0aWFs aXplIHRoZSBlZGl0b3IKCQkJdkJfRWRpdG9yW3ZCX1F1aWNrRWRpdG9yLmVkaXRv cmlkXSA9IG5ldyB2Ql9UZXh0X0VkaXRvcigKCQkJCXZCX1F1aWNrRWRpdG9yLmVk aXRvcmlkLAoJCQkJZWRpdG9yLmdldEF0dHJpYnV0ZSgnbW9kZScpLAoJCQkJZWRp dG9yLmdldEF0dHJpYnV0ZSgncGFyc2V0eXBlJyksCgkJCQllZGl0b3IuZ2V0QXR0 cmlidXRlKCdwYXJzZXNtaWxpZXMnKQoJCQkpOwoKCQkJaWYgKGZldGNoX29iamVj dCh2Ql9RdWlja0VkaXRvci5lZGl0b3JpZCArICdfZWRpdG9yJykgJiYgZmV0Y2hf b2JqZWN0KHZCX1F1aWNrRWRpdG9yLmVkaXRvcmlkICsgJ19lZGl0b3InKS5zY3Jv bGxJbnRvVmlldykKCQkJewoJCQkJZmV0Y2hfb2JqZWN0KHZCX1F1aWNrRWRpdG9y LmVkaXRvcmlkICsgJ19lZGl0b3InKS5zY3JvbGxJbnRvVmlldyh0cnVlKTsKCQkJ fQoKCQkJdkJfRWRpdG9yW3ZCX1F1aWNrRWRpdG9yLmVkaXRvcmlkXS5lZGl0Ym94 LnN0eWxlLndpZHRoID0gJzEwMCUnOwoJCQl2Ql9FZGl0b3JbdkJfUXVpY2tFZGl0 b3IuZWRpdG9yaWRdLmNoZWNrX2ZvY3VzKCk7CgoJCQl2Ql9RdWlja0VkaXRvci51 bmNoYW5nZWQgPSB2Ql9FZGl0b3JbdkJfUXVpY2tFZGl0b3IuZWRpdG9yaWRdLmdl dF9lZGl0b3JfY29udGVudHMoKTsKCgkJCWZldGNoX29iamVjdCh2Ql9RdWlja0Vk aXRvci5lZGl0b3JpZCArICdfc2F2ZScpLm9uY2xpY2sgPSB2Ql9RdWlja0VkaXRv ci5zYXZlOwoJCQlmZXRjaF9vYmplY3QodkJfUXVpY2tFZGl0b3IuZWRpdG9yaWQg KyAnX2Fib3J0Jykub25jbGljayA9IHZCX1F1aWNrRWRpdG9yLmFib3J0OwoJCQlm ZXRjaF9vYmplY3QodkJfUXVpY2tFZGl0b3IuZWRpdG9yaWQgKyAnX2FkdicpLm9u Y2xpY2sgPSB2Ql9RdWlja0VkaXRvci5mdWxsX2VkaXQ7CgoJCQl2YXIgZGVsYnV0 dG9uID0gZmV0Y2hfb2JqZWN0KHZCX1F1aWNrRWRpdG9yLmVkaXRvcmlkICsgJ19k ZWxldGUnKTsKCQkJaWYgKGRlbGJ1dHRvbikKCQkJewoJCQkJZGVsYnV0dG9uLm9u Y2xpY2sgPSB2Ql9RdWlja0VkaXRvci5zaG93X2RlbGV0ZTsKCQkJfQoJCX0KCgkJ aWYgKGlzX2llKQoJCXsKCQkJQUpBWC5hYm9ydCgpOwoJCX0KCX0KfTsKCi8qKgoq IERlc3Ryb3kgdGhlIGVkaXRvciwgYW5kIHVzZSB0aGUgc3BlY2lmaWVkIHRleHQg YXMgdGhlIHBvc3QgY29udGVudHMKKgoqIEBwYXJhbQlzdHJpbmcJVGV4dCBvZiBw b3N0CiovCnZCX0FKQVhfUXVpY2tFZGl0b3IucHJvdG90eXBlLnJlc3RvcmUgPSBm dW5jdGlvbihwb3N0X2h0bWwsIHR5cGUpCnsKCXRoaXMuaGlkZV9lcnJvcnModHJ1 ZSk7CglpZiAodGhpcy5lZGl0b3JpZCAmJiB2Ql9FZGl0b3JbdGhpcy5lZGl0b3Jp ZF0gJiYgdkJfRWRpdG9yW3RoaXMuZWRpdG9yaWRdLmluaXRpYWxpemVkKQoJewoJ CXZCX0VkaXRvclt0aGlzLmVkaXRvcmlkXS5kZXN0cm95KCk7Cgl9CglpZiAodHlw ZSA9PSAndGFibGVvYmonKQoJewoJCS8vIHVzdWFsbHkgY2FsbGVkIHdoZW4gbWVz c2FnZSBpcyBzYXZlZAoJCWZldGNoX29iamVjdCgnZWRpdCcgKyB0aGlzLnBvc3Rp ZCkuaW5uZXJIVE1MID0gcG9zdF9odG1sOwoJfQoJZWxzZQoJewoJCS8vIHVzdWFs bHkgY2FsbGVkIHdoZW4gbWVzc2FnZSBlZGl0IGlzIGNhbmNlbGxlZAoJCXRoaXMu bWVzc2FnZW9iai5pbm5lckhUTUwgPSBwb3N0X2h0bWw7Cgl9CgoJdGhpcy5lZGl0 c3RhdGUgPSBmYWxzZTsKfTsKCi8qKgoqIENhbmNlbCB0aGUgcG9zdCBlZGl0IGFu ZCByZXN0b3JlIGV2ZXJ5dGhpbmcgdG8gaG93IGl0IHN0YXJ0ZWQKKgoqIEBwYXJh bQlldmVudAlFdmVudCBvYmplY3QKKi8KdkJfQUpBWF9RdWlja0VkaXRvci5wcm90 b3R5cGUuYWJvcnQgPSBmdW5jdGlvbihlKQp7CglpZiAoZmV0Y2hfb2JqZWN0KCdw cm9ncmVzc18nICsgdkJfUXVpY2tFZGl0b3IucG9zdGlkKSkKCXsKCQlmZXRjaF9v YmplY3QoJ3Byb2dyZXNzXycgKyB2Ql9RdWlja0VkaXRvci5wb3N0aWQpLnN0eWxl LmRpc3BsYXkgPSAnbm9uZSc7Cgl9Cglkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNv ciA9ICdhdXRvJzsKCXZCX1F1aWNrRWRpdG9yLnJlc3RvcmUodkJfUXVpY2tFZGl0 b3Iub3JpZ2luYWxodG1sLCAnbWVzc2FnZW9iaicpOwp9OwoKLyoqCiogUGFzcyB0 aGUgZWRpdHMgYWxvbmcgdG8gdGhlIGZ1bGwgZWRpdHBvc3QucGhwIGludGVyZmFj ZQoqCiogQHBhcmFtCWV2ZW50CUV2ZW50IG9iamVjdAoqLwp2Ql9BSkFYX1F1aWNr RWRpdG9yLnByb3RvdHlwZS5mdWxsX2VkaXQgPSBmdW5jdGlvbihlKQp7Cgl2YXIg Zm9ybSA9IG5ldyB2Ql9IaWRkZW5fRm9ybSgnZWRpdHBvc3QucGhwP2RvPWVkaXRw b3N0JnBvc3RpZD0nICsgdkJfUXVpY2tFZGl0b3IucG9zdGlkKTsKCglmb3JtLmFk ZF92YXJpYWJsZSgnZG8nLCAndXBkYXRlcG9zdCcpOwoJZm9ybS5hZGRfdmFyaWFi bGUoJ3MnLCBmZXRjaF9zZXNzaW9uaGFzaCgpKTsKCWZvcm0uYWRkX3ZhcmlhYmxl KCdhZHZhbmNlZCcsIDEpOwoJLy8gRG9uJ3QgcHJldmlldyAtIHNlZSBlZGl0cG9z dC5waHAgaWYgeW91IHdhbnQgdG8ga25vdyB3aHkKCS8vZm9ybS5hZGRfdmFyaWFi bGUoJ3ByZXZpZXcnLCAnWWVzJyk7Cglmb3JtLmFkZF92YXJpYWJsZSgncG9zdGlk JywgdkJfUXVpY2tFZGl0b3IucG9zdGlkKTsKCWZvcm0uYWRkX3ZhcmlhYmxlKCd3 eXNpd3lnJywgdkJfRWRpdG9yW3ZCX1F1aWNrRWRpdG9yLmVkaXRvcmlkXS53eXNp d3lnX21vZGUpOwoJZm9ybS5hZGRfdmFyaWFibGUoJ21lc3NhZ2UnLCB2Ql9FZGl0 b3JbdkJfUXVpY2tFZGl0b3IuZWRpdG9yaWRdLmdldF9lZGl0b3JfY29udGVudHMo KSk7Cglmb3JtLmFkZF92YXJpYWJsZSgncmVhc29uJywgZmV0Y2hfb2JqZWN0KHZC X1F1aWNrRWRpdG9yLmVkaXRvcmlkICsgJ19lZGl0X3JlYXNvbicpLnZhbHVlKTsK Cglmb3JtLnN1Ym1pdF9mb3JtKCk7Cn0KCi8qKgoqIFNhdmUgdGhlIGVkaXRlZCBw b3N0IHZpYSBBSkFYCioKKiBAcGFyYW0JZXZlbnQJRXZlbnQgb2JqZWN0CiovCnZC X0FKQVhfUXVpY2tFZGl0b3IucHJvdG90eXBlLnNhdmUgPSBmdW5jdGlvbihlKQp7 Cgl2YXIgbmV3dGV4dCA9IHZCX0VkaXRvclt2Ql9RdWlja0VkaXRvci5lZGl0b3Jp ZF0uZ2V0X2VkaXRvcl9jb250ZW50cygpOwoJdmFyIG5ld3JlYXNvbiA9IHZCX0Vk aXRvclt2Ql9RdWlja0VkaXRvci5lZGl0b3JpZF07CgoJaWYgKG5ld3RleHQgPT0g dkJfUXVpY2tFZGl0b3IudW5jaGFuZ2VkICYmIG5ld3JlYXNvbiA9PSB2Ql9RdWlj a0VkaXRvci51bmNoYW5nZWRfcmVhc29uKQoJewoJCXZCX1F1aWNrRWRpdG9yLmFi b3J0KGUpOwoJfQoJZWxzZQoJewoJCWZldGNoX29iamVjdCh2Ql9RdWlja0VkaXRv ci5lZGl0b3JpZCArICdfcG9zdGluZ19tc2cnKS5zdHlsZS5kaXNwbGF5ID0gJyc7 CgkJZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSAnd2FpdCc7CgoJCXBjX29i aiA9IGZldGNoX29iamVjdCgncG9zdGNvdW50JyArIHZCX1F1aWNrRWRpdG9yLnBv c3RpZCk7CgkJdkJfUXVpY2tFZGl0b3IuYWpheCA9IG5ldyB2Ql9BSkFYX0hhbmRs ZXIodHJ1ZSk7CgkJdkJfUXVpY2tFZGl0b3IuYWpheC5vbnJlYWR5c3RhdGVjaGFu Z2UodkJfUXVpY2tFZGl0b3IudXBkYXRlKTsKCQl2Ql9RdWlja0VkaXRvci5hamF4 LnNlbmQoJ2VkaXRwb3N0LnBocD9kbz11cGRhdGVwb3N0JnBvc3RpZD0nICsgdkJf UXVpY2tFZGl0b3IucG9zdGlkLAoJCQknZG89dXBkYXRlcG9zdCZhamF4PTEmcG9z dGlkPScKCQkJKyB2Ql9RdWlja0VkaXRvci5wb3N0aWQKCQkJKyAnJnd5c2l3eWc9 JyArIHZCX0VkaXRvclt2Ql9RdWlja0VkaXRvci5lZGl0b3JpZF0ud3lzaXd5Z19t b2RlCgkJCSsgJyZtZXNzYWdlPScgKyBQSFAudXJsZW5jb2RlKG5ld3RleHQpCgkJ CSsgJyZyZWFzb249JyArIFBIUC51cmxlbmNvZGUoZmV0Y2hfb2JqZWN0KHZCX1F1 aWNrRWRpdG9yLmVkaXRvcmlkICsgJ19lZGl0X3JlYXNvbicpLnZhbHVlKQoJCQkr IChwY19vYmogIT0gbnVsbCA/ICcmcG9zdGNvdW50PScgKyBQSFAudXJsZW5jb2Rl KHBjX29iai5uYW1lKSA6ICcnKQoJCSk7CgoJCXZCX1F1aWNrRWRpdG9yLnBlbmRp bmcgPSB0cnVlOwoJfQp9OwoKLyoqCiogU2hvdyB0aGUgZGVsZXRlIGRpYWxvZwoq Lwp2Ql9BSkFYX1F1aWNrRWRpdG9yLnByb3RvdHlwZS5zaG93X2RlbGV0ZSA9IGZ1 bmN0aW9uKCkKewoJdkJfUXVpY2tFZGl0b3IuZGVsZXRlZGlhbG9nID0gZmV0Y2hf b2JqZWN0KCdxdWlja2VkaXRfZGVsZXRlJyk7CglpZiAodkJfUXVpY2tFZGl0b3Iu ZGVsZXRlZGlhbG9nICYmIHZCX1F1aWNrRWRpdG9yLmRlbGV0ZWRpYWxvZy5zdHls ZS5kaXNwbGF5ICE9ICcnKQoJewoJCXZCX1F1aWNrRWRpdG9yLmRlbGV0ZWRpYWxv Zy5zdHlsZS5kaXNwbGF5ID0gJyc7CgoJCXZCX1F1aWNrRWRpdG9yLmRlbGV0ZWJ1 dHRvbiA9IGZldGNoX29iamVjdCgncXVpY2tlZGl0X2RvZGVsZXRlJyk7CgkJdkJf UXVpY2tFZGl0b3IuZGVsZXRlYnV0dG9uLm9uY2xpY2sgPSB2Ql9RdWlja0VkaXRv ci5kZWxldGVfcG9zdDsKCgkJaWYgKGZldGNoX29iamVjdCgnZGVsX3JlYXNvbicp KQoJCXsKCQkJZmV0Y2hfb2JqZWN0KCdkZWxfcmVhc29uJykub25rZXlwcmVzcyA9 IHZCX0FKQVhfUXVpY2tFZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5kZWxldGVfaXRl bXNfa2V5X3RyYXA7CgkJfQoKCQkvLyBkb24ndCBkbyB0aGlzIHN0dWZmIGZvciBi cm93c2VycyB0aGF0IGRvbid0IGhhdmUgYW55IGRlZmluZWQgZXZlbnRzCgkJLy8g dG8gZGV0ZWN0IGNoYW5nZWQgcmFkaW8gYnV0dG9ucyB3aXRoIGtleWJvYXJkIG5h dmlnYXRpb24KCQlpZiAoIWlzX29wZXJhICYmICFpc19zYWYpCgkJewoJCQl2Ql9R dWlja0VkaXRvci5kZWxldGVidXR0b24uZGlzYWJsZWQgPSB0cnVlOwoJCQl2Ql9R dWlja0VkaXRvci5kZWxldGVvcHRpb25zID0gbmV3IEFycmF5KCk7CgoJCQl2Ql9R dWlja0VkaXRvci5kZWxldGVvcHRpb25zWydsZWF2ZSddID0gZmV0Y2hfb2JqZWN0 KCdyYl9kZWxfbGVhdmUnKTsKCQkJdkJfUXVpY2tFZGl0b3IuZGVsZXRlb3B0aW9u c1snc29mdCddID0gZmV0Y2hfb2JqZWN0KCdyYl9kZWxfc29mdCcpOwoJCQl2Ql9R dWlja0VkaXRvci5kZWxldGVvcHRpb25zWydoYXJkJ10gPSBmZXRjaF9vYmplY3Qo J3JiX2RlbF9oYXJkJyk7CgoJCQlmb3IgKHZhciBpIGluIHZCX1F1aWNrRWRpdG9y LmRlbGV0ZW9wdGlvbnMpCgkJCXsKCQkJCWlmICh2Ql9RdWlja0VkaXRvci5kZWxl dGVvcHRpb25zW2ldKQoJCQkJewoJCQkJCXZCX1F1aWNrRWRpdG9yLmRlbGV0ZW9w dGlvbnNbaV0ub25jbGljayA9IHZCX1F1aWNrRWRpdG9yLmRlbGV0ZW9wdGlvbnNb aV0ub25jaGFuZ2UgPSB2Ql9BSkFYX1F1aWNrRWRpdG9yX0V2ZW50cy5wcm90b3R5 cGUuZGVsZXRlX2J1dHRvbl9oYW5kbGVyOwoJCQkJCXZCX1F1aWNrRWRpdG9yLmRl bGV0ZW9wdGlvbnNbaV0ub25rZXlwcmVzcyA9IHZCX0FKQVhfUXVpY2tFZGl0b3Jf RXZlbnRzLnByb3RvdHlwZS5kZWxldGVfaXRlbXNfa2V5X3RyYXA7CgkJCQl9CgkJ CX0KCQl9Cgl9Cn07CgovKioKKiBSdW4gdGhlIGRlbGV0ZSBzeXN0ZW0KKi8KdkJf QUpBWF9RdWlja0VkaXRvci5wcm90b3R5cGUuZGVsZXRlX3Bvc3QgPSBmdW5jdGlv bigpCnsKCXZhciBkb250ZGVsZXRlID0gZmV0Y2hfb2JqZWN0KCdyYl9kZWxfbGVh dmUnKTsKCWlmIChkb250ZGVsZXRlICYmIGRvbnRkZWxldGUuY2hlY2tlZCkKCXsK CQl2Ql9RdWlja0VkaXRvci5hYm9ydCgpOwoJCXJldHVybjsKCX0KCgl2YXIgZm9y bSA9IG5ldyB2Ql9IaWRkZW5fRm9ybSgnZWRpdHBvc3QucGhwJyk7CgoJZm9ybS5h ZGRfdmFyaWFibGUoJ2RvJywgJ2RlbGV0ZXBvc3QnKTsKCWZvcm0uYWRkX3Zhcmlh YmxlKCdzJywgZmV0Y2hfc2Vzc2lvbmhhc2goKSk7Cglmb3JtLmFkZF92YXJpYWJs ZSgncG9zdGlkJywgdkJfUXVpY2tFZGl0b3IucG9zdGlkKTsKCWZvcm0uYWRkX3Zh cmlhYmxlc19mcm9tX29iamVjdCh2Ql9RdWlja0VkaXRvci5kZWxldGVkaWFsb2cp OwoKCWZvcm0uc3VibWl0X2Zvcm0oKTsKfTsKCi8qKgoqIENoZWNrIGZvciBlcnJv cnMgZXRjLiBhbmQgaW5pdGlhbGl6ZSByZXN0b3JlIHdoZW4gQUpBWCBzYXlzIHNh dmUoKSBpcyBjb21wbGV0ZQoqCiogQHJldHVybglib29sZWFuCWZhbHNlCiovCnZC X0FKQVhfUXVpY2tFZGl0b3IucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkK ewoJdmFyIEFKQVggPSB2Ql9RdWlja0VkaXRvci5hamF4LmhhbmRsZXI7CgoJaWYg KEFKQVgucmVhZHlTdGF0ZSA9PSA0ICYmIEFKQVguc3RhdHVzID09IDIwMCkKCXsK CQl2Ql9RdWlja0VkaXRvci5wZW5kaW5nID0gZmFsc2U7CgkJZG9jdW1lbnQuYm9k eS5zdHlsZS5jdXJzb3IgPSAnYXV0byc7CgkJZmV0Y2hfb2JqZWN0KHZCX1F1aWNr RWRpdG9yLmVkaXRvcmlkICsgJ19wb3N0aW5nX21zZycpLnN0eWxlLmRpc3BsYXkg PSAnbm9uZSc7CgoJCS8vIHRoaXMgaXMgdGhlIG5pY2UgZXJyb3IgaGFuZGxlciwg b2Ygd2hpY2ggU2FmYXJpIG1ha2VzIGEgbWVzcwoJCWlmIChmZXRjaF90YWdfY291 bnQoQUpBWC5yZXNwb25zZVhNTCwgJ2Vycm9yJykpCgkJewoJCQl2YXIgZXJyb3Jz ID0gZmV0Y2hfdGFncyhBSkFYLnJlc3BvbnNlWE1MLCAnZXJyb3InKTsKCgkJCXZh ciBlcnJvcl9odG1sID0gJzxvbD4nOwoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGVy cm9ycy5sZW5ndGg7IGkrKykKCQkJewoJCQkJZXJyb3JfaHRtbCArPSAnPGxpPicg KyB2Ql9RdWlja0VkaXRvci5hamF4LmZldGNoX2RhdGEoZXJyb3JzW2ldKSArICc8 L2xpPic7CgkJCX0KCQkJZXJyb3JfaHRtbCArPSAnPC9vbD4nOwoKCQkJdkJfUXVp Y2tFZGl0b3Iuc2hvd19lcnJvcnMoJzxvbD4nICsgZXJyb3JfaHRtbCArICc8L29s PicpOwoJCX0KCQllbHNlCgkJewoJCQl2Ql9RdWlja0VkaXRvci5yZXN0b3JlKHZC X1F1aWNrRWRpdG9yLmFqYXguZmV0Y2hfZGF0YShmZXRjaF90YWdzKEFKQVgucmVz cG9uc2VYTUwsICdwb3N0Yml0JylbMF0pLCAndGFibGVvYmonKTsKCQkJUG9zdEJp dF9Jbml0KGZldGNoX29iamVjdCgncG9zdCcgKyB2Ql9RdWlja0VkaXRvci5wb3N0 aWQpLCB2Ql9RdWlja0VkaXRvci5wb3N0aWQpOwoJCX0KCgkJaWYgKGlzX2llKQoJ CXsKCQkJQUpBWC5hYm9ydCgpOwoJCX0KCX0KCglyZXR1cm4gZmFsc2U7Cn07Cgov KioKKiBQb3AgdXAgYSB3aW5kb3cgc2hvd2luZyBlcnJvcnMKKgoqIEBwYXJhbQlz dHJpbmcJRXJyb3IgSFRNTAoqLwp2Ql9BSkFYX1F1aWNrRWRpdG9yLnByb3RvdHlw ZS5zaG93X2Vycm9ycyA9IGZ1bmN0aW9uKGVycm9ydGV4dCkKewoJZmV0Y2hfb2Jq ZWN0KCdhamF4X3Bvc3RfZXJyb3JzX21lc3NhZ2UnKS5pbm5lckhUTUwgPSBlcnJv cnRleHQ7Cgl2YXIgZXJyb3J0YWJsZSA9IGZldGNoX29iamVjdCgnYWpheF9wb3N0 X2Vycm9ycycpOwoJZXJyb3J0YWJsZS5zdHlsZS53aWR0aCA9ICc0MDBweCc7Cgll cnJvcnRhYmxlLnN0eWxlLnpJbmRleCA9IDUwMDsKCXZhciBtZWFzdXJlciA9IChp c19zYWYgPyAnYm9keScgOiAnZG9jdW1lbnRFbGVtZW50Jyk7CgllcnJvcnRhYmxl LnN0eWxlLmxlZnQgPSAoaXNfaWUgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu Y2xpZW50V2lkdGggOiBzZWxmLmlubmVyV2lkdGgpIC8gMiAtIDIwMCArIGRvY3Vt ZW50W21lYXN1cmVyXS5zY3JvbGxMZWZ0ICsgJ3B4JzsKCWVycm9ydGFibGUuc3R5 bGUudG9wID0gKGlzX2llID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVu dEhlaWdodCA6IHNlbGYuaW5uZXJIZWlnaHQpIC8gMiAtIDE1MCArIGRvY3VtZW50 W21lYXN1cmVyXS5zY3JvbGxUb3AgKyAncHgnOwoJZXJyb3J0YWJsZS5zdHlsZS5k aXNwbGF5ID0gJyc7Cn07CgovKioKKiBIaWRlIHRoZSBlcnJvciB3aW5kb3cKKi8K dkJfQUpBWF9RdWlja0VkaXRvci5wcm90b3R5cGUuaGlkZV9lcnJvcnMgPSBmdW5j dGlvbihza2lwX2ZvY3VzX2NoZWNrKQp7Cgl0aGlzLmVycm9ycyA9IGZhbHNlOwoJ ZmV0Y2hfb2JqZWN0KCdhamF4X3Bvc3RfZXJyb3JzJykuc3R5bGUuZGlzcGxheSA9 ICdub25lJzsKCWlmIChza2lwX2ZvY3VzX2NoZWNrICE9IHRydWUpCgl7CgkJdkJf RWRpdG9yW3RoaXMuZWRpdG9yaWRdLmNoZWNrX2ZvY3VzKCk7Cgl9Cn07CgovLyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyB2Ql9BSkFYX1F1aWNrRWRp dG9yIEV2ZW50IEhhbmRsZXJzCgovKioKKiBDbGFzcyB0byBoYW5kbGUgcXVpY2sg ZWRpdG9yIGV2ZW50cwoqLwpmdW5jdGlvbiB2Ql9BSkFYX1F1aWNrRWRpdG9yX0V2 ZW50cygpCnsKfQoKLyoqCiogSGFuZGxlcyBjbGlja3Mgb24gZWRpdCBidXR0b25z IG9mIHBvc3RiaXRzCiovCnZCX0FKQVhfUXVpY2tFZGl0b3JfRXZlbnRzLnByb3Rv dHlwZS5lZGl0YnV0dG9uX2NsaWNrID0gZnVuY3Rpb24oZSkKewoJcmV0dXJuIHZC X1F1aWNrRWRpdG9yLmVkaXQodGhpcy5uYW1lKTsKfTsKCi8qKgoqIEhhbmRsZXMg bWFuaXB1bGF0aW9uIG9mIGZvcm0gZWxlbWVudHMgaW4gdGhlIGRlbGV0ZSBzZWN0 aW9uCiovCnZCX0FKQVhfUXVpY2tFZGl0b3JfRXZlbnRzLnByb3RvdHlwZS5kZWxl dGVfYnV0dG9uX2hhbmRsZXIgPSBmdW5jdGlvbihlKQp7CglpZiAodGhpcy5pZCA9 PSAncmJfZGVsX2xlYXZlJyAmJiB0aGlzLmNoZWNrZWQpCgl7CgkJdkJfUXVpY2tF ZGl0b3IuZGVsZXRlYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKCX0KCWVsc2UKCXsK CQl2Ql9RdWlja0VkaXRvci5kZWxldGVidXR0b24uZGlzYWJsZWQgPSBmYWxzZTsK CX0KfQoKLyoqCiogS2V5IHRyYXBwZXIgZm9yIHJlYXNvbiBib3gKKi8KdkJfQUpB WF9RdWlja0VkaXRvcl9FdmVudHMucHJvdG90eXBlLnJlYXNvbl9rZXlfdHJhcCA9 IGZ1bmN0aW9uKGUpCnsKCWUgPSBlID8gZSA6IHdpbmRvdy5ldmVudDsKCglzd2l0 Y2ggKGUua2V5Q29kZSkKCXsKCQljYXNlIDk6IC8vIHRhYgoJCXsKCQkJZmV0Y2hf b2JqZWN0KHZCX1F1aWNrRWRpdG9yLmVkaXRvcmlkICsgJ19zYXZlJykuZm9jdXMo KTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlicmVhazsKCgkJY2FzZSAxMzogLy8g ZW50ZXIKCQl7CgkJCXZCX1F1aWNrRWRpdG9yLnNhdmUoKTsKCQkJcmV0dXJuIGZh bHNlOwoJCX0KCQlicmVhazsKCgkJZGVmYXVsdDoKCQl7CgkJCXJldHVybiB0cnVl OwoJCX0KCX0KfQoKLyoqCiogS2V5IHRyYXBwZXIgZm9yIHJlYXNvbiBib3gKKi8K dkJfQUpBWF9RdWlja0VkaXRvcl9FdmVudHMucHJvdG90eXBlLmRlbGV0ZV9pdGVt c19rZXlfdHJhcCA9IGZ1bmN0aW9uKGUpCnsKCWUgPSBlID8gZSA6IHdpbmRvdy5l dmVudDsKCglpZiAoZS5rZXlDb2RlID09IDEzKSAvLyBlbnRlcgoJewoJCWlmICh2 Ql9RdWlja0VkaXRvci5kZWxldGVidXR0b24uZGlzYWJsZWQgPT0gZmFsc2UpCgkJ ewoJCQl2Ql9RdWlja0VkaXRvci5kZWxldGVfcG9zdCgpOwoJCX0KCQlyZXR1cm4g ZmFsc2U7Cgl9CgoJcmV0dXJuIHRydWU7Cn0KCi8vICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCi8vIGluaXRpYWxpemUgdGhlIGVkaXRvciBjbGFzcwoKdmFy IHZCX1F1aWNrRWRpdG9yID0gbmV3IHZCX0FKQVhfUXVpY2tFZGl0b3IoKTsKCi8q PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSpcCnx8ICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj DQp8fCAjIENWUzogJFJDU2ZpbGUkIC0gJFJldmlzaW9uOiAxNzMzOSAkCnx8ICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjClwqPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSov ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_quick_reply.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_quick_reply.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_quick_reply.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCnZhciBxcl9yZXBvc3QgPSBmYWxzZTsK dmFyIHFyX2Vycm9yc19zaG93biA9IGZhbHNlOwp2YXIgcXJfYWN0aXZlID0gZmFs c2U7CnZhciBxcl9wb3N0aW5nID0gMDsKdmFyIGNsaWNrZWRlbG0gPSBmYWxzZTsK Ci8qKgoqIEluaXRpYWxpemVzIHRoZSBxdWljayByZXBseSBzeXN0ZW0KKi8KZnVu Y3Rpb24gcXJfaW5pdCgpCnsKCXFyX2Rpc2FibGVfY29udHJvbHMoKTsKCXFyX2lu aXRfYnV0dG9ucyhmZXRjaF9vYmplY3QoJ3Bvc3RzJykpOwp9CgovKioKKiBTdGVw cyB0aHJvdWdoIHRoZSBnaXZlbiBvYmplY3QgYWN0aXZhdGluZyBhbGwgcXVpY2sg cmVwbHkgYnV0dG9ucyBpdCBmaW5kcwoqCiogQHBhcmFtCW9iamVjdAlIVE1MIG9i amVjdCB0byBzZWFyY2gKKi8KZnVuY3Rpb24gcXJfaW5pdF9idXR0b25zKG9iaikK ewoJdmFyIGFuY2hvcnMgPSBmZXRjaF90YWdzKG9iaiwgJ2EnKTsKCWZvciAodmFy IGkgPSAwOyBpIDwgYW5jaG9ycy5sZW5ndGg7IGkrKykKCXsKCQlpZiAoYW5jaG9y c1tpXS5pZCAmJiBhbmNob3JzW2ldLmlkLnN1YnN0cigwLCAzKSA9PSAncXJfJykK CQl7CgkJCWFuY2hvcnNbaV0ub25jbGljayA9IGZ1bmN0aW9uKGUpIHsgcmV0dXJu IHFyX2FjdGl2YXRlKHRoaXMuaWQuc3Vic3RyKDMpKTsgfTsKCQl9Cgl9Cn0KCi8q KgoqIERpc2FibGVzIHRoZSBjb250cm9scyBpbiB0aGUgcXVpY2sgcmVwbHkgc3lz dGVtCiovCmZ1bmN0aW9uIHFyX2Rpc2FibGVfY29udHJvbHMoKQp7CglpZiAocmVx dWlyZV9jbGljaykKCXsKCQlmZXRjaF9vYmplY3QoJ3FyX3Bvc3RpZCcpLnZhbHVl ID0gMDsKCgkJdkJfRWRpdG9yW1FSX0VkaXRvcklEXS5kaXNhYmxlX2VkaXRvcih2 YnBocmFzZVsnY2xpY2tfcXVpY2tfcmVwbHlfaWNvbiddKTsKCgkJdmFyIHFyX3Np ZyA9IGZldGNoX29iamVjdCgnY2Jfc2lnbmF0dXJlJyk7CgkJaWYgKHFyX3NpZyAh PSBudWxsKQoJCXsKCQkJcXJfc2lnLmRpc2FibGVkID0gdHJ1ZTsKCQl9CgoJCWFj dGl2ZSA9IGZhbHNlOwoJfQoJZWxzZQoJewoJCXZCX0VkaXRvcltRUl9FZGl0b3JJ RF0ud3JpdGVfZWRpdG9yX2NvbnRlbnRzKCcnKTsKCX0KCglpZiAodGhyZWFkZWRf bW9kZSAhPSAxKQoJewoJCWZldGNoX29iamVjdCgncXJfcXVpY2tyZXBseScpLmRp c2FibGVkID0gdHJ1ZTsKCX0KCglxcl9hY3RpdmUgPSBmYWxzZTsKfQoKLyoqCiog QWN0aXZhdGVzIHRoZSBjb250cm9scyBpbiB0aGUgcXVpY2sgcmVwbHkgc3lzdGVt CioKKiBAcGFyYW0JaW50ZWdlcglQb3N0IElEIG9mIHRoZSBwb3N0IHRvIHdoaWNo IHdlIGFyZSByZXBseWluZwoqCiogQHJldHVybglib29sZWFuCWZhbHNlCiovCmZ1 bmN0aW9uIHFyX2FjdGl2YXRlKHBvc3RpZCkKewoJdmFyIHFyX2NvbGxhcHNlID0g ZmV0Y2hfb2JqZWN0KCdjb2xsYXBzZW9ial9xdWlja3JlcGx5Jyk7CglpZiAocXJf Y29sbGFwc2UgJiYgcXJfY29sbGFwc2Uuc3R5bGUuZGlzcGxheSA9PSAibm9uZSIp Cgl7CgkJdG9nZ2xlX2NvbGxhcHNlKCdxdWlja3JlcGx5Jyk7Cgl9CgoJZmV0Y2hf b2JqZWN0KCdxcl9wb3N0aWQnKS52YWx1ZSA9IHBvc3RpZDsKCWZldGNoX29iamVj dCgncXJfcHJldmlldycpLnNlbGVjdCgpOwoJZmV0Y2hfb2JqZWN0KCdxcl9xdWlj a3JlcGx5JykuZGlzYWJsZWQgPSBmYWxzZTsKCgl2YXIgcXJfc2lnID0gZmV0Y2hf b2JqZWN0KCJjYl9zaWduYXR1cmUiKTsKCWlmIChxcl9zaWcpCgl7CgkJcXJfc2ln LmRpc2FibGVkID0gZmFsc2U7CgkJLy8gV29ya2Fyb3VuZCBmb3IgMy41IEJ1ZyAj IDE2MTg6IFNldCBjaGVja2VkIGFzIEZpcmVmb3ggPCAxLjUgImZvcmdldHMiIHRo YXQgd2hlbiBjaGVja2JveCBpcyBkaXNhYmxlZCB2aWEgSlMKCQlxcl9zaWcuY2hl Y2tlZCA9IHRydWU7Cgl9CgoJaWYgKHFyX2FjdGl2ZSA9PSBmYWxzZSkKCXsKCQl2 Ql9FZGl0b3JbUVJfRWRpdG9ySURdLmVuYWJsZV9lZGl0b3IoJycpOwoJfQoKCWlm ICghaXNfaWUgJiYgdkJfRWRpdG9yW1FSX0VkaXRvcklEXS53eXNpd3lnX21vZGUp Cgl7CgkJZmV0Y2hfb2JqZWN0KCdxcl9zY3JvbGwnKS5zY3JvbGxJbnRvVmlldyhm YWxzZSk7Cgl9CgoJdkJfRWRpdG9yW1FSX0VkaXRvcklEXS5jaGVja19mb2N1cygp OwoKCXFyX2FjdGl2ZSA9IHRydWU7CgoJcmV0dXJuIGZhbHNlOwp9CgovKioKKiBD aGVja3MgdGhlIGNvbnRlbnRzIG9mIHRoZSBuZXcgcmVwbHkgYW5kIGRlY2lkZXMg d2hldGhlciBvciBub3QgdG8gYWxsb3cgaXQgdGhyb3VnaAoqCiogQHBhcmFtCW9i amVjdAk8Zm9ybT4gb2JqZWN0IGNvbnRhaW5pbmcgcXVpY2sgcmVwbHkKKiBAcGFy YW0JaW50ZWdlcglNaW5pbXVtIGFsbG93ZWQgY2hhcmFjdGVycyBpbiBtZXNzYWdl CioKKiBAcmV0dXJuCWJvb2xlYW4KKi8KZnVuY3Rpb24gcXJfcHJlcGFyZV9zdWJt aXQoZm9ybW9iaiwgbWluY2hhcnMpCnsKCWlmIChxcl9yZXBvc3QgPT0gdHJ1ZSkK CXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglpZiAoIWFsbG93X2FqYXhfcXIgfHwgIUFK QVhfQ29tcGF0aWJsZSkKCXsKCQkvLyBub3QgbGFzdCBwYWdlLCBvciB0aHJlYWRl ZCBtb2RlIC0gZG8gbm90IGF0dGVtcHQgdG8gdXNlIEFKQVgKCQlyZXR1cm4gcXJf Y2hlY2tfZGF0YShmb3Jtb2JqLCBtaW5jaGFycyk7Cgl9CgllbHNlIGlmIChxcl9j aGVja19kYXRhKGZvcm1vYmosIG1pbmNoYXJzKSkKCXsKCQl2YXIgdGVzdF9hamF4 ID0gbmV3IHZCX0FKQVhfSGFuZGxlcih0cnVlKTsKCQlpZiAoIXRlc3RfYWpheC5p bml0KCkgfHwgKHR5cGVvZiB2Yl9kaXNhYmxlX2FqYXggIT0gJ3VuZGVmaW5lZCcg JiYgdmJfZGlzYWJsZV9hamF4ID4gMCkpCgkJewoJCQkvLyBjb3VsZG4ndCBpbml0 aWFsaXplLCByZXR1cm4gdHJ1ZSB0byBhbGxvdyBjbGljayB0byBnbyB0aHJvdWdo CgkJCXJldHVybiB0cnVlOwoJCX0KCgkJaWYgKGlzX2llICYmIHVzZXJBZ2VudC5p bmRleE9mKCdtc2llIDUuJykgIT0gLTEpCgkJewoJCQkvLyBJRSA1IGhhcyBwcm9i bGVtcyB3aXRoIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGJlaW5nIHJldHVybmVkIGJ5 CgkJCS8vIEFKQVguIERvbid0IHVuaXZlcnNhbGx5IGRpc2FibGUgaXQsIGJ1dCBp ZiB3ZSdyZSBnb2luZyB0byBiZSBzZW5kaW5nCgkJCS8vIG5vbi1BU0NJSSwgbGV0 J3Mgbm90IHVzZSBBSkFYLgoJCQlpZiAoUEhQLnVybGVuY29kZShmb3Jtb2JqLm1l c3NhZ2UudmFsdWUpLmluZGV4T2YoJyV1JykgIT0gLTEpCgkJCXsKCQkJCXJldHVy biB0cnVlOwoJCQl9CgkJfQoKCQlpZiAocXJfcG9zdGluZyA9PSAxKQoJCXsKCQkJ cmV0dXJuIGZhbHNlOwoJCX0KCQllbHNlCgkJewoJCQlxcl9wb3N0aW5nID0gMTsK CQkJc2V0VGltZW91dCgicXJfcG9zdGluZyA9IDAiLCAxMDAwKTsKCQl9CgoJCWlm IChjbGlja2VkZWxtID09IGZvcm1vYmoucHJldmlldy52YWx1ZSkKCQl7CgkJCXJl dHVybiB0cnVlOwoJCX0KCQllbHNlCgkJewoJCQl2YXIgc3VibWl0c3RyaW5nID0g J2FqYXg9MSc7CgkJCWlmICh0eXBlb2YgYWpheF9sYXN0X3Bvc3QgIT0gJ3VuZGVm aW5lZCcpCgkJCXsKCQkJCXN1Ym1pdHN0cmluZyArPSAnJmFqYXhfbGFzdHBvc3Q9 JyArIFBIUC51cmxlbmNvZGUoYWpheF9sYXN0X3Bvc3QpOwoJCQl9CgoJCQlmb3Ig KGkgPSAwOyBpIDwgZm9ybW9iai5lbGVtZW50cy5sZW5ndGg7IGkrKykKCQkJewoJ CQkJdmFyIG9iaiA9IGZvcm1vYmouZWxlbWVudHNbaV07CgoJCQkJaWYgKG9iai5u YW1lICYmICFvYmouZGlzYWJsZWQpCgkJCQl7CgkJCQkJc3dpdGNoIChvYmoudHlw ZSkKCQkJCQl7CgkJCQkJCWNhc2UgJ3RleHQnOgoJCQkJCQljYXNlICd0ZXh0YXJl YSc6CgkJCQkJCWNhc2UgJ2hpZGRlbic6CgkJCQkJCQlzdWJtaXRzdHJpbmcgKz0g JyYnICsgb2JqLm5hbWUgKyAnPScgKyBQSFAudXJsZW5jb2RlKG9iai52YWx1ZSk7 CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSAnY2hlY2tib3gnOgoJCQkJCQljYXNl ICdyYWRpbyc6CgkJCQkJCQlzdWJtaXRzdHJpbmcgKz0gb2JqLmNoZWNrZWQgPyAn JicgKyBvYmoubmFtZSArICc9JyArIFBIUC51cmxlbmNvZGUob2JqLnZhbHVlKSA6 ICcnOwoJCQkJCQkJYnJlYWs7CgkJCQkJCWNhc2UgJ3NlbGVjdC1vbmUnOgoJCQkJ CQkJc3VibWl0c3RyaW5nICs9ICcmJyArIG9iai5uYW1lICsgJz0nICsgUEhQLnVy bGVuY29kZShvYmoub3B0aW9uc1tvYmouc2VsZWN0ZWRJbmRleF0udmFsdWUpOwoJ CQkJCQkJYnJlYWs7CgkJCQkJCWNhc2UgJ3NlbGVjdC1tdWx0aXBsZSc6CgkJCQkJ CQlmb3IgKHZhciBqID0gMDsgaiA8IG9iai5vcHRpb25zLmxlbmd0aDsgaisrKQoJ CQkJCQkJewoJCQkJCQkJCXN1Ym1pdHN0cmluZyArPSAob2JqLm9wdGlvbnNbal0u c2VsZWN0ZWQgPyAnJicgKyBvYmoubmFtZSArICc9JyArIFBIUC51cmxlbmNvZGUo b2JqLm9wdGlvbnNbal0udmFsdWUpIDogJycpOwoJCQkJCQkJfQoJCQkJCQkJYnJl YWs7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlmZXRjaF9vYmplY3QoJ3FyX3Bvc3Rp bmdfbXNnJykuc3R5bGUuZGlzcGxheSA9ICcnOwoJCQlkb2N1bWVudC5ib2R5LnN0 eWxlLmN1cnNvciA9ICd3YWl0JzsKCgkJCXFyX2FqYXhfcG9zdChmb3Jtb2JqLmFj dGlvbiwgc3VibWl0c3RyaW5nKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCWVs c2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KCi8qKgoqIFdvcmtzIHdpdGggZm9y bSBkYXRhIHRvIGRlY2lkZSB3aGF0IHRvIGRvCioKKiBAcGFyYW0Jb2JqZWN0CTxm b3JtPiBvYmplY3QgY29udGFpbmluZyBxdWljayByZXBseQoqIEBwYXJhbQlpbnRl Z2VyCU1pbmltdW0gYWxsb3dlZCBjaGFyYWN0ZXJzIGluIG1lc3NhZ2UKKgoqIEBy ZXR1cm4JYm9vbGVhbgoqLwpmdW5jdGlvbiBxcl9jaGVja19kYXRhKGZvcm1vYmos IG1pbmNoYXJzKQp7Cglzd2l0Y2ggKGZldGNoX29iamVjdCgncXJfcG9zdGlkJyku dmFsdWUpCgl7CgkJY2FzZSAnMCc6CgkJewoJCQlhbGVydCh2YnBocmFzZVsnY2xp Y2tfcXVpY2tfcmVwbHlfaWNvbiddKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJ Y2FzZSAnd2hvIGNhcmVzJzoKCQl7CgkJCWlmICh0eXBlb2YgZm9ybW9iai5xdWlj a3JlcGx5ICE9ICd1bmRlZmluZWQnKQoJCQl7CgkJCQlmb3Jtb2JqLnF1aWNrcmVw bHkuY2hlY2tlZCA9IGZhbHNlOwoJCQl9CgkJCWJyZWFrOwoJCX0KCX0KCglpZiAo Y2xpY2tlZGVsbSA9PSBmb3Jtb2JqLnByZXZpZXcudmFsdWUpCgl7CgkJbWluY2hh cnMgPSAwOwoJfQoKCXJldHVybiB2Ql9FZGl0b3JbUVJfRWRpdG9ySURdLnByZXBh cmVfc3VibWl0KDAsIG1pbmNoYXJzKTsKfQoKLyoqCiogU2VuZHMgcXVpY2sgcmVw bHkgZGF0YSB0byBuZXdyZXBseS5waHAgdmlhIEFKQVgKKgoqIEBwYXJhbQlzdHJp bmcJR0VUIHN0cmluZyBmb3IgYWN0aW9uIChuZXdyZXBseS5waHApCiogQHBhcmFt CXN0cmluZwlTdHJpbmcgcmVwcmVzZW50aW5nIGZvcm0gZGF0YSAoJ3g9MSZ5PTIm ej0zJyBldGMuKQoqLwpmdW5jdGlvbiBxcl9hamF4X3Bvc3Qoc3VibWl0YWN0aW9u LCBzdWJtaXRzdHJpbmcpCnsKCXFyX3JlcG9zdCA9IGZhbHNlOwoJeG1sID0gbmV3 IHZCX0FKQVhfSGFuZGxlcih0cnVlKTsKCXhtbC5vbnJlYWR5c3RhdGVjaGFuZ2Uo cXJfZG9fYWpheF9wb3N0KTsKCXhtbC5zZW5kKHN1Ym1pdGFjdGlvbiwgc3VibWl0 c3RyaW5nKTsKfQoKLyoqCiogSGFuZGxlcyBxdWljayByZXBseSBkYXRhIHdoZW4g QUpBWCBzYXlzIHFyX2FqYXhfcG9zdCgpIGlzIGNvbXBsZXRlCiovCmZ1bmN0aW9u IHFyX2RvX2FqYXhfcG9zdCgpCnsKCWlmICh4bWwuaGFuZGxlci5yZWFkeVN0YXRl ID09IDQgJiYgeG1sLmhhbmRsZXIuc3RhdHVzID09IDIwMCkKCXsKCQlpZiAoeG1s LmhhbmRsZXIucmVzcG9uc2VYTUwpCgkJewoJCQlkb2N1bWVudC5ib2R5LnN0eWxl LmN1cnNvciA9ICdhdXRvJzsKCQkJZmV0Y2hfb2JqZWN0KCdxcl9wb3N0aW5nX21z ZycpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgkJCXFyX3Bvc3RpbmcgPSAwOwoK CQkJaWYgKGZldGNoX3RhZ19jb3VudCh4bWwuaGFuZGxlci5yZXNwb25zZVhNTCwg J3Bvc3RiaXQnKSkKCQkJewoJCQkJYWpheF9sYXN0X3Bvc3QgPSB4bWwuZmV0Y2hf ZGF0YShmZXRjaF90YWdzKHhtbC5oYW5kbGVyLnJlc3BvbnNlWE1MLCAndGltZScp WzBdKTsKCQkJCXFyX2Rpc2FibGVfY29udHJvbHMoKTsKCQkJCXFyX2hpZGVfZXJy b3JzKCk7CgoJCQkJdmFyIHBvc3RiaXRzID0gZmV0Y2hfdGFncyh4bWwuaGFuZGxl ci5yZXNwb25zZVhNTCwgJ3Bvc3RiaXQnKTsKCQkJCWZvciAodmFyIGkgPSAwOyBp IDwgcG9zdGJpdHMubGVuZ3RoOyBpKyspCgkJCQl7CgkJCQkJdmFyIG5ld2RpdiA9 IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCQkJCW5ld2Rpdi5pbm5l ckhUTUwgPSB4bWwuZmV0Y2hfZGF0YShwb3N0Yml0c1tpXSk7CgkJCQkJdmFyIGxw ID0gZmV0Y2hfb2JqZWN0KCdsYXN0cG9zdCcpOwoJCQkJCXZhciBscHBhcmVudCA9 IGxwLnBhcmVudE5vZGU7CgkJCQkJdmFyIHBvc3RiaXQgPSBscHBhcmVudC5pbnNl cnRCZWZvcmUobmV3ZGl2LCBscCk7CgoJCQkJCVBvc3RCaXRfSW5pdChwb3N0Yml0 LCBwb3N0Yml0c1tpXS5nZXRBdHRyaWJ1dGUoJ3Bvc3RpZCcpKTsKCQkJCX0KCgkJ CQkvLyB1bmZvY3VzIHRoZSBxcl9zdWJtaXQgYnV0dG9uIHRvIHByZXZlbnQgYSBz cGFjZSBmcm9tIHJlc3VibWl0dGluZwoJCQkJaWYgKGZldGNoX29iamVjdCgncXJf c3VibWl0JykpCgkJCQl7CgkJCQkJZmV0Y2hfb2JqZWN0KCdxcl9zdWJtaXQnKS5i bHVyKCk7CgkJCQl9CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlpZiAoIWlzX3NhZikK CQkJCXsKCQkJCQkvLyB0aGlzIGlzIHRoZSBuaWNlIGVycm9yIGhhbmRsZXIsIG9m IHdoaWNoIFNhZmFyaSBtYWtlcyBhIG1lc3MKCQkJCQl2YXIgZXJyb3JzID0gZmV0 Y2hfdGFncyh4bWwuaGFuZGxlci5yZXNwb25zZVhNTCwgJ2Vycm9yJyk7CgoJCQkJ CXZhciBlcnJvcl9odG1sID0gJzxvbD4nOwoJCQkJCWZvciAodmFyIGkgPSAwOyBp IDwgZXJyb3JzLmxlbmd0aDsgaSsrKQoJCQkJCXsKCQkJCQkJZXJyb3JfaHRtbCAr PSAnPGxpPicgKyB4bWwuZmV0Y2hfZGF0YShlcnJvcnNbaV0pICsgJzwvbGk+JzsK CQkJCQl9CgkJCQkJZXJyb3JfaHRtbCArPSAnPC9vbD4nOwoKCQkJCQlxcl9zaG93 X2Vycm9ycygnPG9sPicgKyBlcnJvcl9odG1sICsgJzwvb2w+Jyk7CgoJCQkJCWlm IChpc19pZSkKCQkJCQl7CgkJCQkJCXhtbC5oYW5kbGVyLmFib3J0KCk7CgkJCQkJ fQoKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgoJCQkJLy8gdGhpcyBpcyB0aGUg bm90IHNvIG5pY2UgZXJyb3IgaGFuZGxlciwgd2hpY2ggaXMgYSBmYWxsYmFjayBp biBjYXNlIHRoZSBwcmV2aW91cyBvbmUgZG9lc24ndCB3b3JrCgoJCQkJcXJfcmVw b3N0ID0gdHJ1ZTsKCQkJCWZldGNoX29iamVjdCgncXJmb3JtJykuc3VibWl0KCk7 CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJcXJfcmVwb3N0ID0gdHJ1ZTsKCQkJZmV0 Y2hfb2JqZWN0KCdxcmZvcm0nKS5zdWJtaXQoKTsKCQl9CgoJCWlmIChpc19pZSkK CQl7CgkJCS8vIGluIG15IHRlc3RzLCBGRiBmcmVha3Mgb3V0IGlmIEkgZG8gdGhp cyBhYm9ydCBjYWxsIGhlcmUuLi4KCQkJLy8gaG93ZXZlciwgaXQgc2VlbXMgdG8g YmUgbmVjZXNzYXJ5IChpbiBsb2NhbCB0ZXN0cykgZm9yIElFCgkJCXhtbC5oYW5k bGVyLmFib3J0KCk7CgkJfQoJfQp9CgovKioKKiBVbi1oaWRlcyB0aGUgcXVpY2sg cmVwbHkgZXJyb3JzIGVsZW1lbnQKKgoqIEBwYXJhbQlzdHJpbmcJRXJyb3Iocykg dG8gc2hvdwoqCiogQHJldHVybglib29sZWFuCWZhbHNlCiovCmZ1bmN0aW9uIHFy X3Nob3dfZXJyb3JzKGVycm9ydGV4dCkKewoJcXJfZXJyb3JzX3Nob3duID0gdHJ1 ZTsKCWZldGNoX29iamVjdCgncXJfZXJyb3JfdGQnKS5pbm5lckhUTUwgPSBlcnJv cnRleHQ7CglmZXRjaF9vYmplY3QoJ3FyX2Vycm9yX3Rib2R5Jykuc3R5bGUuZGlz cGxheSA9ICcnOwoJdkJfRWRpdG9yW1FSX0VkaXRvcklEXS5jaGVja19mb2N1cygp OwoJcmV0dXJuIGZhbHNlOwp9CgovKioKKiBIaWRlcyB0aGUgcXVpY2sgcmVwbHkg ZXJyb3JzIGVsZW1lbnQKKgoqIEByZXR1cm4JYm9vbGVhbglmYWxzZQoqLwpmdW5j dGlvbiBxcl9oaWRlX2Vycm9ycygpCnsKCWlmIChxcl9lcnJvcnNfc2hvd24pCgl7 CgkJcXJfZXJyb3JzX3Nob3duID0gdHJ1ZTsKCQlmZXRjaF9vYmplY3QoJ3FyX2Vy cm9yX3Rib2R5Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQlyZXR1cm4gZmFs c2U7Cgl9Cn0KCnZhciB2Ql9RdWlja1JlcGx5ID0gdHJ1ZTsKCi8qPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PSpcCnx8ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQp8fCAjIENW UzogJFJDU2ZpbGUkIC0gJFJldmlzaW9uOiAxNjk5MyAkCnx8ICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjClwqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSov ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=collapse_tcat.gif Content-Type: image/gif; name=collapse_tcat.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/collapse_tcat.gif Content-Transfer-Encoding: Base64 R0lGODlhDgAQAOYAAAcHBz09PSoqKiIiImhoaCsrKyMjIxsbG2pqajk5OQMDA5mZ mZ6eng0NDRISEgkJCQQEBEREROjo6DAwME1NTW1tbUBAQOvr64ODg3BwcH19fYeH h5GRkUtLS4aGhpeXl1VVVTMzM3l5eVBQUGJiYgYGBnx8fGZmZoCAgKOjozo6Ov39 /Xd3dwUFBREREaenpzg4OBYWFiAgIC4uLiEhIRMTEwoKCltbWw4ODiYmJmVlZZCQ kGFhYUlJSWBgYGRkZE5OToqKipWVlR0dHerq6oKCgiQkJBQUFCUlJS8vL0JCQnJy cuDg4ExMTFhYWDIyMgsLCwgICFFRUSkpKV5eXnFxcTs7O0dHRygoKEZGRv///wAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAOABAAAAeqgFmCg4SFglJVGBsiPBSF VzoLLww7GidNMFaDJAspDBwoFU4BAw4hWSMeH0JBLD8gEQUNWzgBPkUYJgQUKhM5 DlvBBlQIBDcWRhlLD8HBLh1APQFIFVpaCM1bAE8zBQMZ1lorBM0AQ1AAWBIXF0QS TALBDTLZ9c0xCVH22QAGWVgK9m2BcABLFgs0WtgrUdBghABYajxQAMHGkQFYsAgQ pCRBkikZQ2qcEAgAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=removeformat.gif Content-Type: image/gif; name=removeformat.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/removeformat.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUAJEDAP8AAAAA/wAAmf///yH5BAEAAAMALAAAAAAVABQAAAJDnI+p y+0/gArhSHYNrfHdXWUOQA0UIAhQ8KHps5Hu25SGO9CLHQmXjgCFUj4iBHcDLpAW VWPmzBUxngbxioVot1xtAQA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=separator.gif Content-Type: image/gif; name=separator.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/separator.gif Content-Transfer-Encoding: Base64 R0lGODlhBgAUAIAAAMXCuN/f3yH5BAEAAAEALAAAAAAGABQAAAISTGCJedy8lIuG Pgmnzhz7unkFADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=bold.gif Content-Type: image/gif; name=bold.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/bold.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUAIABAAAAAN/f3yH5BAEAAAEALAAAAAAVABQAAAIkjI+py+0Po0yg 2iqt0ZDz52HdJY7AVjrhaaKsSqbTTNf2jSMFADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=italic.gif Content-Type: image/gif; name=italic.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/italic.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUAJECAICAgAAAAN/f3wAAACH5BAEAAAIALAAAAAAVABQAAAIglI+p y+0Po2yh1mkqwAJcrnFewAkhNpanZFnlC8fyHBUAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=underline.gif Content-Type: image/gif; name=underline.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/underline.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUAJECAICAgAAAAN/f3wAAACH5BAEAAAIALAAAAAAVABQAAAIplI+p y+0Po0yhBmEvrIdHj2mbCD5g6ZyiSa5pAAgA+lrTjWQ6zvc+XgAAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=color.gif Content-Type: image/gif; name=color.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/color.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAQAJEAAICAgAAAgJkzAN/f3yH5BAEAAAMALAAAAAAVABAAAAIqnI+p y53hGgggroBtmrhqk2XfBFIfhooReXSWOnArhHDehbYp/fX+nygAADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=clear.gif Content-Type: image/gif; name=clear.gif Content-Location: http://www.dzzzr.org.ua/forum/clear.gif Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=menupop.gif Content-Type: image/gif; name=menupop.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/menupop.gif Content-Transfer-Encoding: Base64 R0lGODlhCwAQAIABAAAAAN/f3yH5BAEAAAEALAAAAAALABAAAAIPjI+py+0PDZhz 0Qai3jwWADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=createlink.gif Content-Type: image/gif; name=createlink.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/createlink.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUALMKAAAAgJCdsgCAgMHS7sDAwICAgACAAP///wAA/wAAAN/f3wAA AAAAAAAAAAAAAAAAACH5BAEAAAoALAAAAAAVABQAAARwUMlJq704y8K7ppxADIOR fEpxEEdgvKbGIStiI2+RFQgRBIAXLobhuWAAQfBUtB1hNuaFd4MZBAippQCoQgG6 TOKWKCcAZm3lnGCxEquVmtJO2wlzCTxRaBPwfQd5CnV2ZnhiboJxiBpphGYokpMY EQA7 ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=insertimage.gif Content-Type: image/gif; name=insertimage.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/insertimage.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUAKIGAMDAwICAAICAgP//AP///wAAAN/f3wAAACH5BAEAAAYALAAA AAAVABQAAANaaLrc/jDKWaq92JVBuO/gUGhhKFQCMTZbyRVBsK1M4XawrGrfdxYC Eal3oy1aL2TIqLC9BCeRc8d6nk4AgJNpsAGh4ELWq/maoWIt94tuY7VljLwyqdvv eEMCADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=quote.gif Content-Type: image/gif; name=quote.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/quote.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAUAJEDAP//AAAAAP///wAAACH5BAEAAAMALAAAAAAVABQAAAJLnI+p yz0BowwtiAuuyJcuy21aZn3dZAmlAo7umqSQGgCyYIa6irNaROv0YiLMa4iQWZa3 nMsISz6LPAZKiVRofras4wD5VsTksqMAADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=resize_0.gif Content-Type: image/gif; name=resize_0.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/resize_0.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAJAIABAE1NTQAAACH5BAEAAAEALAAAAAAVAAkAAAIUjI+pe8BvgIRL WlpxnbpZ14UiUgAAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=resize_1.gif Content-Type: image/gif; name=resize_1.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/editor/resize_1.gif Content-Transfer-Encoding: Base64 R0lGODlhFQAJAIABAE1NTQAAACH5BAEAAAEALAAAAAAVAAkAAAIUjI+py50AoVtx MmBVlPnUjmAgWAAAOw== ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=vbulletin_ajax_threadrate.js Content-Type: application/x-javascript; charset=windows-1251; name=vbulletin_ajax_threadrate.js Content-Location: http://www.dzzzr.org.ua/forum/clientscript/vbulletin_ajax_threadrate.js?v=368 Content-Transfer-Encoding: Base64 Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMgfHwKfHwgIyB2QnVsbGV0aW4gMy42LjgKfHwgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMgfHwKfHwgIyBDb3B5cmlnaHQgqTIwMDAtMjAwNyBKZWxzb2Z0IEVudGVycHJp c2VzIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gfHwKfHwgIyBUaGlzIGZpbGUg bWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIGluIHdob2xlIG9yIHNpZ25pZmljYW50 IHBhcnQuICMgfHwKfHwgIyAtLS0tLS0tLS0tLS0tLS0tIFZCVUxMRVRJTiBJUyBO T1QgRlJFRSBTT0ZUV0FSRSAtLS0tLS0tLS0tLS0tLS0tICMgfHwKfHwgIyBodHRw Oi8vd3d3LnZidWxsZXRpbi5jb20gfCBodHRwOi8vd3d3LnZidWxsZXRpbi5jb20v bGljZW5zZS5odG1sICMgfHwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgfHwKXCo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qKgoqIEFkZHMgb25jbGljayBldmVu dHMgdG8gYXBwcm9wcmlhdGUgZWxlbWVudHMgZm9yIHRocmVhZCByYXRpbmcKKgoq IEBwYXJhbQlzdHJpbmcJVGhlIElEIG9mIHRoZSBmb3JtIHRoYXQgY29udGFpbnMg dGhlIHJhdGluZyBvcHRpb25zCiovCmZ1bmN0aW9uIHZCX0FKQVhfVGhyZWFkUmF0 ZV9Jbml0KGZvcm1pZCkKewoJdmFyIGZvcm1vYmogPSBmZXRjaF9vYmplY3QoZm9y bWlkKTsKCglpZiAoQUpBWF9Db21wYXRpYmxlICYmICh0eXBlb2YgdmJfZGlzYWJs ZV9hamF4ID09ICd1bmRlZmluZWQnIHx8IHZiX2Rpc2FibGVfYWpheCA8IDIpICYm IGZvcm1vYmopCgl7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBmb3Jtb2JqLmVsZW1l bnRzLmxlbmd0aDsgaSsrKQoJCXsKCQkJLy9hbGVydCgxKTsKCQkJaWYgKGZvcm1v YmouZWxlbWVudHNbaV0udHlwZSA9PSAnc3VibWl0JykKCQkJewoJCQkJLy8gcHJl dmVudCB0aGUgZm9ybSBmcm9tIHN1Ym1pdHRpbmcgd2hlbiBjbGlja2luZyB0aGUg c3VibWl0IGJ1dHRvbgoJCQkJdmFyIHNidXR0b24gPSBmb3Jtb2JqLmVsZW1lbnRz W2ldOwoJCQkJdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lu cHV0Jyk7CgkJCQlidXR0b24udHlwZSA9ICdidXR0b24nOwoJCQkJYnV0dG9uLmNs YXNzTmFtZSA9IHNidXR0b24uY2xhc3NOYW1lOwoJCQkJYnV0dG9uLnZhbHVlICAg ICA9IHNidXR0b24udmFsdWU7CgkJCQlidXR0b24ub25jbGljayAgID0gdkJfQUpB WF9UaHJlYWRSYXRlLnByb3RvdHlwZS5mb3JtX2NsaWNrOwoJCQkJc2J1dHRvbi5w YXJlbnROb2RlLmluc2VydEJlZm9yZShidXR0b24sIHNidXR0b24pOwoJCQkJc2J1 dHRvbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNidXR0b24pOwoJCQl9CgkJfQoJ fQp9OwoKLyoqCiogQ2xhc3MgdG8gaGFuZGxlIHRocmVhZCByYXRpbmcKKgoqIEBw YXJhbQlvYmplY3QJVGhlIGZvcm0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHZvdGUg b3B0aW9ucwoqLwpmdW5jdGlvbiB2Ql9BSkFYX1RocmVhZFJhdGUoZm9ybW9iaikK ewoJLy8gQUpBWCBoYW5kbGVyCgl0aGlzLnhtbF9zZW5kZXIgPSBudWxsOwoKCS8v IHZCX0hpZGRlbl9Gb3JtIG9iamVjdCB0byBoYW5kbGUgZm9ybSB2YXJpYWJsZXMK CXRoaXMucHNldWRvZm9ybSA9IG5ldyB2Ql9IaWRkZW5fRm9ybSgndGhyZWFkcmF0 ZS5waHAnKTsKCXRoaXMucHNldWRvZm9ybS5hZGRfdmFyaWFibGUoJ2FqYXgnLCAx KTsKCXRoaXMucHNldWRvZm9ybS5hZGRfdmFyaWFibGVzX2Zyb21fb2JqZWN0KGZv cm1vYmopOwoKCS8vIE91dHB1dCBvYmplY3QKCXRoaXMub3V0cHV0X2VsZW1lbnRf aWQgPSAndGhyZWFkcmF0aW5nX2N1cnJlbnQnOwoKCS8vIENsb3N1cmUKCXZhciBt ZSA9IHRoaXM7CgoJLyoqCgkqIE9uUmVhZHlTdGF0ZUNoYW5nZSBjYWxsYmFjay4g VXNlcyBhIGNsb3N1cmUgdG8ga2VlcCBzdGF0ZS4KCSogUmVtZW1iZXIgdG8gdXNl IG1lIGluc3RlYWQgb2YgdGhpcyBpbnNpZGUgdGhpcyBmdW5jdGlvbiEKCSovCgl0 aGlzLmhhbmRsZV9hamF4X3Jlc3BvbnNlID0gZnVuY3Rpb24oKQoJewoJCWlmICht ZS54bWxfc2VuZGVyLmhhbmRsZXIucmVhZHlTdGF0ZSA9PSA0ICYmIG1lLnhtbF9z ZW5kZXIuaGFuZGxlci5zdGF0dXMgPT0gMjAwKQoJCXsKCQkJaWYgKG1lLnhtbF9z ZW5kZXIuaGFuZGxlci5yZXNwb25zZVhNTCkKCQkJewoJCQkJdmFyIG9iaiA9IGZl dGNoX29iamVjdChtZS5vYmppZCk7CgkJCQkvLyBjaGVjayBmb3IgZXJyb3IgZmly c3QKCQkJCXZhciBlcnJvciA9IG1lLnhtbF9zZW5kZXIuZmV0Y2hfZGF0YShmZXRj aF90YWdzKG1lLnhtbF9zZW5kZXIuaGFuZGxlci5yZXNwb25zZVhNTCwgJ2Vycm9y JylbMF0pOwoJCQkJaWYgKGVycm9yKQoJCQkJewoJCQkJCS8vIEhpZGUgdGhyZWFk IHJhdGluZyBwb3B1cCBtZW51IG5vdwoJCQkJCWlmICh2Qm1lbnUuYWN0aXZlbWVu dSA9PSAndGhyZWFkcmF0aW5nJykKCQkJCQl7CgkJCQkJCXZCbWVudS5oaWRlKCk7 CgkJCQkJfQoJCQkJCWFsZXJ0KGVycm9yKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsK CQkJCQl2YXIgbmV3cmF0aW5nID0gbWUueG1sX3NlbmRlci5mZXRjaF9kYXRhKGZl dGNoX3RhZ3MobWUueG1sX3NlbmRlci5oYW5kbGVyLnJlc3BvbnNlWE1MLCAndm90 ZWF2ZycpWzBdKTsKCQkJCQlpZiAobmV3cmF0aW5nICE9ICcnKQoJCQkJCXsKCQkJ CQkJZmV0Y2hfb2JqZWN0KG1lLm91dHB1dF9lbGVtZW50X2lkKS5pbm5lckhUTUwg PSBuZXdyYXRpbmc7CgkJCQkJfQoJCQkJCS8vIEhpZGUgdGhyZWFkIHJhdGluZyBw b3B1cCBtZW51IG5vdwoJCQkJCWlmICh2Qm1lbnUuYWN0aXZlbWVudSA9PSAndGhy ZWFkcmF0aW5nJykKCQkJCQl7CgkJCQkJCXZCbWVudS5oaWRlKCk7CgkJCQkJfQoK CQkJCQl2YXIgbWVzc2FnZSA9IG1lLnhtbF9zZW5kZXIuZmV0Y2hfZGF0YShmZXRj aF90YWdzKG1lLnhtbF9zZW5kZXIuaGFuZGxlci5yZXNwb25zZVhNTCwgJ21lc3Nh Z2UnKVswXSk7CgkJCQkJaWYgKG1lc3NhZ2UpCgkJCQkJewoJCQkJCQlhbGVydCht ZXNzYWdlKTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCWlmIChpc19pZSkKCQkJewoJ CQkJbWUueG1sX3NlbmRlci5oYW5kbGVyLmFib3J0KCk7CgkJCX0KCQl9Cgl9Cn07 CgovKioKKiBQbGFjZXMgdGhlIHZvdGUKKi8KdkJfQUpBWF9UaHJlYWRSYXRlLnBy b3RvdHlwZS5yYXRlID0gZnVuY3Rpb24oKQp7CglpZiAodGhpcy5wc2V1ZG9mb3Jt LmZldGNoX3ZhcmlhYmxlKCd2b3RlJykgIT0gbnVsbCkKCXsKCQl0aGlzLnhtbF9z ZW5kZXIgPSBuZXcgdkJfQUpBWF9IYW5kbGVyKHRydWUpOwoJCXRoaXMueG1sX3Nl bmRlci5vbnJlYWR5c3RhdGVjaGFuZ2UodGhpcy5oYW5kbGVfYWpheF9yZXNwb25z ZSk7CgkJdGhpcy54bWxfc2VuZGVyLnNlbmQoCgkJCSd0aHJlYWRyYXRlLnBocD90 PScgKyB0aHJlYWRpZCArICcmdm90ZT0nICsgUEhQLnVybGVuY29kZSh0aGlzLnBz ZXVkb2Zvcm0uZmV0Y2hfdmFyaWFibGUoJ3ZvdGUnKSksCgkJCXRoaXMucHNldWRv Zm9ybS5idWlsZF9xdWVyeV9zdHJpbmcoKQoJCSk7Cgl9Cn07CgovKioKKiBIYW5k bGVzIHRoZSBmb3JtICdzdWJtaXQnIGFjdGlvbgoqLwp2Ql9BSkFYX1RocmVhZFJh dGUucHJvdG90eXBlLmZvcm1fY2xpY2sgPSBmdW5jdGlvbigpCnsKCXZhciBBSkFY X1RocmVhZFJhdGUgPSBuZXcgdkJfQUpBWF9UaHJlYWRSYXRlKHRoaXMuZm9ybSk7 CglBSkFYX1RocmVhZFJhdGUucmF0ZSgpOwoJcmV0dXJuIGZhbHNlOwp9OwoKLyo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09KlwKfHwgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN Cnx8ICMgQ1ZTOiAkUkNTZmlsZSQgLSAkUmV2aXNpb246IDE3NjQ4ICQKfHwgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKXCo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=collapse_thead.gif Content-Type: image/gif; name=collapse_thead.gif Content-Location: http://www.dzzzr.org.ua/forum/images/styles/blacksmart/buttons/collapse_thead.gif Content-Transfer-Encoding: Base64 R0lGODlhDgAQAOYAAAICAhYWFgQEBGhoaAcHBw4ODlVVVSIiIgkJCQoKCisrK3Bw cAUFBQMDA+vr6yMjIzo6OkxMTD09PR4eHk5OTigoKOjo6CYmJoKCgm1tbSQkJDQ0 NJ6enmpqahkZGX19fXNzc0RERC4uLnd3d0BAQEhISJeXlzAwMKenpyoqKg0NDQEB AWZmZuDg4FhYWGRkZKOjoxEREQsLC3x8fICAgIGBgVBQUJWVlYODg5OTk+rq6klJ SSEhIS8vL15eXpGRkVtbW5CQkAwMDHJycnl5ef39/SAgIJaWloqKik1NTRsbGzEx MRISEhUVFSUlJf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAOABAAAAergE6Cg4SFghs+RBggBhAV hBcUOSgcQR8sEUsPgxFHMBw/NBkuEgcFSk4bNSY3SCMvBiEKKlAEPDYYODMDSRAn F0xQwkwGHQNAJBoLQwjCwgglFDsSThlPTx3OUAI9IgoHC9dPRQPODQEyBBUWDg46 Fi0pwgQx2vbOQhMC99oCTE5NVvCDAqBAEycHmAC418DgQQ1GmiRgAAAAgwRMmjQJ IOjBBA8BNIrc6CEQADs= ------------pPKmZWKAKX6FyFLrWarDxR Content-Disposition: inline; filename=cron.gif Content-Type: image/gif; name=cron.gif Content-Location: http://www.dzzzr.org.ua/forum/cron.php?&rand=240528 Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------------pPKmZWKAKX6FyFLrWarDxR--