// https://syzkaller.appspot.com/bug?id=5335c7c62bfff89bbb1c8f14cdabebe91909060f // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef __NR_bpf #define __NR_bpf 321 #endif #define BITMASK(bf_off, bf_len) (((1ull << (bf_len)) - 1) << (bf_off)) #define STORE_BY_BITMASK(type, htobe, addr, val, bf_off, bf_len) \ *(type*)(addr) = \ htobe((htobe(*(type*)(addr)) & ~BITMASK((bf_off), (bf_len))) | \ (((type)(val) << (bf_off)) & BITMASK((bf_off), (bf_len)))) static bool write_file(const char* file, const char* what, ...) { char buf[1024]; va_list args; va_start(args, what); vsnprintf(buf, sizeof(buf), what, args); va_end(args); buf[sizeof(buf) - 1] = 0; int len = strlen(buf); int fd = open(file, O_WRONLY | O_CLOEXEC); if (fd == -1) return false; if (write(fd, buf, len) != len) { int err = errno; close(fd); errno = err; return false; } close(fd); return true; } struct nlmsg { char* pos; int nesting; struct nlattr* nested[8]; char buf[4096]; }; static void netlink_init(struct nlmsg* nlmsg, int typ, int flags, const void* data, int size) { memset(nlmsg, 0, sizeof(*nlmsg)); struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf; hdr->nlmsg_type = typ; hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags; memcpy(hdr + 1, data, size); nlmsg->pos = (char*)(hdr + 1) + NLMSG_ALIGN(size); } static void netlink_attr(struct nlmsg* nlmsg, int typ, const void* data, int size) { struct nlattr* attr = (struct nlattr*)nlmsg->pos; attr->nla_len = sizeof(*attr) + size; attr->nla_type = typ; if (size > 0) memcpy(attr + 1, data, size); nlmsg->pos += NLMSG_ALIGN(attr->nla_len); } static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16_t reply_type, int* reply_len, bool dofail) { if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting) exit(1); struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf; hdr->nlmsg_len = nlmsg->pos - nlmsg->buf; struct sockaddr_nl addr; memset(&addr, 0, sizeof(addr)); addr.nl_family = AF_NETLINK; ssize_t n = sendto(sock, nlmsg->buf, hdr->nlmsg_len, 0, (struct sockaddr*)&addr, sizeof(addr)); if (n != (ssize_t)hdr->nlmsg_len) { if (dofail) exit(1); return -1; } n = recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0); if (reply_len) *reply_len = 0; if (n < 0) { if (dofail) exit(1); return -1; } if (n < (ssize_t)sizeof(struct nlmsghdr)) { errno = EINVAL; if (dofail) exit(1); return -1; } if (hdr->nlmsg_type == NLMSG_DONE) return 0; if (reply_len && hdr->nlmsg_type == reply_type) { *reply_len = n; return 0; } if (n < (ssize_t)(sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr))) { errno = EINVAL; if (dofail) exit(1); return -1; } if (hdr->nlmsg_type != NLMSG_ERROR) { errno = EINVAL; if (dofail) exit(1); return -1; } errno = -((struct nlmsgerr*)(hdr + 1))->error; return -errno; } static int netlink_send(struct nlmsg* nlmsg, int sock) { return netlink_send_ext(nlmsg, sock, 0, NULL, true); } static int netlink_query_family_id(struct nlmsg* nlmsg, int sock, const char* family_name, bool dofail) { struct genlmsghdr genlhdr; memset(&genlhdr, 0, sizeof(genlhdr)); genlhdr.cmd = CTRL_CMD_GETFAMILY; netlink_init(nlmsg, GENL_ID_CTRL, 0, &genlhdr, sizeof(genlhdr)); netlink_attr(nlmsg, CTRL_ATTR_FAMILY_NAME, family_name, strnlen(family_name, GENL_NAMSIZ - 1) + 1); int n = 0; int err = netlink_send_ext(nlmsg, sock, GENL_ID_CTRL, &n, dofail); if (err < 0) { return -1; } uint16_t id = 0; struct nlattr* attr = (struct nlattr*)(nlmsg->buf + NLMSG_HDRLEN + NLMSG_ALIGN(sizeof(genlhdr))); for (; (char*)attr < nlmsg->buf + n; attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) { if (attr->nla_type == CTRL_ATTR_FAMILY_ID) { id = *(uint16_t*)(attr + 1); break; } } if (!id) { errno = EINVAL; return -1; } recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0); return id; } static void netlink_device_change(struct nlmsg* nlmsg, int sock, const char* name, bool up, const char* master, const void* mac, int macsize, const char* new_name) { struct ifinfomsg hdr; memset(&hdr, 0, sizeof(hdr)); if (up) hdr.ifi_flags = hdr.ifi_change = IFF_UP; hdr.ifi_index = if_nametoindex(name); netlink_init(nlmsg, RTM_NEWLINK, 0, &hdr, sizeof(hdr)); if (new_name) netlink_attr(nlmsg, IFLA_IFNAME, new_name, strlen(new_name)); if (master) { int ifindex = if_nametoindex(master); netlink_attr(nlmsg, IFLA_MASTER, &ifindex, sizeof(ifindex)); } if (macsize) netlink_attr(nlmsg, IFLA_ADDRESS, mac, macsize); int err = netlink_send(nlmsg, sock); if (err < 0) { } } static int netlink_add_addr(struct nlmsg* nlmsg, int sock, const char* dev, const void* addr, int addrsize) { struct ifaddrmsg hdr; memset(&hdr, 0, sizeof(hdr)); hdr.ifa_family = addrsize == 4 ? AF_INET : AF_INET6; hdr.ifa_prefixlen = addrsize == 4 ? 24 : 120; hdr.ifa_scope = RT_SCOPE_UNIVERSE; hdr.ifa_index = if_nametoindex(dev); netlink_init(nlmsg, RTM_NEWADDR, NLM_F_CREATE | NLM_F_REPLACE, &hdr, sizeof(hdr)); netlink_attr(nlmsg, IFA_LOCAL, addr, addrsize); netlink_attr(nlmsg, IFA_ADDRESS, addr, addrsize); return netlink_send(nlmsg, sock); } static void netlink_add_addr4(struct nlmsg* nlmsg, int sock, const char* dev, const char* addr) { struct in_addr in_addr; inet_pton(AF_INET, addr, &in_addr); int err = netlink_add_addr(nlmsg, sock, dev, &in_addr, sizeof(in_addr)); if (err < 0) { } } static void netlink_add_addr6(struct nlmsg* nlmsg, int sock, const char* dev, const char* addr) { struct in6_addr in6_addr; inet_pton(AF_INET6, addr, &in6_addr); int err = netlink_add_addr(nlmsg, sock, dev, &in6_addr, sizeof(in6_addr)); if (err < 0) { } } static void netlink_add_neigh(struct nlmsg* nlmsg, int sock, const char* name, const void* addr, int addrsize, const void* mac, int macsize) { struct ndmsg hdr; memset(&hdr, 0, sizeof(hdr)); hdr.ndm_family = addrsize == 4 ? AF_INET : AF_INET6; hdr.ndm_ifindex = if_nametoindex(name); hdr.ndm_state = NUD_PERMANENT; netlink_init(nlmsg, RTM_NEWNEIGH, NLM_F_EXCL | NLM_F_CREATE, &hdr, sizeof(hdr)); netlink_attr(nlmsg, NDA_DST, addr, addrsize); netlink_attr(nlmsg, NDA_LLADDR, mac, macsize); int err = netlink_send(nlmsg, sock); if (err < 0) { } } static struct nlmsg nlmsg; static int tunfd = -1; #define TUN_IFACE "syz_tun" #define LOCAL_MAC 0xaaaaaaaaaaaa #define REMOTE_MAC 0xaaaaaaaaaabb #define LOCAL_IPV4 "172.20.20.170" #define REMOTE_IPV4 "172.20.20.187" #define LOCAL_IPV6 "fe80::aa" #define REMOTE_IPV6 "fe80::bb" #define IFF_NAPI 0x0010 static void initialize_tun(void) { tunfd = open("/dev/net/tun", O_RDWR | O_NONBLOCK); if (tunfd == -1) { printf("tun: can't open /dev/net/tun: please enable CONFIG_TUN=y\n"); printf("otherwise fuzzing or reproducing might not work as intended\n"); return; } const int kTunFd = 200; if (dup2(tunfd, kTunFd) < 0) exit(1); close(tunfd); tunfd = kTunFd; struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); strncpy(ifr.ifr_name, TUN_IFACE, IFNAMSIZ); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0) { exit(1); } char sysctl[64]; sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/accept_dad", TUN_IFACE); write_file(sysctl, "0"); sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/router_solicitations", TUN_IFACE); write_file(sysctl, "0"); int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); if (sock == -1) exit(1); netlink_add_addr4(&nlmsg, sock, TUN_IFACE, LOCAL_IPV4); netlink_add_addr6(&nlmsg, sock, TUN_IFACE, LOCAL_IPV6); uint64_t macaddr = REMOTE_MAC; struct in_addr in_addr; inet_pton(AF_INET, REMOTE_IPV4, &in_addr); netlink_add_neigh(&nlmsg, sock, TUN_IFACE, &in_addr, sizeof(in_addr), &macaddr, ETH_ALEN); struct in6_addr in6_addr; inet_pton(AF_INET6, REMOTE_IPV6, &in6_addr); netlink_add_neigh(&nlmsg, sock, TUN_IFACE, &in6_addr, sizeof(in6_addr), &macaddr, ETH_ALEN); macaddr = LOCAL_MAC; netlink_device_change(&nlmsg, sock, TUN_IFACE, true, 0, &macaddr, ETH_ALEN, NULL); close(sock); } static long syz_emit_ethernet(volatile long a0, volatile long a1, volatile long a2) { if (tunfd < 0) return (uintptr_t)-1; uint32_t length = a0; char* data = (char*)a1; return write(tunfd, data, length); } static void setup_common() { if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) { } } static void setup_binderfs() { if (mkdir("/dev/binderfs", 0777)) { } if (mount("binder", "/dev/binderfs", "binder", 0, NULL)) { } if (symlink("/dev/binderfs", "./binderfs")) { } } static void loop(); static void sandbox_common() { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); setsid(); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = (200 << 20); setrlimit(RLIMIT_AS, &rlim); rlim.rlim_cur = rlim.rlim_max = 32 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 136 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 128 << 20; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); if (unshare(CLONE_NEWNS)) { } if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL)) { } if (unshare(CLONE_NEWIPC)) { } if (unshare(0x02000000)) { } if (unshare(CLONE_NEWUTS)) { } if (unshare(CLONE_SYSVSEM)) { } typedef struct { const char* name; const char* value; } sysctl_t; static const sysctl_t sysctls[] = { {"/proc/sys/kernel/shmmax", "16777216"}, {"/proc/sys/kernel/shmall", "536870912"}, {"/proc/sys/kernel/shmmni", "1024"}, {"/proc/sys/kernel/msgmax", "8192"}, {"/proc/sys/kernel/msgmni", "1024"}, {"/proc/sys/kernel/msgmnb", "1024"}, {"/proc/sys/kernel/sem", "1024 1048576 500 1024"}, }; unsigned i; for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++) write_file(sysctls[i].name, sysctls[i].value); } static int wait_for_loop(int pid) { if (pid < 0) exit(1); int status = 0; while (waitpid(-1, &status, __WALL) != pid) { } return WEXITSTATUS(status); } static void drop_caps(void) { struct __user_cap_header_struct cap_hdr = {}; struct __user_cap_data_struct cap_data[2] = {}; cap_hdr.version = _LINUX_CAPABILITY_VERSION_3; cap_hdr.pid = getpid(); if (syscall(SYS_capget, &cap_hdr, &cap_data)) exit(1); const int drop = (1 << CAP_SYS_PTRACE) | (1 << CAP_SYS_NICE); cap_data[0].effective &= ~drop; cap_data[0].permitted &= ~drop; cap_data[0].inheritable &= ~drop; if (syscall(SYS_capset, &cap_hdr, &cap_data)) exit(1); } static int do_sandbox_none(void) { if (unshare(CLONE_NEWPID)) { } int pid = fork(); if (pid != 0) return wait_for_loop(pid); setup_common(); sandbox_common(); drop_caps(); if (unshare(CLONE_NEWNET)) { } write_file("/proc/sys/net/ipv4/ping_group_range", "0 65535"); initialize_tun(); setup_binderfs(); loop(); exit(1); } uint64_t r[3] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff}; void loop(void) { intptr_t res = 0; res = syscall(__NR_socket, /*domain=*/0x11ul, /*type=*/3ul, /*proto=*/0x300); if (res != -1) r[0] = res; memcpy((void*)0x20000080, "syz_tun\000\000\000\000\000\000\000\000\000", 16); res = syscall(__NR_ioctl, /*fd=*/r[0], /*cmd=*/0x8933, /*arg=*/0x20000080ul); if (res != -1) r[1] = *(uint32_t*)0x20000090; *(uint32_t*)0x20000180 = 6; *(uint32_t*)0x20000184 = 4; *(uint64_t*)0x20000188 = 0x20000580; memcpy( (void*)0x20000580, "\x18\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00" "\x00\x00\x41\x00\x00\x00\x95\x00\x00\x00\x00\x00\x00\x00\x4b\xe9\x89\x11" "\xed\x52\x3c\xf4\x45\x1d\x51\xe4\x00\xcb\xd3\x0e\xfb\xb0\xa7\x3c\xeb\x2b" "\x8f\x0a\x45\x6c\x3a\x6c\xfd\x12\x78\x68\xad\x3f\xe3\xf9\xa9\xb9\x46\xc9" "\x7f\x9f\xc0\x91\xe4\xc3\xf4\xb0\xa0\xd7\xed\x29\x87\x17\xa4\x80\xc4\x88" "\x68\x56\x2f\x04\x00\x59\x72\xb6\xa5\x26\x55\x19\xfe\xe4\xcb\x1b\x8b\x93" "\xf0\xb1\x64\x77\x0f\xd4\x0c\x7a\x80\x60\xce\x72\xbe\xff\x7c\xda\x17\x7e" "\x28\xa1\xa9\x7b\x2c\x8c\x56\xa3\xf1\x5b\x2f\x7a\x9b\x7a\xe2\x95\x09\x52" "\x17\xbf\xf8\xc9\x44\x1a\x45\xfd\x00\x00\x00\x00\x00\x00\x00", 159); *(uint64_t*)0x20000190 = 0x200000c0; memcpy((void*)0x200000c0, "GPL\000", 4); *(uint32_t*)0x20000198 = 4; *(uint32_t*)0x2000019c = 0x1000; *(uint64_t*)0x200001a0 = 0x2062b000; *(uint32_t*)0x200001a8 = 0; *(uint32_t*)0x200001ac = 0; memset((void*)0x200001b0, 0, 16); *(uint32_t*)0x200001c0 = 0; *(uint32_t*)0x200001c4 = 0; *(uint32_t*)0x200001c8 = -1; *(uint32_t*)0x200001cc = 8; *(uint64_t*)0x200001d0 = 0; *(uint32_t*)0x200001d8 = 0; *(uint32_t*)0x200001dc = 0x10; *(uint64_t*)0x200001e0 = 0; *(uint32_t*)0x200001e8 = 0; *(uint32_t*)0x200001ec = 0; *(uint32_t*)0x200001f0 = -1; *(uint32_t*)0x200001f4 = 0; *(uint64_t*)0x200001f8 = 0; res = syscall(__NR_bpf, /*cmd=*/5ul, /*arg=*/0x20000180ul, /*size=*/0x70ul); if (res != -1) r[2] = res; *(uint32_t*)0x200000c0 = r[2]; *(uint32_t*)0x200000c4 = r[1]; *(uint32_t*)0x200000c8 = 0x25; *(uint32_t*)0x200000cc = 0; syscall(__NR_bpf, /*cmd=*/0x1cul, /*arg=*/0x200000c0ul, /*size=*/0x10ul); memset((void*)0x20001000, 170, 5); *(uint8_t*)0x20001005 = 0xbb; memset((void*)0x20001006, 170, 5); *(uint8_t*)0x2000100b = 0xaa; *(uint16_t*)0x2000100c = htobe16(0x8100); STORE_BY_BITMASK(uint16_t, , 0x2000100e, 0, 0, 3); STORE_BY_BITMASK(uint16_t, , 0x2000100e, 0, 3, 1); STORE_BY_BITMASK(uint16_t, , 0x2000100e, 0, 4, 12); *(uint16_t*)0x20001010 = htobe16(0); memcpy( (void*)0x20001012, "\x91\x01\x8f\xd4\xc6\x41\xaa\xc2\x49\xe3\x50\x07\x71\x24\x07\xe7\x72\x18" "\xb3\x64\x9f\x1e\xdd\x9a\xe6\xc7\x22\xa0\x6e\xa0\x22\x0c\x95\x1b\xad\xa9" "\x77\xa7\x89\x1d\x54\x29\x6f\xe7\x34\x3f\xdd\x15\xf9\x50\xb7\x9c\x26\x41" "\x48\x0c\x1b\x3a\xd7\xda\xf2\x86\xc0\x8c\x5d\xfa\x16\xd0\x0c\x5a\xe2\xc8" "\x48\x53\xa5\xa2\xdf\xab\xe4\x44\x4d\xda\xb4\x25\xcc\x15\x39\xc5\xa2\xf3" "\x40\xfd\x18\xeb\x81\x2e\xb1\x4a\xab\xd9\x9a\xf0\xf3\x15\x91\x26\xa9\xeb" "\x95\xdc\x16\x2b\x19\xe4\x67\x48\xfe\xf4\x3d\x1d\x73\x4d\x2e\x1c\xa9\xba" "\xa0\xc7\x0e\x97\x28\xe3\x1a\x0a\xfe\xff\x15\x07\x2a\xcd\x7e\x7f\xf5\x97" "\x0e\xbe\x50\xf3\x96\x79\x47\x2a\x5a\x51\x77\x82\xe9\xac\xe4\xe7\x70\x09" "\x3c\x0a\xf3\x88\xa5\xd5\xa0\x6b\xf7\x44\x76\xce\x08\x1d\x9e\xa0\x3b\xc5" "\x0c\x3d\x4b\xe2\x9f\x4f\xba\x1d\x50\xbc\x3a\xf2\x8f\xd8\x32\x11\x72\xb4" "\x50\xbb\xab\x4b\xd4\x0a\x4e\x0c\xa8\x6e\xd9\xc5\x77\x27\x9e\x40\x66\x8b" "\x77\x70\x16\x0f\x29\x68\xbf\x1e\x1b\x43\x38\x10\x5e\xce\xb7\x47\x34\xca" "\xa8\x70\x53\x87\x32\xff\xeb\xf3\x2f\x62\xc9\x39\xfc\x96\xa9\x71\xd3\x3c" "\x12\xb1\x2d\x78\x86\xe7\x87\x12\x30\xfe\xec\x96\x86\xe7\xed\x68\x23\x55" "\x22\x48\xad\x24\xdb\x08\x61\x02\x0b\x3c\x62\x4c\x43\x92\x18\xc5\xea\xc8" "\x11\x25\x7a\x3a\x82\xc4\x05\x1a\x9e\xbe\xa8\x55\x94\x4f\xc6\x34\x07\x61" "\x73\xa3\x81\x54\x94\x49\x8b\x3a\xe7\x89\xf3\xf7\xe9\xb3\x5f\x66\x9f\x7e" "\xc9\xb6\x69\x0b\xe2\x17\x49\x48\x8a\x4c\x96\x36\xbb\x48\x3f\x6b\xf2\x69" "\x7a\x06\x8b\xb5\xd6\xee\x75\x19\x2c\xb4\x76\x4f\x3c\x2f\xf2\xcb\xc7\x9e" "\xab\xde\x15\xe6\xec\xf3\xab\xb1\xe6\xe5\x0b\xa8\xbd\xe3\xe1\xde\x12\x79" "\xb9\x8c\xdc\xea\xeb\xea\xff\xc6\x2c\xc6\xa8\x65\xfc\x80\x6a\xfb\x78\x07" "\x7b\xfd\x2f\x0b\xee\x1d\x91\x77\xb8\x06\x53\x0b\x3c\x3b\xc4\xf0\xfd\x8f" "\x3a\x4c\x0e\xdd\xea\x0c\xbd\xee\x7b\x49\xf9\xa7\x8b\x7f\xee\x91\x11\x2f" "\x91\xaa\x9c\x3a\xe6\x9c\x94\xd6\xe1\x87\x2c\x35\x7d\xb0\xff\xe6\x96\x0b" "\x39\xbb\x1a\x9a\xdd\x5f\x96\xbb\x42\xef\x92\x0e\x85\x66\x95\x1f\xee\xe8" "\xa3\x12\xc6\x65\x50\xe0\xea\xad\x6f\xb6\x3b\xe1\xc8\xdf\x35\xa6\x41\xdf" "\xad\x24\xb1\xef\x54\x17\x7c\x18\x1d\x41\x59\xcf\x8e\x2e\x44\x86\x1b\xa5" "\x49\x84\xf4\xaa\x4b\x2a\x55\x35\xb2\x20\xe2\x7c\x14\x57\x54\xf8\x5a\x45" "\xb7\xcb\x45\x18\x2a\x7e\xd9\xbd\xc6\x8c\xb6\xed\xa4\x91\x02\x97\x1c\xaf" "\xea\xad\x26\x55\x28\xa5\xa2\x89\x99\x00\x62\x4b\xbf\xe3\x1a\x04\xc2\x68" "\xbc\xba\x1f\x0d\x12\x05\x15\x8c\xa8\x75\xc6\x90\x7d\x35\xf1\xf5\xfa\x70" "\x8b\xa9\x3c\x9b\xef\x4b\x56\x0d\xd8\xbf\x46\xf1\x10\xf1\x41\x61\x3f\x62" "\x69\x20\x79\xfc\xfe\x25\xb0\x9d\x2d\xf7\x48\x35\x58\x27\x38\x4a\x1d\x06" "\xac\x9d\x2b\xc4\xea\xdc\xbd\x48\x12\x7d\x00\x9e\xcd\x2a\xb3\xdb\x4d\xcf" "\x66\xad\x66\xcd\x7f\x84\x87\x0e\x00\x41\xcd\x93\x8e\x82\x50\x46\x01\x36" "\x07\x81\x60\xee\xcc\xb9\xff\xe4\x3a\xb7\x63\x52\x08\xf0\x71\x18\xba\x41" "\xd6\x6a\x8d\x3b\x89\x8d\x06\x05\xed\x9e\xd2\x9a\xcf\x9c\x5f\xe2\xdd\xa3" "\x9c\xe2\xd3\x88\x26\xc2\x02\xb6\x22\xf7\xb3\x1e\x3c\x39\xa5\xa3\x6b\x6f" "\xc0\xc3\x79\x3d\x84\x37\x2b\xda\xb1\x25\xfd\x8b\x73\xc1\x12\x94\xdb\x19" "\xca\xfe\x53\x38\xb0\x58\xb7\x50\xac\xc4\xd8\xec\xa9\x33\xd5\x93\xfe\xbe" "\x02\x09\xf3\xa2\x11\xdc\x6c\x7a\xae\x68\x2c\x65\x4d\x4a\x9f\x18\xd2\xcc" "\x1f\x89\x0a\x07\x75\x29\x72\x3d\xc4\x60\x00\x8e\x4b\x95\xda\x82\xb6\xe9" "\x5c\xbb\x11\x40\xc9\x6a\x78\x53\x47\xf3\xd5\xed\xe5\xef\xb9\x60\x3a\xf4" "\x47\x15\x63\x08\x87\x80\x0b\xba\x56\x0c\xcf\x39\x40\x07\xa9\x50\xdc\xd7" "\xa2\x6a\xbc\x92\x1c\xff\x1b\xa0\xcd\x40\xc9\x00\x8c\xd9\xbb\xd5\xf2\x43" "\x6c\x82\x86\xd7\xfd\x58\x1e\x70\xd4\xcd\xd3\xdd\x40\x6e\x01\xd0\xbd\x24" "\xf4\xe5\x64\xbb\x0c\x06\xd5\xec\xe2\xff\x7e\xac\xfc\x59\xa3\x3e\x69\xc7" "\x49\xc7\x74\x9a\x1e\x65\x92\x84\x0c\x9e\x06\x51\x4c\x6a\x7d\x05\x4c\x13" "\x52\x7e\x08\xb8\xd9\x8e\x10\x2d\x6e\xd5\x0d\xfc\x46\x11\xc3\x47\x65\x36" "\xa0\x53\xea\x04\x6c\x0e\x23\x14\xd4\x4d\x43\x07\xa2\x40\x37\x10\xd7\xe5" "\x8f\x8c\x70\xee\x0b\x54\xe5\xb6\x6c\x5e\x4a\xd9\x35\x2c\x09\x72\xfc\x53" "\x2f\x03\x8a\x60\xb6\x23\x72\x45\xd5\x46\x70\xdf\x07\x4c\xa1\x5b\x52\x36" "\xd0\x53\xbc\xc8\x97\x4a\xd7\x63\xf2\xf4\x82\xea\x95\x5f\xfd\x51\x20\x91" "\x97\x17\x21\xa6\xa8\x85\xe6\x41\x1a\x0c\xb8\xc4\x9e\xb6\x17\x50\xab\xfd" "\x7e\xdb\xdf\xf7\xc5\xfc\x9e\xac\xd8\x21\x4c\x24\xcc\x53\xe9\xd9\x3e\xc4" "\xb0\x90\x36\xba\x10\x47\xad\x4e\x17\x30\x6b\xac\xf7\x66\xb2\x5c\x28\x8a" "\x24\x90\xbb\x9b\xd3\x03\xaf\x01\xa9\x60\xcf\xd5\x90\x92\x38\xe8\xd0\xc0" "\x1e\x4a\xc0\x3d\x43\x3d\x76\x46\x1b\x78\x3a\xde\xfe\x0f\xa9\xff\x89\x97" "\xbf\xd0\xaf\x8a\x04\xf5\x16\x0c\xe6\xa0\xd9\x45\xf5\x72\x4c\x07\x6c\xf9" "\x30\xc6\x84\x11\x21\xf8\x73\xe4\xdf\x50\x46\x0f\x20\x77\x24\x3e\xc9\x0f" "\xed\x6f\x5c\x8a\xc4\xdf\xa6\x8b\x86\x63\xf7\xef\x72\x1d\x62\x34\x19\x4c" "\xfa\x12\x59\xa7\x05\x46\x38\x21\x5d\x29\xe5\x3d\x45\x36\x77\x41\x71\xcd" "\xbc\x43\x85\x10\x53\x2a\x88\xc2\xf6\x94\x1c\x29\x4d\xf0\xfe\x72\xc0\xa6" "\xab\xee\x9c\xec\x7f\x6b\x03\x99\x71\x2b\x31\x31\x3d\xc9\xb6\x66\x1f\xd5" "\x4d\x7a\xc3\x48\xc8\xb0\x95\xe9\x43\x15\x09\xce\xbe\xce\xb1\xde\xdb\x26" "\x5c\x2d\xf2\x68\x4c\xb7\xe0\x1c\x46\x27\x17\xac\xc1\xb4\xf9\xae\x28\x08" "\x98\xad\xf1\x5d\xfa\xd2\x96\x0e\x4b\xaa\x90\xf2\x4c\x1d\x7d\x33\x10\x8b" "\x37\x0f\x7e\xe2\xd1\xbd\x66\x64\x74\x8b\x3f\x3f\xc4\xe8\x97\xfb\x2d\x7c" "\xd5\xa8\x9f\x97\x58\xee\x39\x37\x07\x36\x87\x1b\x42\xc0\x45\xff\xa4\xe3" "\x09\xaa\xe2\xb8\x92\x42\x4a\xce\xec\x0f\xc5\x92\x63\x22\x8e\x5a\x8f\x73" "\x66\x45\xc9\x9e\x2e\x08\x55\xdf\xe4\x0d\x31\xf5\xd4\x07\x8e\xcb\xef\xd9" "\x1e\x2a\x41\x47\x87\x6e\xb9\x10\x3c\x54\xa5\x14\xd0\x8f\x98\x09\xcf\xbc" "\x1f\xfb\x9b\xcf\x70\xbd\xc9\xb7\xfe\x89\xda\xf7\x91\x05\xdc\x52\x47\x5a" "\x58\x41\xe7\x6c\x95\x88\x76\xae\x29\xec\xa0\xe5\x5f\xdb\x4e\xe8\x14\x5d" "\xe3\xd8\x73\xdf\x2f\xb1\x77\x6f\x43\x13\xfd\xb2\x1c\x66\x98\x2a\x7e\x9a" "\x67\x3b\x4d\xb1\xcf\x5c\x18\x0f\x75\x80\x0d\x3c\x4d\x54\xab\x84\x5e\x2b" "\x9f\x91\xa0\x42\x05\x2f\x95\xea\x36\xf2\x81\x97\x1e\x2d\x52\xa8\x3e\xfe" "\xc1\x7d\x87\x13\x50\x54\x49\x94\x32\x31\x12\xd2\x6b\xbe\x93\x0a\x82\x1a" "\x72\xdb\x46\x78\x2f\x66\xec\x0b\x44\xbe\x6f\x64\x6f\x9e\xb3\xc4\xa1\xb3" "\xbe\x3e\x46\x21\x47\x96\x25\x09\x1f\x96\xb9\x00\x39\xfd\xb3\x23\x8a\xbd" "\xe5\xb0\x13\x3e\x2d\x70\x14\x48\x10\x83\x5a\xaf\xef\x61\x73\x35\x4e\x18" "\x13\xbb\x8d\xa5\x4b\xf7\xae\x47\x3c\x14\x14\x97\xbe\xe3\x71\x55\xd5\x56" "\xc1\x21\xb9\xa6\xe5\x8c\xdf\x17\xce\x2a\xac\xd9\xc1\xdf\x92\xae\xed\x04" "\x0a\x50\x90\xa9\xf5\xe3\x9f\xfa\x2e\x71\x48\xde\x1b\x17\xa8\xb3\xae\x51" "\x54\x8a\x99\x76\x08\x2c\x92\xc8\x6f\x54\x41\xe9\x63\xf5\x96\xed\x83\x45" "\x7d\x02\xb8\x3c\x8b\x39\x7e\x36\x55\xf6\x3a\x36\x43\x01\x48\x90\xd0\x25" "\x15\xc6\x3c\x11\x1f\xc4\x31\x1d\xcd\xb6\x61\x5d\xe6\x3c\x2b\xf1\x35\x41" "\x8e\xb5\xfd\x3a\x08\x53\x93\x0f\x73\xe0\x07\xa9\x87\x58\xd2\x71\xfc\xa2" "\x4e\xe5\x06\x30\x63\x33\x90\x61\xdc\x5f\x88\x67\xb0\x51\x76\x95\x96\x5f" "\x2f\xc2\xac\xfb\x08\xde\x8b\x26\x18\x29\xcb\x6b\x9e\x21\x42\xd8\x01\x6c" "\x2d\x2e\x9b\x10\x9b\x1c\x86\x60\xee\x50\xf7\x45\x41\x2b\x87\x0d\x91\xee" "\xc1\xd4\x71\xbb\x0a\xda\x20\x04\x3e\x3e\xea\xbf\x89\x41\x68\xcd\xb7\x57" "\x9e\x54\x0a\xa8\x1e\x61\x58\x45\xc6\x95\x9b\x9e\x2a\x43\x99\xf0\xd0\xb5" "\x02\xf6\xfe\x51\x2b\x8d\x87\x4f\xdd\x10\x49\x0d\xcd\x5c\xd3\xcc\x28\x77" "\xa3\x48\x3f\x44\xa1\x3e\x10\xba\xb3\x87\x3e\x38\xe2\xb4\x13\x93\xa4\xb9" "\x6a\xc2\xde\x43\xda\xf8\x7b\x73\xa6\x8b\x8a\x82\x51\x17\xf3\x74\x71\xc7" "\x60\xd6\xda\x0a\x4f\xaa\xce\x99\xe8\xac\xb9\xfc\xba\xbf\x85\x5a\xcf\xf0" "\xc0\xd8\xef\x33\x4d\xeb\xd7\x23\x55\x95\x7d\xee\x00\xf9\x54\x85\x28\x5b" "\x5f\x82\xed\x4d\x65\x99\x78\xb4\xb1\x51\xd9\x0a\x97\xa4\x0c\x0d\x7f\xf4" "\x6a\x8f\x6e\x9a\xb1\xb1\x22\xca\xe0\x8b\x77\x97\x5c\xd9\x96\x54\x52\x91" "\xc0\x19\x54\xc9\xac\x48\x2f\xd8\x57\xfb\x6a\x66\x82\x72\x46\xc2\xe4\x1a" "\x4e\x37\x8a\x89\x52\x7b\x50\xe3\xad\xc9\x18\xfa\x33\x37\x05\x86\xd4\x84" "\xe0\x6f\x79\x96\xeb\x85\x55\x4b\x13\xd9\x0f\x18\xc4\x10\x54\x69\x11\x65" "\xb4\x47\x70\x3b\xf5\xcc\xc3\xc7\x56\x1f\xbb\x6b\xd2\xee\xac\x79\xf0\xa5" "\x9d\xeb\x3e\x14\xd0\xdd\xf0\xdc\xe6\x1a\xf1\x07\x02\xea\x96\xdf\x69\xc9" "\x46\xbb\x7c\x6a\x82\x40\x25\x6b\xac\x1f\x69\xbe\x0d\x17\x41\xdc\xfb\xf7" "\xcb\x5b\xa5\xbf\x5e\x4c\xb2\x9b\xdf\xfd\x56\x86\x98\x42\x01\x70\xad\xfd" "\x56\x2d\x06\xc7\x40\xaa\x8e\x7d\x3d\xa7\x2e\xdb\xf3\x7f\x76\x9d\x23\xc8" "\xa1\x48\x25\x45\x0a\xfb\x03\x48\xf3\x20\x79\x5b\xaa\xb0\x49\x1b\x0d\xa3" "\x28\x40\x87\x18\xc9\x4d\x81\xee\x92\xbb\x3e\x12\xb3\xdd\xca\x83\xf7\x19" "\xc2\x39\xa3\xa0\xb4\x60\xda\xf8\x25\xce\x1b\xe5\x89\x4c\xff\xd9\x2a\x43" "\xc8\xbb\x5b\x93\x07\xed\xdc\xbb\x69\x62\xa4\x6a\xc7\x2c\xd7\x01\x38\xb4" "\xc0\xbb\xfb\x05\x97\x5e\x97\xbc\x89\x8b\xe7\xf7\x49\x3b\x2c\x47\x1a\x9c" "\x1b\x4e\x65\x7e\x18\xa7\x4e\x9f\x97\x2b\xd7\x3b\x0f\xbf\xba\xab\xe3\x3a" "\x7e\x94\x3d\x7b\x13\xc8\x4a\xa0\x13\x96\x00\x2f\xa4\x8b\x52\xea\x7e\xe2" "\x4c\x00\xd9\xfc\x2e\x68\x60\x6a\x2b\xa0\x2d\x2d\x52\x2b\x87\x3c\x18\x2b" "\x4e\xc3\x31\x1d\x61\x37\x63\x14\x5a\xe3\x92\x9a\xcd\x23\x4b\xc3\xe1\xfb" "\x69\x74\x7e\x0e\xe0\xc1\x75\x07\x9d\xfe\xfe\xc2\x2a\x63\xa2\x5e\x86\x5d" "\x96\xa3\x2e\x23\x9b\xb1\x24\x59\xc1\x5a\xb5\xd9\x64\x39\x6e\x8b\x2b\x38" "\xb3\x6e\xdb\xf2\xe2\x79\x4a\x13\xdf\x39\x6d\xb6\x3f\x06\xce\x3f\xfb\xb5" "\xa4\x9a\xe6\x14\x72\xde\xc7\x68\x7d\x51\x5d\xe1\x60\xf8\x73\x0b\x51\x49" "\x30\x8e\x07\x3f\x3b\xac\x69\xe5\xa5\x85\x0d\xdc\x9f\xa4\x6c\x9f\x72\x64" "\xa4\x3e\x5e\x32\x8d\x8e\x2f\xf0\xfc\x04\x12\xd3\x06\x5e\x9e\xa0\x7a\x7f" "\x7c\xaf\xef\xb9\x71\xf1\xb1\xa8\x1d\x45\x20\xf5\x8c\xa6\x89\x46\xc1\xe4" "\x38\x94\x03\x17\x91\x7e\x5e\x0a\x79\x08\xfc\x24\xaa\x00\xe6\x24\x99\xd4" "\x5d\x17\x1d\x01\x78\x8d\x60\x3d\xa2\x43\xc6\xdd\x25\xba\x39\x94\xf4\x1e" "\x3a\x83\x88\x8f\x50\xf7\x31\x31\x31\x76\xab\x39\x17\xa6\x61\xc6\x7d\x03" "\x8e\xc0\x03\x9e\xcc\x45\x13\x65\xbb\x6a\x89\xb2\x02\x8a\x3f\x89\x80\xcd" "\x85\x2b\x56\xcf\xd6\xa3\xb7\xfb\x5c\x61\x32\x3c\xe5\x41\xfe\xed\x02\x95" "\xa3\x5f\xad\x25\x20\xc7\xfe\x64\xe0\x3d\x15\x84\x5d\x61\x05\x7f\x95\xa2" "\x94\x4c\x7c\x34\xad\x92\xf8\xe9\x28\xe6\xc5\xfa\x91\xee\x06\x42\x5e\xd5" "\x27\xf0\x4e\xa4\x59\xaf\x0b\x61\x30\xb7\x99\x83\x3f\xf2\x1d\xba\x70\xb0" "\x5d\x59\xaf\x1b\xc5\x58\x19\x78\x66\x81\x15\x1d\xf3\x69\x51\x98\xfe\x53" "\x10\xa9\x27\x77\x2f\xa5\xba\xf8\x8a\xbb\xad\x14\xeb\x75\xf3\xb9\x02\x1a" "\xd3\x5a\x10\x0a\x6a\x46\x59\x64\xec\x91\xd6\xc3\x53\xbb\xed\xca\x90\x20" "\xbb\x4c\x99\x51\x63\xff\x0f\xa5\x15\xcc\xee\x51\xd5\x3d\x51\xd9\x8f\x5f" "\x91\xa7\x94\x43\x68\x16\x57\xff\xbd\xbd\x4e\xb6\xeb\xc1\x24\x0f\xe0\x61" "\x6c\x36\x2c\xfa\x5d\x1a\x9d\x60\x7d\xdc\x6a\xec\xa9\xb0\xbe\x45\x72\x6e" "\x7e\x6b\x5c\x62\xc9\xe0\xc1\x74\xdb\x47\x88\x87\x0f\x67\xb0\x08\x10\x0c" "\x87\xe7\x50\xe4\xb4\x6c\xd5\x9f\x96\x9f\xe7\x74\x00\xc7\x7f\x50\xc0\x44" "\x71\x4b\x70\x3d\x15\x73\x87\x11\xd0\x61\xae\x4f\x41\x1c\x0b\x2c\x82\x7a" "\x3f\x83\x9b\x77\x2a\xb6\x6b\x44\x77\xa8\xcf\x54\x3e\x4d\x82\x3c\xec\x6b" "\xc2\x80\x4c\x81\xe0\x7d\xfa\x77\xf6\x5c\x80\xc9\x0d\xb1\xf3\x89\xa3\x08" "\xd7\x01\xbc\x18\xe7\x95\xe1\x89\x80\x81\x7f\x53\x7b\xf5\x76\x88\xe2\xb2" "\x4e\xdc\x8d\xc9\x2e\xc8\x0a\xaa\x14\xfe\x3e\x0b\x81\xde\x3f\xb8\xf4\x0d" "\x6c\x72\x5e\xfd\xae\x20\x9f\x75\xbf\xd0\xea\x61\x9b\x86\xb6\x8c\xf3\x9d" "\xa1\xf5\x92\xb0\x7b\x35\x9b\xa3\xeb\x37\xa9\x4b\x54\xb5\xd1\xa4\x71\x35" "\x62\xbf\x50\xf4\x85\x87\x56\xd4\x17\xd3\x23\x4a\xbc\x94\xb1\x30\xe5\x65" "\x61\x48\xf4\x23\x3f\x27\xa6\xd3\x31\x0d\xe2\x09\x9d\xfa\x15\xc4\x71\x21" "\x22\x63\x85\xff\xfa\x3d\x38\xbd\x71\xe1\xa0\x05\xbc\x24\x87\x84\xd8\x4e" "\x01\xf4\x35\x15\x30\x2c\xeb\x30\x22\x5a\x69\xf7\xc7\x58\xc5\x53\x4b\x31" "\x9b\x04\x66\x2e\xa5\x93\x06\x92\x7a\xfa\x5e\x44\x1b\xe4\x5a\x19\xe4\xbf" "\xc1\x05\xba\x2e\x90\xe1\xd4\xc2\x53\x0b\xeb\xa8\x14\x1d\x5b\x85\xa3\xa0" "\xbe\xbd\x82\x5d\xa4\xc9\x18\x08\xe7\x8f\xb3\xd7\xfd\x2c\x21\xf5\x7c\x22" "\xe6\xd7\x75\x04\x38\xad\xc5\x15\x65\x49\xab\xe7\xe9\x17\x03\x07\x06\xbb" "\xfc\x2a\x2a\x16\xd1\x7d\x1a\xb4\x18\xf3\xb1\x42\xc6\x52\x8d\xa0\x4e\x98" "\xba\xb1\x6b\x3b\x87\xae\x4b\x31\x14\x0a\xe4\xf1\x27\x4b\x03\x2d\x07\xf3" "\x2d\x9e\x14\xe0\xc6\x6d\x76\x6d\x23\x84\xbd\xb7\x41\xb8\x5e\x10\xc9\x84" "\x08\x02\x13\x50\x0a\xb8\x3d\x91\x96\xc8\xae\x1a\x56\xdc\x6b\x98\xf6\xee" "\x16\x42\xef\xf0\x20\x54\xa6\x54\x83\x44\x3e\x08\x1c\x79\x8e\x09\x6d\x90" "\xaf\x25\x3e\x9e\xe8\x0a\x37\xc6\xc6\x00\x3b\x3c\xd4\x79\x21\x9f\x24\x82" "\xd1\x07\x02\x5c\x60\x1b\x63\x7e\xc0\xda\x2d\x6b\x05\x2f\x77\xaa\x85\xa7" "\x47\x28\x31\xbe\x21\x82\x30\x6a\xc8\x55\xc2\x19\x69\xc7\xa9\x69\xb9\xd1" "\xf8\xe3\xca\x41\x86\x0a\xa8\x9c\x88\xac\x52\xc6\xb0\x76\x55\x19\x2e\xc3" "\x57\x6a\x0a\x4a\x4a\x4b\xfa\x8b\x2c\x3e\xff\xd0\xb6\xc8\xf5\x0b\xc9\xe0" "\x34\xe4\xb0\x32\xac\xce\x99\x6f\x1e\x09\xeb\x93\x0b\xc6\x51\x77\x73\x8b" "\xac\x64\xa9\x01\x86\x7c\x4b\x99\xfc\x58\x2b\x78\x4d\x6e\xed\x42\x5b\x89" "\xbf\x9f\xb8\x4b\xc0\x68\x42\x7c\x56\xc8\x7b\x56\x26\xbf\x02\x24\x28\xc5" "\xcb\xfc\x05\xaa\x4e\x58\x20\xf7\x85\x05\xd3\x78\xb0\x6e\x24\x96\x7e\x84" "\xf5\x8c\xc8\xfc\xa4\x64\x56\x0d\xea\x17\xef\xf4\xa8\x3c\x8e\x7e\x5b\x6b" "\x1e\x5e\xbb\xba\xe8\x78\xcc\xbc\x3f\x3e\xc4\xf9\x55\x1d\x79\xf2\x4d\xeb" "\xba\xec\xf8\x37\x8e\xd5\x28\x31\x5f\x09\x76\x86\x79\x62\x5d\x83\xae\xcd" "\x0e\xc8\x68\x09\xe5\x9d\x67\xd5\xd5\x27\x75\x34\x90\x44\x9f\x91\x9c\x12" "\x7d\x9e\x24\x9e\xa1\xfb\xc5\x0b\x7f\xbc\xe1\x56\x0d\x1f\x65\xc7\x1a\x80" "\x0c\x7d\x00\xe6\xa3\x9d\x40\x61\x70\xb1\x80\x05\xbe\x7e\x8c\xb7\xf1\xb9" "\xc0\xd9\xd5\x26\xcd\x0e\xf3\x27\x57\xb9\x03\xb3\x6c\xfe\xbd\x21\xfb\x01" "\x1c\x1f\xf9\xc8\x63\x82\x25\x6d\xcd\x56\x07\x64\xe3\x04\x6c\xc1\x47\x5e" "\x40\x66\x30\xc8\xaa\xb0\x11\x9c\x78\xa7\xf3\xab\x07\x10\xf6\xf6\x90\xd8" "\x32\xc4\x7b\x0c\xe1\x08\x4c\x07\xe8\xe8\x54\x7c\xb9\xbf\x39\x0e\x74\x04" "\x39\xce\x38\x16\x3b\xf5\xac\xe5\xd2\xb0\x18\x1f\xdb\xa0\xc6\x49\x79\x71" "\x41\x64\x84\x1f\x1c\x59\x7d\x00\x83\x6a\x14\x90\x3e\x4d\x52\x5b\xbb\xd6" "\xfe\xca\x5f\xc3\x38\xcc\x4b\x42\x10\xfc\xc9\xe2\xbd\x8d\xc1\x42\x91\x2d" "\x69\x02\x5c\xf0\xad\x9b\x55\x5e\x63\x57\x41\xc7\xe9\x9d\xba\xac\xbe\xfd" "\x62\x60\x82\x3d\xdd\xa6\xaf\x0b\x7d\xa8\x7c\x5e\x54\xd4\x6d\xe5\x84\x54" "\xc2\x6a\xb5\x18\xe7\x31\xf4\x6c\xbc\x1c\x61\x36\x48\x8a\xf8\x0f\x6a\x34" "\x11\x61\xfe\x98\x58\x19\xfe\x03\x5d\x27\xd6\x24\xfe\x86\xfe\x10\x4b\x09" "\xd3\x22\xad\x0e\xf8\xe4\xdf\xa2\xf2\x83\xb7\x03\xaa\x34\x43\xfc\xc0\x01" "\x4d\xc6\xd6\xf6\x58\x1b\xe1\xe2\xc9\x88\xcb\x51\x49\x5c\x0c\x05\x49\xd7" "\x3f\x62\x27\xe3\xe7\xcf\x86\x8b\x13\xc9\x13\x86\x78\xde\x80\x37\x35\x37" "\x44\x35\x35\x24\x71\xb1\x29\x6a\xf0\xce\x01\xbf\x4a\x3b\xb6\x29\xba\x14" "\x66\x3c\xea\xd5\xe4\xba\x18\xf5\x5a\xf7\x55\x5f\xac\x31\x51\x80\xde\x83" "\x8f\x72\x6e\x40\xa3\xb7\x80\xa5\x3b\x83\x7d\x96\xdb\x10\x66\xf7\x54\x77" "\x7a\x85\xef\xd7\x2f\xdf\xe2\x00\x8d\x7c\x34\x6e\x95\x09\xed\xf6\x01\x16" "\x4b\x37\x2c\xb5\x08\xba\x15\xfe\x81\xdb\x11\x56\x79\x04\xa2\xf8\x5e\x22" "\x18\xab\xca\x00\xce\x73\x53\x0f\x6e\xcd\x85\xf6\x32\xea\x27\xdd\xfd\x26" "\x64\xdc\xef\x02\x3f\xb1\x8a\x21\x89\xf4\xab\x09\x11\x5c\xb9\x70\x0c\x73" "\xde\xec\x41\xc7\x1f\x21\xdd\xa1\x94\xf5\xab\xca\xce\xc2\xc5\x87\xcf\x47" "\x4c\x39\xc9\xf2\xae\xaf\xb7\x5d\x12\xaa\x78\x91\x1a\x99\x32\xf4\xe8\x04" "\xf7\xb8\x88\x8f\x9e\x82\x0d\x94\x6e\xa5\x16\x46\x88\xb0\x42\x04\x06\x19" "\xb4\x1d\xc4\xe1\x73\xa0\xab\xf2\xf8\x45\xe4\x2f\xa7\x0d\x9b\xf2\x8c\x7f" "\x8b\xb6\xcd\x0e\xb9\x2a\x10\xa6\x87\xec\x45\xb9\xb0\x95\xc3\xb6\xd1\xbe" "\x79\x8e\x85\x29\xea\x29\x64\x1f\xa3\xe2\xc7\x1b\x49\x82\xff\xaf\xdf\x92" "\x54\xe1\xf9\xd3\xcc\xa9\x6f\x08\x8a\x05\x79\x48\x0d\xc1\xde\x11\x58\xb0" "\x6a\x9f\xe5\x2a\x79\x16\xd7\x90\x0c\x15\x09\x6e\x35\x31\xe5\x33\x98\x68" "\xb0\x02\xf4\x84\x73", 3695); syz_emit_ethernet(/*len=*/0xe81, /*packet=*/0x20001000, /*frags=*/0); } int main(void) { syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=*/0x32ul, /*fd=*/-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul, /*prot=*/7ul, /*flags=*/0x32ul, /*fd=*/-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=*/0x32ul, /*fd=*/-1, /*offset=*/0ul); do_sandbox_none(); return 0; }