[<prev] [next>] [day] [month] [year] [list]
Message-ID: <6e62bd5c.2b85.196753a82fa.Coremail.luckd0g@163.com>
Date: Sun, 27 Apr 2025 11:11:31 +0800 (CST)
From: "Jianzhou Zhao" <luckd0g@....com>
To: stable@...r.kernel.org
Cc: shaggy@...nel.org, jfs-discussion@...ts.sourceforge.net,
linux-kernel@...r.kernel.org
Subject: BUG:KASAN: slab-use-after-free Read in jfs_lazycommit in linux6.12.24 and linux6.12.25(longterm maintenance)
Hello, I found a potential bug titled " KASAN: slab-use-after-free Read in jfs_lazycommit " with modified syzkaller in the Linux6.12.24(longterm maintenance, last updated on April 20, 2025) and the Linux6.12.25(longterm maintenance, last updated on April 25, 2025)
I will put the C language reproduction program for this bug at the end.
If you fix this issue, please add the following tag to the commit: Reported-by: Jianzhou Zhao <luckd0g@....com>, xingwei lee <xrivendell7@...il.com>
The commit of the kernel is : b6efa8ce222e58cfe2bbaa4e3329818c2b4bd74e
kernel config: https://syzkaller.appspot.com/text?tag=KernelConfig&x=55f8591b98dd132
compiler: gcc version 11.4.0
------------[ cut here ]-----------------------------------------
TITLE: KASAN: slab-use-after-free Read in jfs_lazycommit
------------[ cut here ]------------
==================================================================
BUG: KASAN: slab-use-after-free in jfs_lazycommit+0xa1f/0xb10 fs/jfs/jfs_txnmgr.c:2736
Read of size 4 at addr ffff888060f7de94 by task jfsCommit/123
CPU: 1 UID: 0 PID: 123 Comm: jfsCommit Not tainted 6.12.24 #3
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x116/0x1b0 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:377 [inline]
print_report+0xc0/0x5e0 mm/kasan/report.c:488
kasan_report+0xbd/0xf0 mm/kasan/report.c:601
jfs_lazycommit+0xa1f/0xb10 fs/jfs/jfs_txnmgr.c:2736
kthread+0x2c7/0x3b0 kernel/kthread.c:389
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:152
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
</TASK>
Allocated by task 18638:
kasan_save_stack+0x24/0x50 mm/kasan/common.c:47
kasan_save_track+0x14/0x30 mm/kasan/common.c:68
poison_kmalloc_redzone mm/kasan/common.c:377 [inline]
__kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:394
kmalloc_noprof include/linux/slab.h:878 [inline]
kzalloc_noprof include/linux/slab.h:1014 [inline]
jfs_fill_super+0xdd/0xd40 fs/jfs/super.c:495
mount_bdev+0x1e9/0x2e0 fs/super.c:1693
legacy_get_tree+0x109/0x220 fs/fs_context.c:662
vfs_get_tree+0x94/0x380 fs/super.c:1814
do_new_mount fs/namespace.c:3512 [inline]
path_mount+0x6b2/0x1ea0 fs/namespace.c:3839
do_mount fs/namespace.c:3852 [inline]
__do_sys_mount fs/namespace.c:4062 [inline]
__se_sys_mount fs/namespace.c:4039 [inline]
__x64_sys_mount+0x284/0x310 fs/namespace.c:4039
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcb/0x250 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Freed by task 9521:
kasan_save_stack+0x24/0x50 mm/kasan/common.c:47
kasan_save_track+0x14/0x30 mm/kasan/common.c:68
kasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:579
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x54/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2363 [inline]
slab_free mm/slub.c:4601 [inline]
kfree+0x14b/0x4b0 mm/slub.c:4749
generic_shutdown_super+0x15c/0x3d0 fs/super.c:642
kill_block_super+0x3b/0x90 fs/super.c:1710
deactivate_locked_super+0xbc/0x1a0 fs/super.c:473
deactivate_super+0xb1/0xd0 fs/super.c:506
cleanup_mnt+0x2df/0x430 fs/namespace.c:1373
task_work_run+0x169/0x260 kernel/task_work.c:239
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0x27b/0x2a0 kernel/entry/common.c:218
do_syscall_64+0xd8/0x250 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
The buggy address belongs to the object at ffff888060f7de00
which belongs to the cache kmalloc-256 of size 256
The buggy address is located 148 bytes inside of
freed 256-byte region [ffff888060f7de00, ffff888060f7df00)
The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888060f7c800 pfn:0x60f7c
head: order:1 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
anon flags: 0x4fff00000000040(head|node=1|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 04fff00000000040 ffff88801ac41b40 0000000000000000 dead000000000001
raw: ffff888060f7c800 000000000010000f 00000001f5000000 0000000000000000
head: 04fff00000000040 ffff88801ac41b40 0000000000000000 dead000000000001
head: ffff888060f7c800 000000000010000f 00000001f5000000 0000000000000000
head: 04fff00000000001 ffffea000183df01 ffffffffffffffff 0000000000000000
head: 0000000000000002 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 1, migratetype Unmovable, gfp_mask 0x52820(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 9543, tgid 9543 (syz-executor), ts 103433205575, free_ts 103378736576
set_page_owner include/linux/page_owner.h:32 [inline]
post_alloc_hook+0x2e7/0x350 mm/page_alloc.c:1558
prep_new_page mm/page_alloc.c:1566 [inline]
get_page_from_freelist+0xe4e/0x2b20 mm/page_alloc.c:3476
__alloc_pages_noprof+0x219/0x21f0 mm/page_alloc.c:4754
alloc_pages_mpol_noprof+0x2b6/0x600 mm/mempolicy.c:2269
alloc_slab_page mm/slub.c:2433 [inline]
allocate_slab mm/slub.c:2599 [inline]
new_slab+0x2d5/0x420 mm/slub.c:2652
___slab_alloc+0xbb7/0x1860 mm/slub.c:3840
__slab_alloc.constprop.0+0x56/0xb0 mm/slub.c:3930
__slab_alloc_node mm/slub.c:3983 [inline]
slab_alloc_node mm/slub.c:4144 [inline]
__do_kmalloc_node mm/slub.c:4285 [inline]
__kmalloc_noprof+0x388/0x430 mm/slub.c:4298
kmalloc_noprof include/linux/slab.h:882 [inline]
kmalloc_array_noprof include/linux/slab.h:923 [inline]
batadv_hash_new+0x6f/0x2f0 net/batman-adv/hash.c:52
batadv_bla_init+0x3ff/0x750 net/batman-adv/bridge_loop_avoidance.c:1567
batadv_mesh_init+0x529/0x9b0 net/batman-adv/main.c:212
batadv_softif_init_late+0xbd6/0xf40 net/batman-adv/soft-interface.c:812
register_netdevice+0x651/0x1bf0 net/core/dev.c:10484
batadv_softif_newlink+0x72/0xa0 net/batman-adv/soft-interface.c:1089
rtnl_newlink_create net/core/rtnetlink.c:3542 [inline]
__rtnl_newlink+0x1138/0x18e0 net/core/rtnetlink.c:3762
rtnl_newlink+0x68/0xa0 net/core/rtnetlink.c:3775
page last free pid 26 tgid 26 stack trace:
reset_page_owner include/linux/page_owner.h:25 [inline]
free_pages_prepare mm/page_alloc.c:1127 [inline]
free_unref_page+0x714/0x10c0 mm/page_alloc.c:2659
vfree+0x172/0x940 mm/vmalloc.c:3378
delayed_vfree_work+0x57/0x70 mm/vmalloc.c:3298
process_one_work+0xa02/0x1bf0 kernel/workqueue.c:3232
process_scheduled_works kernel/workqueue.c:3314 [inline]
worker_thread+0x677/0xe90 kernel/workqueue.c:3395
kthread+0x2c7/0x3b0 kernel/kthread.c:389
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:152
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
Memory state around the buggy address:
ffff888060f7dd80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff888060f7de00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff888060f7de80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff888060f7df00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff888060f7df80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================
#define _GNU_SOURCE
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <pthread.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>
#include <linux/futex.h>
#include <linux/loop.h>
#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif
static unsigned long long procid;
static void sleep_ms(uint64_t ms)
{
usleep(ms * 1000);
}
static uint64_t current_time_ms(void)
{
struct timespec ts;
if (clock_gettime(CLOCK_MONOTONIC, &ts))
exit(1);
return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}
static void use_temporary_dir(void)
{
char tmpdir_template[] = "./syzkaller.XXXXXX";
char* tmpdir = mkdtemp(tmpdir_template);
if (!tmpdir)
exit(1);
if (chmod(tmpdir, 0777))
exit(1);
if (chdir(tmpdir))
exit(1);
}
static void thread_start(void* (*fn)(void*), void* arg)
{
pthread_t th;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setstacksize(&attr, 128 << 10);
int i = 0;
for (; i < 100; i++) {
if (pthread_create(&th, &attr, fn, arg) == 0) {
pthread_attr_destroy(&attr);
return;
}
if (errno == EAGAIN) {
usleep(50);
continue;
}
break;
}
exit(1);
}
typedef struct {
int state;
} event_t;
static void event_init(event_t* ev)
{
ev->state = 0;
}
static void event_reset(event_t* ev)
{
ev->state = 0;
}
static void event_set(event_t* ev)
{
if (ev->state)
exit(1);
__atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE);
syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000);
}
static void event_wait(event_t* ev)
{
while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0);
}
static int event_isset(event_t* ev)
{
return __atomic_load_n(&ev->state, __ATOMIC_ACQUIRE);
}
static int event_timedwait(event_t* ev, uint64_t timeout)
{
uint64_t start = current_time_ms();
uint64_t now = start;
for (;;) {
uint64_t remain = timeout - (now - start);
struct timespec ts;
ts.tv_sec = remain / 1000;
ts.tv_nsec = (remain % 1000) * 1000 * 1000;
syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts);
if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
return 1;
now = current_time_ms();
if (now - start > timeout)
return 0;
}
}
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;
}
//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:
//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty. In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//% claim that you wrote the original software. If you use this software
//% in a product, an acknowledgment in the product documentation would be
//% appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//% misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler madler@...mni.caltech.edu
//% BEGIN CODE DERIVED FROM puff.{c,h}
#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288
struct puff_state {
unsigned char* out;
unsigned long outlen;
unsigned long outcnt;
const unsigned char* in;
unsigned long inlen;
unsigned long incnt;
int bitbuf;
int bitcnt;
jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
long val = s->bitbuf;
while (s->bitcnt < need) {
if (s->incnt == s->inlen)
longjmp(s->env, 1);
val |= (long)(s->in[s->incnt++]) << s->bitcnt;
s->bitcnt += 8;
}
s->bitbuf = (int)(val >> need);
s->bitcnt -= need;
return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
s->bitbuf = 0;
s->bitcnt = 0;
if (s->incnt + 4 > s->inlen)
return 2;
unsigned len = s->in[s->incnt++];
len |= s->in[s->incnt++] << 8;
if (s->in[s->incnt++] != (~len & 0xff) ||
s->in[s->incnt++] != ((~len >> 8) & 0xff))
return -2;
if (s->incnt + len > s->inlen)
return 2;
if (s->outcnt + len > s->outlen)
return 1;
for (; len--; s->outcnt++, s->incnt++) {
if (s->in[s->incnt])
s->out[s->outcnt] = s->in[s->incnt];
}
return 0;
}
struct puff_huffman {
short* count;
short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
int first = 0;
int index = 0;
int bitbuf = s->bitbuf;
int left = s->bitcnt;
int code = first = index = 0;
int len = 1;
short* next = h->count + 1;
while (1) {
while (left--) {
code |= bitbuf & 1;
bitbuf >>= 1;
int count = *next++;
if (code - count < first) {
s->bitbuf = bitbuf;
s->bitcnt = (s->bitcnt - len) & 7;
return h->symbol[index + (code - first)];
}
index += count;
first += count;
first <<= 1;
code <<= 1;
len++;
}
left = (MAXBITS + 1) - len;
if (left == 0)
break;
if (s->incnt == s->inlen)
longjmp(s->env, 1);
bitbuf = s->in[s->incnt++];
if (left > 8)
left = 8;
}
return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
int len;
for (len = 0; len <= MAXBITS; len++)
h->count[len] = 0;
int symbol;
for (symbol = 0; symbol < n; symbol++)
(h->count[length[symbol]])++;
if (h->count[0] == n)
return 0;
int left = 1;
for (len = 1; len <= MAXBITS; len++) {
left <<= 1;
left -= h->count[len];
if (left < 0)
return left;
}
short offs[MAXBITS + 1];
offs[1] = 0;
for (len = 1; len < MAXBITS; len++)
offs[len + 1] = offs[len] + h->count[len];
for (symbol = 0; symbol < n; symbol++)
if (length[symbol] != 0)
h->symbol[offs[length[symbol]]++] = symbol;
return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
const struct puff_huffman* distcode)
{
static const short lens[29] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 13,
15, 17, 19, 23, 27, 31, 35, 43, 51, 59,
67, 83, 99, 115, 131, 163, 195, 227, 258};
static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
static const short dists[30] = {
1, 2, 3, 4, 5, 7, 9, 13, 17, 25,
33, 49, 65, 97, 129, 193, 257, 385, 513, 769,
1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
static const short dext[30] = {0, 0, 0, 0, 1, 1, 2, 2, 3, 3,
4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
int symbol;
do {
symbol = puff_decode(s, lencode);
if (symbol < 0)
return symbol;
if (symbol < 256) {
if (s->outcnt == s->outlen)
return 1;
if (symbol)
s->out[s->outcnt] = symbol;
s->outcnt++;
} else if (symbol > 256) {
symbol -= 257;
if (symbol >= 29)
return -10;
int len = lens[symbol] + puff_bits(s, lext[symbol]);
symbol = puff_decode(s, distcode);
if (symbol < 0)
return symbol;
unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
if (dist > s->outcnt)
return -11;
if (s->outcnt + len > s->outlen)
return 1;
while (len--) {
if (dist <= s->outcnt && s->out[s->outcnt - dist])
s->out[s->outcnt] = s->out[s->outcnt - dist];
s->outcnt++;
}
}
} while (symbol != 256);
return 0;
}
static int puff_fixed(struct puff_state* s)
{
static int virgin = 1;
static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
static struct puff_huffman lencode, distcode;
if (virgin) {
lencode.count = lencnt;
lencode.symbol = lensym;
distcode.count = distcnt;
distcode.symbol = distsym;
short lengths[FIXLCODES];
int symbol;
for (symbol = 0; symbol < 144; symbol++)
lengths[symbol] = 8;
for (; symbol < 256; symbol++)
lengths[symbol] = 9;
for (; symbol < 280; symbol++)
lengths[symbol] = 7;
for (; symbol < FIXLCODES; symbol++)
lengths[symbol] = 8;
puff_construct(&lencode, lengths, FIXLCODES);
for (symbol = 0; symbol < MAXDCODES; symbol++)
lengths[symbol] = 5;
puff_construct(&distcode, lengths, MAXDCODES);
virgin = 0;
}
return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
static const short order[19] = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5,
11, 4, 12, 3, 13, 2, 14, 1, 15};
int nlen = puff_bits(s, 5) + 257;
int ndist = puff_bits(s, 5) + 1;
int ncode = puff_bits(s, 4) + 4;
if (nlen > MAXLCODES || ndist > MAXDCODES)
return -3;
short lengths[MAXCODES];
int index;
for (index = 0; index < ncode; index++)
lengths[order[index]] = puff_bits(s, 3);
for (; index < 19; index++)
lengths[order[index]] = 0;
short lencnt[MAXBITS + 1], lensym[MAXLCODES];
struct puff_huffman lencode = {lencnt, lensym};
int err = puff_construct(&lencode, lengths, 19);
if (err != 0)
return -4;
index = 0;
while (index < nlen + ndist) {
int symbol;
int len;
symbol = puff_decode(s, &lencode);
if (symbol < 0)
return symbol;
if (symbol < 16)
lengths[index++] = symbol;
else {
len = 0;
if (symbol == 16) {
if (index == 0)
return -5;
len = lengths[index - 1];
symbol = 3 + puff_bits(s, 2);
} else if (symbol == 17)
symbol = 3 + puff_bits(s, 3);
else
symbol = 11 + puff_bits(s, 7);
if (index + symbol > nlen + ndist)
return -6;
while (symbol--)
lengths[index++] = len;
}
}
if (lengths[256] == 0)
return -9;
err = puff_construct(&lencode, lengths, nlen);
if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
return -7;
short distcnt[MAXBITS + 1], distsym[MAXDCODES];
struct puff_huffman distcode = {distcnt, distsym};
err = puff_construct(&distcode, lengths + nlen, ndist);
if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
return -8;
return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
const unsigned char* source, unsigned long sourcelen)
{
struct puff_state s = {
.out = dest,
.outlen = *destlen,
.outcnt = 0,
.in = source,
.inlen = sourcelen,
.incnt = 0,
.bitbuf = 0,
.bitcnt = 0,
};
int err;
if (setjmp(s.env) != 0)
err = 2;
else {
int last;
do {
last = puff_bits(&s, 1);
int type = puff_bits(&s, 2);
err = type == 0 ? puff_stored(&s)
: (type == 1 ? puff_fixed(&s)
: (type == 2 ? puff_dynamic(&s) : -1));
if (err != 0)
break;
} while (!last);
}
*destlen = s.outcnt;
return err;
}
//% END CODE DERIVED FROM puff.{c,h}
#define ZLIB_HEADER_WIDTH 2
static int puff_zlib_to_file(const unsigned char* source,
unsigned long sourcelen, int dest_fd)
{
if (sourcelen < ZLIB_HEADER_WIDTH)
return 0;
source += ZLIB_HEADER_WIDTH;
sourcelen -= ZLIB_HEADER_WIDTH;
const unsigned long max_destlen = 132 << 20;
void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
MAP_PRIVATE | MAP_ANON, -1, 0);
if (ret == MAP_FAILED)
return -1;
unsigned char* dest = (unsigned char*)ret;
unsigned long destlen = max_destlen;
int err = puff(dest, &destlen, source, sourcelen);
if (err) {
munmap(dest, max_destlen);
errno = -err;
return -1;
}
if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
munmap(dest, max_destlen);
return -1;
}
return munmap(dest, max_destlen);
}
static int setup_loop_device(unsigned char* data, unsigned long size,
const char* loopname, int* loopfd_p)
{
int err = 0, loopfd = -1;
int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
if (memfd == -1) {
err = errno;
goto error;
}
if (puff_zlib_to_file(data, size, memfd)) {
err = errno;
goto error_close_memfd;
}
loopfd = open(loopname, O_RDWR);
if (loopfd == -1) {
err = errno;
goto error_close_memfd;
}
if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
if (errno != EBUSY) {
err = errno;
goto error_close_loop;
}
ioctl(loopfd, LOOP_CLR_FD, 0);
usleep(1000);
if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
err = errno;
goto error_close_loop;
}
}
close(memfd);
*loopfd_p = loopfd;
return 0;
error_close_loop:
close(loopfd);
error_close_memfd:
close(memfd);
error:
errno = err;
return -1;
}
static void reset_loop_device(const char* loopname)
{
int loopfd = open(loopname, O_RDWR);
if (loopfd == -1) {
return;
}
if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
}
close(loopfd);
}
static long syz_mount_image(volatile long fsarg, volatile long dir,
volatile long flags, volatile long optsarg,
volatile long change_dir,
volatile unsigned long size, volatile long image)
{
unsigned char* data = (unsigned char*)image;
int res = -1, err = 0, need_loop_device = !!size;
char* mount_opts = (char*)optsarg;
char* target = (char*)dir;
char* fs = (char*)fsarg;
char* source = NULL;
char loopname[64];
if (need_loop_device) {
int loopfd;
memset(loopname, 0, sizeof(loopname));
snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
if (setup_loop_device(data, size, loopname, &loopfd) == -1)
return -1;
close(loopfd);
source = loopname;
}
mkdir(target, 0777);
char opts[256];
memset(opts, 0, sizeof(opts));
if (strlen(mount_opts) > (sizeof(opts) - 32)) {
}
strncpy(opts, mount_opts, sizeof(opts) - 32);
if (strcmp(fs, "iso9660") == 0) {
flags |= MS_RDONLY;
} else if (strncmp(fs, "ext", 3) == 0) {
bool has_remount_ro = false;
char* remount_ro_start = strstr(opts, "errors=remount-ro");
if (remount_ro_start != NULL) {
char after = *(remount_ro_start + strlen("errors=remount-ro"));
char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
has_remount_ro = ((before == '\0' || before == ',') &&
(after == '\0' || after == ','));
}
if (strstr(opts, "errors=panic") || !has_remount_ro)
strcat(opts, ",errors=continue");
} else if (strcmp(fs, "xfs") == 0) {
strcat(opts, ",nouuid");
}
res = mount(source, target, fs, flags, opts);
if (res == -1) {
err = errno;
goto error_clear_loop;
}
res = open(target, O_RDONLY | O_DIRECTORY);
if (res == -1) {
err = errno;
goto error_clear_loop;
}
if (change_dir) {
res = chdir(target);
if (res == -1) {
err = errno;
}
}
error_clear_loop:
if (need_loop_device)
reset_loop_device(loopname);
errno = err;
return res;
}
#define FS_IOC_SETFLAGS _IOW('f', 2, long)
static void remove_dir(const char* dir)
{
int iter = 0;
DIR* dp = 0;
const int umount_flags = MNT_FORCE | UMOUNT_NOFOLLOW;
retry:
while (umount2(dir, umount_flags) == 0) {
}
dp = opendir(dir);
if (dp == NULL) {
if (errno == EMFILE) {
exit(1);
}
exit(1);
}
struct dirent* ep = 0;
while ((ep = readdir(dp))) {
if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0)
continue;
char filename[FILENAME_MAX];
snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name);
while (umount2(filename, umount_flags) == 0) {
}
struct stat st;
if (lstat(filename, &st))
exit(1);
if (S_ISDIR(st.st_mode)) {
remove_dir(filename);
continue;
}
int i;
for (i = 0;; i++) {
if (unlink(filename) == 0)
break;
if (errno == EPERM) {
int fd = open(filename, O_RDONLY);
if (fd != -1) {
long flags = 0;
if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
}
close(fd);
continue;
}
}
if (errno == EROFS) {
break;
}
if (errno != EBUSY || i > 100)
exit(1);
if (umount2(filename, umount_flags))
exit(1);
}
}
closedir(dp);
for (int i = 0;; i++) {
if (rmdir(dir) == 0)
break;
if (i < 100) {
if (errno == EPERM) {
int fd = open(dir, O_RDONLY);
if (fd != -1) {
long flags = 0;
if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
}
close(fd);
continue;
}
}
if (errno == EROFS) {
break;
}
if (errno == EBUSY) {
if (umount2(dir, umount_flags))
exit(1);
continue;
}
if (errno == ENOTEMPTY) {
if (iter < 100) {
iter++;
goto retry;
}
}
}
exit(1);
}
}
static void kill_and_wait(int pid, int* status)
{
kill(-pid, SIGKILL);
kill(pid, SIGKILL);
for (int i = 0; i < 100; i++) {
if (waitpid(-1, status, WNOHANG | __WALL) == pid)
return;
usleep(1000);
}
DIR* dir = opendir("/sys/fs/fuse/connections");
if (dir) {
for (;;) {
struct dirent* ent = readdir(dir);
if (!ent)
break;
if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
continue;
char abort[300];
snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
ent->d_name);
int fd = open(abort, O_WRONLY);
if (fd == -1) {
continue;
}
if (write(fd, abort, 1) < 0) {
}
close(fd);
}
closedir(dir);
} else {
}
while (waitpid(-1, status, __WALL) != pid) {
}
}
static void reset_loop()
{
char buf[64];
snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
int loopfd = open(buf, O_RDWR);
if (loopfd != -1) {
ioctl(loopfd, LOOP_CLR_FD, 0);
close(loopfd);
}
}
static void setup_test()
{
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
setpgrp();
write_file("/proc/self/oom_score_adj", "1000");
if (symlink("/dev/binderfs", "./binderfs")) {
}
}
struct thread_t {
int created, call;
event_t ready, done;
};
static struct thread_t threads[16];
static void execute_call(int call);
static int running;
static void* thr(void* arg)
{
struct thread_t* th = (struct thread_t*)arg;
for (;;) {
event_wait(&th->ready);
event_reset(&th->ready);
execute_call(th->call);
__atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED);
event_set(&th->done);
}
return 0;
}
static void execute_one(void)
{
if (write(1, "executing program\n", sizeof("executing program\n") - 1)) {
}
int i, call, thread;
for (call = 0; call < 4; call++) {
for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0]));
thread++) {
struct thread_t* th = &threads[thread];
if (!th->created) {
th->created = 1;
event_init(&th->ready);
event_init(&th->done);
event_set(&th->done);
thread_start(thr, th);
}
if (!event_isset(&th->done))
continue;
event_reset(&th->done);
th->call = call;
__atomic_fetch_add(&running, 1, __ATOMIC_RELAXED);
event_set(&th->ready);
event_timedwait(&th->done, 50 + (call == 0 ? 4000 : 0));
break;
}
}
for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++)
sleep_ms(1);
}
static void execute_one(void);
#define WAIT_FLAGS __WALL
static void loop(void)
{
int iter = 0;
for (;; iter++) {
char cwdbuf[32];
sprintf(cwdbuf, "./%d", iter);
if (mkdir(cwdbuf, 0777))
exit(1);
reset_loop();
int pid = fork();
if (pid < 0)
exit(1);
if (pid == 0) {
if (chdir(cwdbuf))
exit(1);
setup_test();
execute_one();
exit(0);
}
int status = 0;
uint64_t start = current_time_ms();
for (;;) {
sleep_ms(10);
if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
break;
if (current_time_ms() - start < 5000)
continue;
kill_and_wait(pid, &status);
break;
}
remove_dir(cwdbuf);
}
}
uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff};
void execute_call(int call)
{
intptr_t res = 0;
switch (call) {
case 0:
memcpy((void*)0x200000000000, "jfs\000", 4);
memcpy((void*)0x2000000004c0, "./bus\000", 6);
memcpy(
(void*)0x200000010140,
"\x78\x9c\xec\xdd\x4d\x6f\x1d\x57\x19\x07\xf0\xe7\xbe\xf8\xfa\xa5\xb4"
"\x8d\x2a\x54\x85\x88\x85\x9b\x42\x69\x29\xcd\x7b\x02\xe5\xad\x29\x0b"
"\x16\xb0\x00\x09\x75\x4d\x22\xd7\xad\x02\x29\xa0\x24\x20\x5a\x59\xc4"
"\x95\x17\x88\x0d\xf0\x11\x60\xd3\x0d\x8b\x7e\x05\x3e\x40\x3f\x03\xe2"
"\x03\x10\xc9\x66\xd5\x05\x65\xd0\xd8\xe7\x24\xe3\xf1\x75\xae\x43\xe2"
"\x3b\xd7\x3e\xbf\x9f\x74\x33\xf3\xcc\xb9\x63\x9f\xc9\xdf\xe3\xb9\xd7"
"\x33\x73\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\xf1\x83\xef\xff\xe4\x7c\x2f\x22\xae\xfd\x26\x2d\x38\x11\xf1\xb9"
"\x18\x44\xf4\x23\x16\xeb\x7a\x39\xea\x99\xab\xf9\xf9\xc3\x88\x38\x19"
"\xdb\xcd\xf1\x7c\x44\x0c\xe6\x23\xea\xf5\xb7\xff\x79\x36\xe2\x52\x44"
"\x7c\xf2\x4c\xc4\xe6\xd6\xda\x4a\xbd\xf8\xc2\x01\xfb\x71\xf9\xdc\x9d"
"\x5b\x9f\xfd\xf0\x7b\xff\xf8\xfd\x9f\x36\x4e\xfe\xec\xed\x9f\x7e\xd4"
"\x6e\xff\xf1\xe7\x2f\x7e\xfc\x87\xbb\x11\x27\x7e\xf4\xfa\xc7\x9f\xdd"
"\x7d\x32\xdb\x0e\x00\x00\x00\xa5\xa8\xaa\xaa\xea\xa5\xb7\xf9\xa7\xd2"
"\xfb\xfb\x7e\xd7\x9d\x02\x00\xa6\x22\x1f\xff\xab\x24\x2f\x57\xab\xd5"
"\x6a\xf5\x13\xad\xff\xd8\x9f\xad\xfe\xa8\x0b\xad\x9b\xaa\xf1\xee\x36"
"\x8b\x88\x58\x6f\xae\x53\xbf\x66\x70\x3a\x1e\x00\x8e\x98\xf5\xf8\xb4"
"\xeb\x2e\xd0\x21\xf9\x17\x6d\x18\x11\x4f\x75\xdd\x09\x60\xa6\xf5\xba"
"\xee\x00\x87\x62\x73\x6b\x6d\xa5\x97\xf2\xed\x35\x8f\x07\xcb\x3b\xed"
"\xf9\xef\x94\xbb\xf2\x5f\xef\xdd\xbf\xbf\x63\xbf\xe9\x24\xed\x6b\x4c"
"\xa6\xf5\xf3\xb5\x11\x83\x78\x6e\x9f\xfe\x2c\x4e\xa9\x0f\xb3\x24\xe7"
"\xdf\x6f\xe7\x7f\x6d\xa7\x7d\x94\x9e\x77\xd8\xf9\x4f\xcb\x7e\xf9\x8f"
"\x76\x6e\x7d\x2a\x4e\xce\x7f\xd0\xce\xbf\x65\x57\xfe\x7f\x8e\x88\x23"
"\x9b\x7f\x7f\x6c\xfe\xa5\xca\xf9\x0f\x1f\x25\xff\xf5\xc1\x11\xde\xff"
"\xe5\x0f\x00\x00\x00\x00\xc0\xf1\x97\xff\xfe\x7f\xa2\xe3\xf3\xbf\xf3"
"\x8f\xbf\x29\x07\xf2\xb0\xf3\xbf\xcb\x53\xea\x03\x00\x00\x00\x00\x00"
"\x00\x00\x3c\x69\x8f\x3b\xfe\xdf\x7d\xc6\xff\x03\x00\x00\x80\x99\x55"
"\xbf\x57\xaf\xfd\xe5\x99\x07\xcb\xf6\xfb\x2c\xb6\x7a\xf9\x5b\xbd\x88"
"\xa7\x5b\xcf\x07\x0a\xb3\xdc\xf8\x70\x40\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x60\x3a\x86\x11\x4b\xe9\xba\xfe\xb9\x88\x78\x7a\x69\xa9"
"\xaa\xaa\xfa\xd1\xd4\xae\x1f\xd5\xe3\xae\x7f\xd4\x95\xbe\xfd\x50\xb2"
"\xae\x7f\xc9\x03\x00\xc0\x8e\x4f\x9e\x69\xdd\xcb\xdf\x8b\x58\x88\x88"
"\xb7\xd2\x67\xfd\xcd\x2d\x2d\x2d\x55\xd5\xc2\xe2\x52\xb5\x54\x2d\xce"
"\xe7\xd7\xb3\xa3\xf9\x85\x6a\xb1\xf1\xbe\x36\x4f\xeb\x65\xf3\xa3\x03"
"\xbc\x20\x1e\x8e\xaa\xfa\x8b\x2d\x34\xd6\x6b\x9a\xf4\x7e\x79\x52\x7b"
"\xfb\xeb\xd5\xdf\x6b\x54\x0d\x0e\xd0\xb1\xe9\xe8\x30\x70\x00\x88\x88"
"\x9d\xa3\xd1\xa6\x23\xd2\x31\x53\x55\xcf\x46\xd7\xaf\x72\x38\x1a\xec"
"\xff\xc7\x8f\xfd\x9f\x83\xe8\xfa\xe7\x14\x00\x00\x00\x38\x7c\x55\x55"
"\x55\xbd\xf4\x71\xde\xa7\xd2\x39\xff\x7e\xd7\x9d\x02\x00\xa6\x22\x1f"
"\xff\xdb\xe7\x05\xd4\x6a\xb5\x5a\xad\x56\x1f\xbf\xba\xa9\x1a\xef\x6e"
"\xb3\x88\x88\xf5\xe6\x3a\xf5\x6b\x06\xc3\xf1\x03\xc0\x11\xb3\x1e\x9f"
"\x76\xdd\x05\x3a\x24\xff\xa2\x0d\x23\xe2\x64\xd7\x9d\x00\x66\x5a\xaf"
"\xeb\x0e\x70\x28\x36\xb7\xd6\x56\x7a\x29\xdf\x5e\xf3\x78\xb0\xbc\xd3"
"\x9e\xaf\x05\xd9\x95\xff\x7a\x6f\x7b\xbd\xbc\xfe\xb8\xe9\x24\xed\x6b"
"\x4c\xa6\xf5\xf3\xb5\x11\x83\x78\x6e\x9f\xfe\x3c\x3f\xa5\x3e\xcc\x92"
"\x9c\x7f\xbf\x9d\xff\xb5\x9d\xf6\x3c\xc4\xff\x61\xe7\x3f\x2d\xfb\xe5"
"\x5f\x6f\xe7\x89\x0e\xfa\xd3\xb5\x9c\xff\xa0\x9d\x7f\xcb\xf1\xc9\xbf"
"\x3f\x36\xff\x52\xe5\xfc\x87\x8f\x94\xff\x40\xfe\x00\x00\x00\x00\x00"
"\x30\xc3\xf2\xdf\xff\x4f\x38\xff\x9b\x37\x19\x00\x00\x00\x00\x00\x00"
"\x00\x8e\x9c\xcd\xad\xb5\x95\x7c\xdf\x6b\x3e\xff\xff\xc5\x31\xcf\xeb"
"\x35\xe7\xdc\xff\x79\x6c\xe4\xfc\x7b\x07\xce\xdf\xfd\xbf\xc7\x49\xce"
"\xbf\xdf\xce\xbf\x75\x41\xce\xa0\x31\x7f\xef\xcd\x07\xf9\xff\x7b\x6b"
"\x6d\xe5\xa3\x3b\xff\xfa\x42\x9e\xce\x7c\xfe\x73\x83\x51\xfd\xbd\xe7"
"\x7a\xfd\xc1\x30\x5d\xf3\x53\xcd\xbd\x13\x37\xe2\x66\xac\xc6\xb9\x3d"
"\xcf\x1f\xee\x6a\x3f\xbf\xa7\x7d\x6e\x57\xfb\x85\x09\xed\x17\xf7\xb4"
"\x8f\xea\xf6\xc5\xdc\x7e\x26\x56\xe2\x97\x71\x33\xde\xbe\xdf\x3e\x3f"
"\xe1\xc2\xa8\x85\x09\xed\xd5\x84\xf6\x9c\xff\xc0\xfe\x5f\xa4\x9c\xff"
"\xb0\xf1\xa8\xf3\x5f\x4a\xed\xbd\xd6\xb4\x76\xef\xc3\xfe\x9e\xfd\xbe"
"\x39\x1d\xf7\x7d\xae\xfe\xed\x3f\x2f\xed\xdd\xbb\xa6\x6f\x23\x06\xf7"
"\xb7\xad\xa9\xde\xbe\xd3\x1d\xf4\x67\xfb\xff\xe4\xa9\x51\xfc\xfa\xf6"
"\xea\xad\x33\xbf\xbd\x7e\xe7\xce\xad\xf3\x91\x26\xbb\x96\x5e\x88\x34"
"\x79\xc2\x72\xfe\x73\xe9\x91\xf3\x7f\xf9\xc5\x9d\xf6\xfc\x7b\xbf\xb9"
"\xbf\xde\xfb\x70\xf4\xc8\xf9\xcf\x8a\x8d\x18\xee\x9b\xff\x8b\x8d\xf9"
"\x7a\x7b\x5f\x99\x72\xdf\xba\x90\xf3\x1f\xa5\x47\xce\x3f\x1f\x81\xc6"
"\xef\xff\x47\x39\xff\xfd\xf7\xff\x57\x3b\xe8\x0f\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x3c\x4c\x55\x55\xdb\xb7\x88\x5e\x8d\x88"
"\x2b\xe9\xfe\x9f\xae\xee\xcd\x04\x00\xa6\x2b\x1f\xff\xab\x24\x2f\x57"
"\xab\xd5\x6a\xb5\x5a\x7d\xfc\xea\xa6\x6a\xbc\x37\x9a\x45\x44\xfc\xbd"
"\xb9\x4e\xfd\x9a\xe1\x77\xe3\xbe\x18\x00\x30\xcb\xfe\x1b\x11\xff\xec"
"\xba\x13\x74\x46\xfe\x05\xcb\x9f\xf7\x57\x4f\xbf\xd4\x75\x67\x80\xa9"
"\xba\xfd\xfe\x07\x3f\xbf\x7e\xf3\xe6\xea\xad\xdb\x5d\xf7\x04\x00\x00"
"\x00\x00\x00\x00\x00\xf8\x7f\xe5\xf1\x3f\x97\x1b\xe3\x3f\x6f\x5f\x07"
"\xd4\x1a\x37\x7a\xd7\xf8\xaf\x6f\xc6\xf2\x8c\x8f\xff\xb9\xb8\x5f\xc3"
"\x46\x7f\x34\xd8\x1e\xeb\x3c\x6d\xd0\x0b\xf1\xf0\xf1\xbf\x4f\xc7\xc3"
"\xc7\xff\x1e\x4e\xe8\xc8\xdc\x84\xf6\xd1\x84\xf6\xf9\x09\xed\x0b\x13"
"\xda\xc7\xde\xe8\xd1\x90\xf3\x7f\x21\x65\x9c\xf3\x3f\x95\x36\xac\xa4"
"\xf1\x5f\x5f\xee\xa0\x3f\x5d\xcb\xf9\x9f\x4e\x63\x3d\xe7\xfc\xbf\xd2"
"\x7a\x5e\x33\xff\xea\xaf\x47\x39\xff\xfe\xae\xfc\xcf\xde\x79\xef\x57"
"\x67\x6f\xbf\xff\xc1\x6b\x37\xde\xbb\xfe\xee\xea\xbb\xab\xbf\x38\x7f"
"\xee\xca\xa5\x8b\x97\x2f\x5d\xbc\x7c\xf9\xec\x3b\x37\x6e\xae\x9e\xdb"
"\xf9\xb7\xc3\x1e\x1f\xae\x9c\x7f\x1e\xfb\xda\x75\xa0\x65\xc9\xf9\xe7"
"\xcc\xe5\x5f\x96\x9c\xff\x97\x53\x2d\xff\xb2\xe4\xfc\x5f\x4a\xb5\xfc"
"\xcb\x92\xf3\xcf\xaf\xf7\xe4\x5f\x96\x9c\x7f\x7e\xef\x23\xff\xb2\xe4"
"\xfc\x5f\x49\xb5\xfc\xcb\x92\xf3\xff\x6a\xaa\xe5\x5f\x96\x9c\xff\xab"
"\xa9\x96\x7f\x59\x72\xfe\x5f\x4b\xb5\xfc\xcb\x92\xf3\x7f\x2d\xd5\xf2"
"\x2f\x4b\xce\xff\x4c\xaa\xe5\x5f\x96\x9c\xff\xd9\x54\xcb\xbf\x2c\x39"
"\xff\x7c\x86\x4b\xfe\x65\xc9\xf9\xe7\x2b\x1b\xe4\x5f\x96\x9c\xff\x85"
"\x54\xcb\xbf\x2c\x39\xff\x8b\xa9\x96\x7f\x59\x72\xfe\x97\x52\x2d\xff"
"\xb2\xe4\xfc\x2f\xa7\x5a\xfe\x65\xc9\xf9\x5f\x49\xb5\xfc\xcb\x92\xf3"
"\xff\x7a\xaa\xe5\x5f\x96\x9c\xff\x37\x52\x2d\xff\xb2\xe4\xfc\x5f\x4f"
"\xb5\xfc\xcb\x92\xf3\xff\x66\xaa\xe5\x5f\x96\x9c\xff\xb7\x52\x2d\xff"
"\xb2\xe4\xfc\xbf\x9d\x6a\xf9\x97\x25\xe7\xff\x9d\x54\xcb\xbf\x2c\x39"
"\xff\xef\xa6\x5a\xfe\x65\xc9\xf9\xbf\x91\x6a\xf9\x97\xe5\xc1\xe7\xff"
"\x9b\x31\x63\xc6\x4c\x9e\xe9\xfa\x37\x13\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\xd0\x36\x8d\xcb\x89\xbb\xde\x46\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\xf8\x1f\x3b\x70\x20\x00\x00\x00\x00\x00\xe4\xff\xda\x08\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
"\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\xd8\x81\x03"
"\x01\x00\x00\x00\x00\x20\xff\xd7\x46\xa8\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xc2\xde\xdd\xc5\xc8\x55\xde\xf7\x03"
"\x3f\xfb\x66\xaf\x0d\x09\xfe\x87\x77\xe2\x80\x6d\xde\x0c\x2c\xec\xae"
"\xdf\xc0\x21\x06\x93\x84\xfc\x29\xe9\x0b\x25\x21\x6d\x5a\x52\xe3\xd8"
"\x6b\xe3\xc4\x6f\xf5\xee\x12\x40\xa8\xde\x14\xda\x12\x05\xa9\x48\xed"
"\x05\xbd\x68\x9a\x44\x69\x14\xa9\xad\x40\x55\xa4\xa6\x12\x8d\x90\x1a"
"\xa9\xbd\x6b\xae\x1a\x71\x13\xb5\x52\x2e\x7c\x01\x95\x83\x92\x56\xa9"
"\x02\x5b\x9d\x39\xcf\xf3\xec\xcc\xec\xec\xcc\x7a\xed\xf1\xce\x9c\xf3"
"\xf9\x20\xfc\xf3\xce\x9c\x99\x79\xe6\xcc\x99\xd9\xfd\xae\xf5\x9d\x01"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x80\x7a\x9b\x3f\x36\xf5\x27\x03\x59\x96\xe5\xff"
"\xd7\xfe\xd8\x90\x65\x97\xe6\x7f\x5f\x97\xed\xcd\xbf\x9c\xdb\xb5\xda"
"\x2b\x04\x00\x00\x00\xce\xd7\xbb\xb5\x3f\xff\xf6\xb2\x74\xc2\xde\x65"
"\x5c\xa8\x6e\x9b\x7f\xb9\xfe\xdf\xbe\x3b\x3f\x3f\x3f\x9f\x7d\xfe\x9d"
"\x33\xef\xfd\xd9\xfc\x7c\x3a\x63\x53\x96\x0d\xad\xcd\xb2\xda\x79\xd1"
"\xbf\xfe\xe2\xe7\xf3\xf5\xdb\x04\xcf\x67\xa3\x03\x83\x75\x5f\x0f\x76"
"\xb8\xf9\xa1\x0e\xe7\x0f\x77\x38\x7f\xa4\xc3\xf9\x6b\x3a\x9c\xbf\xb6"
"\xc3\xf9\xa3\x1d\xce\x5f\xb4\x03\x16\x59\x57\xfc\x3e\xa6\x76\x65\x37"
"\xd5\xfe\xba\xa1\xd8\xa5\xd9\x15\xd9\x48\xed\xbc\x9b\x5a\x5c\xea\xf9"
"\x81\xb5\x83\x83\xf1\x77\x39\x35\x03\xb5\xcb\xcc\x8f\x1c\xca\x8e\x64"
"\x47\xb3\xa9\x6c\x62\xd1\x65\x06\x6a\xff\x65\xd9\xeb\x9b\xf3\xdb\x7a"
"\x28\x8b\xb7\x35\x58\x77\x5b\x1b\xb3\x2c\x3b\xfb\xd3\xe7\x0e\xc4\x35"
"\x0c\x84\x7d\x7c\x53\xd6\x70\x63\x35\xf5\x8f\xdd\xdb\x0f\x64\x9b\xde"
"\xf9\xe9\x73\x07\xbe\x3d\xf3\xd6\xb5\xad\x66\xc7\xdd\xb0\x68\xa5\x59"
"\xb6\x75\x4b\xbe\xce\x17\xb2\x6c\xe1\xd7\x55\xd9\x40\xb6\x36\xed\x93"
"\xb8\xce\xc1\xba\x75\x6e\x6c\xb1\xce\xa1\x86\x75\x0e\xd4\x2e\x97\xff"
"\xbd\x79\x9d\x67\x97\xb9\xce\x78\xbf\x47\xc3\x3a\x7f\xd8\x66\x9d\x1b"
"\xc3\x69\x4f\xdf\x98\x65\xd9\x5c\xb6\xe4\x36\xcd\x9e\xcf\x06\xb3\xf5"
"\x4d\xb7\x9a\xf6\xf7\x68\x71\x44\xe4\xd7\x91\x3f\x94\x1f\xc8\x86\xcf"
"\xe9\x38\xd9\xbc\x8c\xe3\x24\xbf\xcc\x4f\x6e\x6c\x3c\x4e\x9a\x8f\xc9"
"\xb8\xff\x37\x87\x7d\x32\xbc\xc4\x1a\xea\x1f\x8e\xb7\xbf\xbc\x66\xd1"
"\x7e\x5f\xe9\x71\x92\xdf\xeb\x5e\x38\x56\xf3\xeb\x7e\x24\xbf\xd1\xd1"
"\xd1\xfa\x5f\xad\x36\x1c\xab\xf9\x36\xcf\xdd\xbc\xf4\x31\xd0\xf2\xb1"
"\x6b\x71\x0c\xa4\x63\xb9\xee\x18\xd8\xd2\xe9\x18\x18\x5c\x33\x54\x3b"
"\x06\x06\x17\xd6\xbc\xa5\xe1\x18\x98\x5c\x74\x99\xc1\x6c\xa0\x76\x5b"
"\x67\x6e\x6e\x7f\x0c\x8c\xcf\x1c\x3b\x39\x3e\xfd\xcc\xb3\x77\x1e\x39"
"\xb6\xff\xf0\xd4\xe1\xa9\xe3\x93\x13\xbb\x76\x6c\xdf\xb9\x63\xfb\xce"
"\x9d\xe3\x87\x8e\x1c\x9d\x9a\x28\xfe\x3c\xb7\x5d\xda\x47\xd6\x67\x83"
"\xe9\x18\xdc\x12\x5e\x6b\xe2\x31\x78\x6b\xd3\xb6\xf5\x87\xe4\xfc\x37"
"\x2e\xdc\xf3\x60\xb4\x47\x9e\x07\xf9\x7d\xff\xf4\x2d\xf9\x82\x2e\x1d"
"\xcc\x96\x38\xc6\xf3\x6d\x5e\xd8\x7a\xfe\xcf\x83\xf4\x7d\xbf\xee\x79"
"\x30\x5c\xf7\x3c\x68\xf9\x9a\xda\xe2\x79\x30\xbc\x8c\xe7\x41\xbe\xcd"
"\xd9\xad\xcb\xfb\x9e\x39\x5c\xf7\x7f\xab\x35\x74\xeb\xb5\x70\x43\xdd"
"\x31\xb0\x9a\xdf\x0f\xf3\xdb\x7c\xfc\xb6\xa5\x5f\x0b\x37\x86\x75\xbd"
"\x78\xfb\xb9\x7e\x3f\x1c\x5a\x74\x0c\xc4\xbb\x35\x10\x9e\x7b\xf9\x29"
"\xe9\xe7\xbd\xd1\x7b\xc2\x7e\x59\x7c\x5c\x5c\x97\x9f\x71\xc9\x9a\x6c"
"\x76\x7a\xea\xd4\x5d\x4f\xef\x9f\x99\x39\x35\x99\x85\x71\x51\x5c\x5e"
"\xf7\x58\x35\x1f\x2f\xeb\xeb\xee\x53\xb6\xe8\x78\x19\x3c\xe7\xe3\x65"
"\xef\xdf\xfc\xf2\x96\xeb\x5a\x9c\xbe\x21\xec\xab\xd1\x3b\xda\x3f\x56"
"\xf9\x36\x3b\xc6\xda\x3f\x56\xb5\x57\xf7\xd6\xfb\xb3\xe1\xd4\x6d\x59"
"\x18\x17\xd8\xc5\xde\x9f\xad\xbe\x9b\xe5\xfb\x33\x65\x89\x36\xfb\x33"
"\xdf\xe6\x85\x3b\xcf\xff\x67\xc1\x94\x4b\xea\x5e\xff\x46\x3a\xbd\xfe"
"\x0d\x8d\x0c\x17\xaf\x7f\x43\x69\x6f\x8c\x34\xbc\xfe\x2d\x7e\x68\x86"
"\x6a\x2b\xcb\xb2\xb3\x77\x2e\xef\xf5\x6f\x24\xfc\x7f\xb1\x5f\xff\xae"
"\xe8\x91\xd7\xbf\x7c\x5f\x3d\x7e\x57\xfb\x63\x20\xdf\xe6\xc5\xf1\x73"
"\x3d\x06\x86\xdb\xbe\xfe\xdd\x18\xe6\x40\x58\xcf\x6d\x21\x31\x8c\xd6"
"\xe5\xfe\xf7\x6a\xe7\xcf\x15\x87\x69\xdd\x63\xd9\xf1\xb8\x19\x1e\x1e"
"\x09\xc7\xcd\x70\xbc\xc5\xc6\xe3\x66\xfb\xa2\xcb\xe4\xd7\x96\xdf\xf6"
"\xd6\x89\x95\x1d\x37\x5b\x6f\x6c\x7c\xac\x1a\x7e\x6e\x29\xe1\x71\x93"
"\xef\xab\x3f\x9f\x68\x7f\xdc\xe4\xdb\xbc\x31\x79\xfe\xaf\x1d\xeb\xe2"
"\x5f\xeb\x5e\x3b\xd6\x74\x3a\x06\x46\x86\xd6\xe4\xeb\x1d\x49\x07\x41"
"\xf1\x7a\x37\xbf\x2e\x1e\x03\x77\x65\x07\xb2\x13\xd9\xd1\xec\x60\xba"
"\x4c\xfe\x28\xe7\xb7\x35\xb6\x6d\x79\xc7\xc0\x9a\xf0\xff\xc5\x7e\xed"
"\xb8\xa6\x47\x8e\x81\x7c\x5f\xbd\xb2\xad\xfd\x31\x90\x6f\xf3\x83\xed"
"\x17\xf6\x67\xa7\xad\xe1\x94\xb4\x4d\xdd\xcf\x4e\xcd\xbf\x5f\x58\x2a"
"\xf3\x5f\x37\xbc\x70\x7d\xcd\xbb\xed\x42\x67\xfe\x7c\x9d\x1f\xdf\xd1"
"\xfe\x77\x43\xf9\x36\x6f\xed\x38\xd7\x9c\xd1\x7e\x3f\xdd\x11\x4e\xb9"
"\xa4\xc5\x7e\x6a\x7e\xfe\x2c\x75\x4c\x1f\xcc\x2e\xce\x7e\xba\x26\xac"
"\xf3\xe8\xce\xf6\xbf\x9b\xca\xb7\xb9\x62\xd7\x32\x8f\xa7\xbd\x59\x96"
"\xbd\x39\xf9\x66\xed\xf7\x5d\xe1\xf7\xbb\x7f\x3f\xfb\xef\xdf\x6d\xf8"
"\xbd\x6f\xab\xdf\x29\xbf\x39\xf9\xe6\xc3\xe3\x8f\xfe\xe8\x5c\xd6\x0f"
"\x00\xc0\xca\xbd\x57\xfb\x73\x6e\x4d\xf1\xb3\x66\xdd\xbf\x58\x2f\xe7"
"\xdf\xff\x01\x00\x00\x80\xbe\x10\x73\xff\x60\x98\x89\xfc\x0f\x00\x00"
"\x00\xa5\x11\x73\xff\x50\x98\x89\xfc\x0f\x00\x00\x00\xa5\x11\x73\xff"
"\x70\x98\x49\x45\xf2\xff\x93\xf7\xec\x7e\xf5\xdd\xd3\x59\x7a\x37\xc0"
"\xf9\x20\x9e\x1f\x77\xc3\x23\xf7\x15\xdb\xc5\x8e\xf7\x5c\xf8\x7a\xd3"
"\xfc\x82\xfc\xf4\x8f\x7e\x6b\xe4\xd5\xaf\x9c\x5e\xde\x6d\x0f\x66\x59"
"\xf6\xcb\x87\x3f\xd8\x72\xfb\x27\xef\x8b\xeb\x2a\x9c\x8c\xeb\xfc\x70"
"\xe3\xe9\x8b\x5c\x73\xc3\xb2\x6e\xff\x89\xc7\x16\xb6\xab\x7f\xff\x84"
"\xb3\xbb\x8b\xeb\x8f\xf7\x67\xb9\x87\x41\xec\x2a\xbf\x3e\xbe\xad\x76"
"\xbd\x9b\x9e\x99\xac\xcd\x37\x1e\xce\x6a\xf3\xd1\xb9\x17\x9f\x2f\xae"
"\xbf\xf8\x3a\x6e\x7f\x66\x7b\xb1\xfd\x5f\x86\x37\x2d\xd9\x7b\x68\xa0"
"\xe1\xf2\x5b\xc3\x7a\x6e\x0a\x73\x53\x78\x4f\x99\x47\xf6\x2e\xec\x87"
"\x7c\xc6\xcb\xbd\xba\xf1\xfa\x7f\xbe\xfc\x33\x0b\xb7\x17\x2f\x37\xb0"
"\xe5\xfd\xb5\xbb\xf9\xca\x1f\x14\xd7\x1b\xdf\x23\xea\xe5\xcb\x8b\xed"
"\xe3\xfd\x5e\x6a\xfd\xff\xf4\xd5\xef\xbc\x9a\x6f\xff\xf4\xcd\xad\xd7"
"\x7f\x7a\xb0\xf5\xfa\xcf\x84\xeb\xfd\x49\x98\xbf\xd8\x53\x6c\x5f\xbf"
"\xcf\xbf\x52\xb7\xfe\x3f\x0a\xeb\x8f\xb7\x17\x2f\x77\xd7\x37\xbf\xdf"
"\x72\xfd\xaf\x5d\x5d\x6c\xff\x5a\x38\x2e\xbe\x1e\x66\xf3\xfa\x1f\xf8"
"\xd3\x0f\xbd\xdb\xea\xf1\x8a\xb7\xb3\xf7\xde\xe2\x72\xf1\xf6\x27\xfe"
"\x7b\x47\xed\x72\xf1\xfa\xe2\xf5\x37\xaf\x7f\xf4\xf4\x64\xc3\xfe\x68"
"\xbe\xfe\x37\xde\x29\xae\x67\xcf\x53\x3f\x1b\xaa\xdf\x3e\x9e\x1e\x6f"
"\x27\x7a\xe2\xde\xc6\xe3\x7b\x20\x3c\xbe\x0d\x3d\xf2\x2c\xcb\xbe\xf3"
"\xc7\x59\xc3\x7e\xce\x3e\x52\x5c\xee\x1f\x9b\xd6\x1f\xaf\xef\xe4\xbd"
"\xad\xd7\x7f\x47\xd3\x3a\x4f\x0e\xdc\x50\xbb\xfc\xc2\xfd\xd9\xd0\x70"
"\xbf\xbe\xf6\xd7\xdb\x5a\xde\xdf\xb8\x9e\xbd\x7f\xb7\xa1\xe1\xfe\xbc"
"\xfc\x60\xd8\x7f\xef\x8c\xff\x20\xbf\xde\x33\x8f\x86\xe3\x31\x9c\xff"
"\xbf\x3f\x2c\xae\xaf\xf9\xbd\x4c\x5f\x7b\xb0\xf1\xf5\x26\x6e\xff\xf5"
"\x0d\xc5\xf3\x36\x5e\xdf\x78\xd3\xfa\x5f\x6e\x5a\xff\xdc\x0d\xf9\xbe"
"\xeb\xbc\xfe\x87\xde\x29\xd6\xff\xda\xfd\x6b\x1b\xd6\xbf\xf7\x13\xe1"
"\x78\x7a\xa8\x98\x9d\xd6\x7f\xf8\xaf\x2e\x6b\xb8\xfc\x37\xbe\x5d\x3c"
"\x1e\xa7\xbe\x34\x76\xfc\xc4\xf4\xec\x91\x83\x75\x7b\xb5\xfe\x79\xbc"
"\x76\x74\xdd\xfa\x4b\x2e\x7d\xdf\xfb\x2f\x0b\xaf\xa5\xcd\x5f\xef\x3b"
"\x31\xf3\xe4\xd4\xa9\x4d\x13\x9b\x26\xb2\x6c\x53\x1f\xbe\x65\x60\xb7"
"\xd7\xff\xcd\x30\xff\xab\x18\x73\x17\xfe\x16\x0a\x3f\xfa\x59\x71\xdc"
"\xbd\xf4\xc9\xe2\xfb\xd6\xad\x3f\x2f\xbe\x7e\x39\x9c\xfe\x44\x78\x3c"
"\xe3\xf7\xc7\xaf\xfd\xc5\x48\xc3\xf1\xda\xfc\xb8\xcf\xdd\x5f\xcc\xf3"
"\x5d\xff\xed\x61\x1d\xcb\x75\xf5\x57\xff\xf3\x86\x65\x6d\x78\xe6\x73"
"\xaf\xcf\xfe\xc3\x1f\xbe\xd5\xfc\x73\x41\xbc\x3f\x27\xaf\x1c\xad\xdd"
"\xbf\x57\x36\x5f\x55\x3b\x6f\xe0\x8d\xe2\xfc\xe6\xd7\xab\x4e\xfe\xe3"
"\xca\xc6\xe7\xf5\x8f\x87\x27\x6a\xf3\x7b\x61\xbf\xce\x87\x77\x66\xde"
"\x72\x55\x71\x7b\xcd\xd7\x1f\xdf\x9b\xe4\xa5\x4f\x15\xcf\xdf\xf8\x93"
"\x5c\xbc\x7c\xd6\xf4\x7e\x22\x1b\x86\x1a\xef\xc7\xf9\xae\xff\xc7\xe1"
"\xe7\x98\xef\x5f\xd3\xf8\xfa\x17\x8f\x8f\xef\x9d\x6e\x7a\x37\xe7\x0d"
"\xd9\x40\xbe\x84\xb9\xf0\xfa\x90\xcd\x15\xe7\xc7\xad\xe2\xfe\x7e\xe9"
"\xec\x55\x2d\x6f\x2f\xbe\x0f\x4f\x36\x77\xed\xb9\x2c\x73\x49\xd3\xcf"
"\x4c\x8f\x1f\x3d\x72\x7c\xf6\xe9\xf1\x99\xa9\xe9\x99\xf1\xe9\x67\x9e"
"\xdd\x77\xec\xc4\xec\xf1\x99\x7d\xb5\xf7\x2e\xdd\xf7\x85\x4e\x97\x5f"
"\x78\x7e\xaf\xaf\x3d\xbf\x0f\x4e\xed\xda\x91\xd5\x9e\xed\x27\x8a\xd1"
"\x65\xab\xbd\xfe\x93\x8f\x1d\x38\x78\xf7\xc4\x2d\x07\xa7\x0e\xed\x9f"
"\x3d\x34\xf3\xd8\xc9\xa9\x53\x87\x0f\x4c\x4f\x1f\x98\x3a\x38\x7d\xcb"
"\xfe\x43\x87\xa6\xbe\xd4\xe9\xf2\x47\x0e\xee\x99\xdc\xb6\x7b\xfb\xdd"
"\xdb\xc6\x0e\x1f\x39\xb8\xe7\x9e\xdd\xbb\xb7\xef\x1e\x3b\x72\xfc\x44"
"\xbe\x8c\x62\x51\x1d\xec\x9a\xf8\xe2\xd8\xf1\x53\xfb\x6a\x17\x99\xde"
"\xb3\x63\xf7\xe4\xce\x9d\x3b\x26\xc6\x8e\x9d\x38\x38\xb5\xe7\xee\x89"
"\x89\xb1\xd9\x4e\x97\xaf\x7d\x6f\x1a\xcb\x2f\xfd\xd4\xd8\xa9\xa9\xa3"
"\xfb\x67\x8e\x1c\x9b\x1a\x9b\x3e\xf2\xec\xd4\x9e\xc9\xdd\xbb\x76\x6d"
"\xeb\xf8\xee\x8f\xc7\x4e\x1e\x9a\xde\x34\x7e\x6a\xf6\xf8\xf8\xec\xf4"
"\xd4\xa9\xf1\xe2\xbe\x6c\x9a\xa9\x9d\x9c\x7f\xef\xeb\x74\x79\xaa\x61"
"\xfa\x44\x78\xbd\x6b\x32\x10\x7e\x3a\xff\xec\x1d\xbb\xd2\xfb\xe3\xe6"
"\xbe\xf5\xe5\x25\xaf\xaa\xd8\xa4\xf1\xc7\xd3\xec\xed\xf0\x5e\x50\xf1"
"\xfb\x5b\xa7\xaf\x63\xee\x1f\x09\x33\xa9\x48\xfe\x07\x00\x00\x80\x2a"
"\x88\xb9\x3f\xbc\xf1\xff\xc2\x19\xf2\x3f\x00\x00\x00\x94\x46\xcc\xfd"
"\x6b\xc3\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\x47\xc3\x4c\x2a\x92"
"\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xbb\x49\xff\x5f"
"\xff\xbf\x1d\xfd\x7f\xfd\xff\x7e\x5e\xbf\xfe\xbf\xfe\x3f\x9d\xf5\x5a"
"\xff\x3f\xe6\xfe\x75\x59\x56\xc9\xfc\x0f\x00\x00\x00\x55\x10\x73\xff"
"\xfa\x30\x13\xf9\x1f\x00\x00\x00\x4a\x23\xe6\xfe\x4b\xc2\x4c\xe4\x7f"
"\x00\x00\x00\x28\x8d\x98\xfb\x2f\x0d\x33\xa9\x46\xfe\x1f\x59\xb8\xc7"
"\xfa\xff\x99\xfe\xbf\xfe\xff\xa2\xfe\x7f\xdc\x56\xff\x3f\xd3\xff\xd7"
"\xff\x5f\x21\xfd\x7f\xfd\xff\x76\xf4\xff\xf5\xff\xfb\x79\xfd\x3d\xd8"
"\xff\x5f\xa7\xff\x4f\xaf\xe9\xb5\xfe\x7f\xcc\xfd\xef\x0b\x33\xa9\x46"
"\xfe\x07\x00\x00\x80\x4a\x88\xb9\xff\xfd\x61\x26\xf2\x3f\x00\x00\x00"
"\x94\x46\xcc\xfd\x97\x85\x99\xc8\xff\x00\x00\x00\x50\x1a\x31\xf7\x6f"
"\x08\x33\xa9\x48\xfe\xf7\xf9\xff\xfa\xff\xfa\xff\x3e\xff\x5f\xff\x5f"
"\xff\xbf\x9b\xf4\xff\xf5\xff\xdb\xd1\xff\xd7\xff\xef\xe7\xf5\xf7\x60"
"\xff\xdf\xe7\xff\xd3\x73\x7a\xad\xff\x1f\x73\xff\xff\x0b\x33\xa9\x48"
"\xfe\x07\x00\x00\x80\x2a\x88\xb9\xff\x03\x61\x26\xf2\x3f\x00\x00\x00"
"\x94\x46\xcc\xfd\x97\x87\x99\xc8\xff\x00\x00\x00\x50\x1a\x31\xf7\x5f"
"\x11\x66\x52\x91\xfc\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff"
"\xdf\x4d\xfa\xff\xfa\xff\xed\xe8\xff\xeb\xff\xf7\xf3\xfa\x2f\x74\xff"
"\x3f\x1e\xab\xfa\xff\x94\x49\xaf\xf5\xff\x63\xee\xbf\x32\xcc\xa4\x22"
"\xf9\x1f\x00\x00\x00\xaa\x20\xe6\xfe\xab\xc2\x4c\xe4\x7f\x00\x00\x00"
"\x28\x8d\x98\xfb\xaf\x0e\x33\x91\xff\x01\x00\x00\xa0\x34\x62\xee\xbf"
"\x26\xcc\xa4\x22\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff"
"\xbf\x9b\xf4\xff\xf5\xff\xdb\xd1\xff\xd7\xff\xef\xe7\xf5\xfb\xfc\x7f"
"\xfd\x7f\x3a\xeb\xb5\xfe\x7f\xcc\xfd\xd7\x86\x99\x54\x24\xff\x03\x00"
"\x00\x40\x15\xc4\xdc\x7f\x5d\x98\x89\xfc\x0f\x00\x00\x00\xa5\x11\x73"
"\xff\x07\xc3\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\x37\x86\x99\x54"
"\x24\xff\xeb\xff\xeb\xff\xeb\xff\xeb\xff\xeb\xff\xeb\xff\x77\x53\x7f"
"\xf5\xff\x07\x97\x3c\x47\xff\xbf\xa0\xff\xdf\x48\xff\x5f\xff\x5f\xff"
"\x5f\xff\x9f\xf6\x7a\xad\xff\x1f\x73\xff\x87\xc2\x4c\x2a\x92\xff\x01"
"\x00\x00\xa0\x0a\x62\xee\xbf\x3e\xcc\x44\xfe\x07\x00\x00\x80\xd2\x88"
"\xb9\xff\x86\x30\x13\xf9\x1f\x00\x00\x00\x4a\x23\xe6\xfe\x4d\x61\x26"
"\x15\xc9\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xdd\xd4"
"\x5f\xfd\xff\xa5\xe9\xff\x17\xf4\xff\x1b\xe9\xff\xeb\xff\xeb\xff\xeb"
"\xff\xd3\x5e\xaf\xf5\xff\x63\xee\xdf\x1c\x66\x52\x91\xfc\x0f\x00\x00"
"\x00\x55\x10\x73\xff\x96\x30\x13\xf9\x1f\x00\x00\x00\x4a\x23\xe6\xfe"
"\x1b\xc3\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\x6f\x0a\x33\xa9\x48"
"\xfe\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xef\x26\xfd\xff"
"\x32\xf6\xff\xff\x67\x5e\xff\xbf\xa0\xff\xaf\xff\xaf\xff\xdf\xb9\xff"
"\xbf\xa6\xd3\x15\x51\x6a\xbd\xd6\xff\x8f\xb9\xff\xe6\x30\x93\x8a\xe4"
"\x7f\x00\x00\x00\xa8\x82\x98\xfb\x6f\x09\x33\x91\xff\x01\x00\x00\xa0"
"\x34\x62\xee\xbf\x35\xcc\x44\xfe\x07\x00\x00\x80\xd2\x88\xb9\x7f\x6b"
"\x98\x49\x45\xf2\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\x7f"
"\x37\xe9\xff\x97\xb1\xff\xef\xf3\xff\x23\xfd\x7f\xfd\x7f\xfd\x7f\x9f"
"\xff\x4f\x7b\xbd\xd6\xff\x8f\xb9\xff\xb6\x30\x93\x8a\xe4\x7f\x00\x00"
"\x00\xa8\x82\x98\xfb\x6f\x0f\x33\x91\xff\x01\x00\x00\xa0\x34\x62\xee"
"\xbf\x23\xcc\x44\xfe\x07\x00\x00\x80\xd2\x88\xb9\x7f\x2c\xcc\xa4\x22"
"\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x9b\xca\xda"
"\xff\x4f\xaf\xa3\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\x2c"
"\xa9\xd7\xfa\xff\x31\xf7\xdf\x19\x66\x52\x91\xfc\x0f\x00\x00\x00\x55"
"\x10\x73\xff\x5d\x61\x26\xf2\x3f\x00\x00\x00\x94\x46\xcc\xfd\xe3\x61"
"\x26\xf2\x3f\x00\x00\x00\x94\x46\xcc\xfd\x13\x61\x26\xcd\xf9\x7f\xf4"
"\x62\xae\xea\xe2\xd1\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xef"
"\xa6\xb2\xf6\xff\x57\xfb\xf3\xff\xd7\x85\xa9\xff\x5f\xd0\xff\x5f\x99"
"\xd5\xee\xcf\xf7\xfb\xfa\xf5\xff\xf5\xff\xe9\xac\xd7\xfa\xff\x31\xf7"
"\x4f\x86\x99\xf8\xf7\x7f\x00\x00\x00\x28\x8d\x98\xfb\xb7\x85\x99\xc8"
"\xff\x00\x00\x00\x50\x1a\x31\xf7\x6f\x0f\x33\x91\xff\x01\x00\x00\xa0"
"\x34\x62\xee\xdf\x11\x66\x52\x91\xfc\xaf\xff\xaf\xff\xaf\xff\xaf\xff"
"\xaf\xff\xaf\xff\xdf\x4d\xfa\xff\x3e\xff\xbf\x1d\xfd\x7f\xfd\xff\x7e"
"\x5e\xbf\xfe\xbf\xfe\x3f\x8d\x06\x5b\x9c\xd6\x6b\xfd\xff\x98\xfb\x77"
"\x86\x99\x54\x24\xff\x03\x00\x00\x40\x15\xc4\xdc\xbf\x2b\xcc\x44\xfe"
"\x07\x00\x00\x80\xd2\x88\xb9\xff\xee\x30\x13\xf9\x1f\x00\x00\x00\x4a"
"\x23\xe6\xfe\x7b\xc2\x4c\x2a\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff"
"\xf5\xff\xf5\xff\xbb\x49\xff\x5f\xff\xbf\x1d\xfd\x7f\xfd\xff\x7e\x5e"
"\xbf\xfe\xbf\xfe\x3f\x9d\xf5\x5a\xff\x3f\xe6\xfe\xdd\x61\x26\x15\xc9"
"\xff\x00\x00\x00\x50\x05\x31\xf7\x7f\x38\xcc\x44\xfe\x07\x00\x00\x80"
"\xd2\x88\xb9\xff\xde\x30\x13\xf9\x1f\x00\x00\x00\xfa\x4a\xab\xcf\x21"
"\x8c\x62\xee\xff\x48\x98\x49\x45\xf2\xbf\xfe\x7f\xd9\xfb\xff\xf3\x6b"
"\xf5\xff\xf5\xff\xf5\xff\xdb\xaf\xbf\x67\xfa\xff\xe1\x25\x58\xff\xff"
"\xdc\xe8\xff\xeb\xff\x67\xfa\xff\x2b\xb6\xda\xfd\xf9\x7e\x5f\xbf\xfe"
"\xbf\xfe\x3f\x9d\xf5\x5a\xff\x3f\xe6\xfe\x3d\x61\x26\x15\xc9\xff\x00"
"\x00\x00\x50\x05\x31\xf7\xdf\x17\x66\x22\xff\x03\x00\x00\x40\x69\xc4"
"\xdc\x7f\x7f\x98\x89\xfc\x0f\x00\x00\x00\xa5\x11\x73\xff\xde\x30\x93"
"\x8a\xe4\x7f\xfd\xff\xb2\xf7\xff\x7d\xfe\xbf\xfe\x7f\x9f\xf6\xff\x47"
"\x2b\xd8\xff\xf7\xf9\xff\x2b\xa2\xff\xaf\xff\x9f\xe9\xff\xaf\xd8\x4a"
"\xfb\xf3\xe1\xc7\x16\xfd\xff\x1e\xea\xff\xe7\xc7\x90\xfe\x3f\xbd\xa8"
"\xd7\xfa\xff\x31\xf7\x3f\x10\x66\x52\x91\xfc\x0f\x00\x00\x00\x55\x10"
"\x73\xff\x47\xc3\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\x3f\x16\x66"
"\x22\xff\x03\x00\x00\x40\x69\xc4\xdc\xff\xf1\x30\x93\x8a\xe4\x7f\xfd"
"\x7f\xfd\x7f\xfd\x7f\xfd\xff\x9e\xec\xff\x57\xf1\xf3\xff\xf5\xff\x57"
"\x44\xff\x5f\xff\x3f\xd3\xff\x5f\xb1\xd5\xee\xcf\xf7\xfb\xfa\x7b\xa9"
"\xff\xef\xf3\xff\xe9\x55\xbd\xd6\xff\x8f\xb9\xff\xc1\x30\x93\x8a\xe4"
"\x7f\x00\x00\x00\xa8\x82\x98\xfb\x3f\x11\x66\x22\xff\x03\x00\x00\x40"
"\x69\xc4\xdc\xff\xff\xc3\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\x1f"
"\x0a\x33\xa9\x48\xfe\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xaf\x70\xff\x7f"
"\x5d\xb6\xaa\xfd\xff\xe2\x9a\xf4\xff\xcf\x4f\xdf\xf7\xff\x4f\x9f\xdf"
"\xfa\xf5\xff\x0b\xfa\xff\x2b\xb3\xda\xfd\xf9\x7e\x5f\xbf\xfe\xbf\xfe"
"\x3f\x9d\xf5\x5a\xff\x3f\xe6\xfe\x5f\x09\x33\xa9\x48\xfe\x07\x00\x00"
"\x80\x2a\x88\xb9\xff\xe1\x30\x13\xf9\x1f\x00\x00\x00\x4a\x23\xe6\xfe"
"\x4f\x86\x99\xc8\xff\x00\x00\x00\x50\x1a\x31\xf7\xff\x6a\x98\x49\x45"
"\xf2\xbf\xfe\xff\xc5\xe9\xff\x0f\xa6\xeb\xd7\xff\xd7\xff\xaf\x6a\xff"
"\xff\x92\x5e\xec\xff\xd7\x9c\x7f\xff\x7f\x20\xb4\xb6\x7d\xfe\x7f\x2b"
"\xfa\xff\x3e\xff\xbf\x1d\xfd\x7f\xfd\xff\x7e\x5e\xbf\xfe\xbf\xfe\x3f"
"\x9d\xf5\x5a\xff\x3f\xe6\xfe\x5f\x0b\x33\xa9\x48\xfe\x07\x00\x00\x80"
"\x2a\x88\xb9\xff\xd7\xc3\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\x7f"
"\x23\xcc\x44\xfe\x07\x00\x00\x80\xd2\x88\xb9\xff\x91\x30\x93\x8a\xe4"
"\x7f\xfd\x7f\x9f\xff\xaf\xff\xaf\xff\x5f\xe1\xcf\xff\xaf\x59\xbd\xcf"
"\xff\xd7\xff\xbf\x10\xf4\xff\xf5\xff\x33\xfd\xff\x15\x5b\xed\xfe\x7c"
"\xbf\xaf\x5f\xff\x5f\xff\x9f\xce\x7a\xad\xff\x1f\x73\xff\x6f\x86\x99"
"\x54\x24\xff\x03\x00\x00\x40\x15\xc4\xdc\xff\x68\x98\x49\xca\xff\x83"
"\xab\xb0\x2a\x00\x00\x00\xe0\x42\x8a\xb9\xff\x53\x61\x26\xfe\xfd\x1f"
"\x00\x00\x00\x4a\x23\xe6\xfe\x4f\x87\x99\x54\x24\xff\xeb\xff\xeb\xff"
"\xeb\xff\xeb\xff\x77\xa1\xff\x5f\xdb\x44\xff\x5f\xff\x3f\xd3\xff\xd7"
"\xff\xef\x40\xff\x5f\xff\xbf\x9f\xd7\xaf\xff\xaf\xff\x4f\x67\xbd\xd6"
"\xff\x8f\xb9\xff\xb1\x30\x93\x8a\xe4\x7f\x00\x00\x00\xa8\x82\x98\xfb"
"\x3f\x13\x66\x22\xff\x03\x00\x00\x40\x69\xc4\xdc\xff\x5b\x61\x26\xf2"
"\x3f\x00\x00\x00\x94\x46\xcc\xfd\xbf\x1d\x66\x52\x91\xfc\xaf\xff\xaf"
"\xff\xaf\xff\xaf\xff\xef\xf3\xff\xf5\xff\xbb\x49\xff\x7f\x71\xff\x3f"
"\x7f\x0d\x5b\xcd\xfe\xff\x9a\xe5\x6c\xa8\xff\xbf\x2c\xfa\xff\xfa\xff"
"\xfa\xff\xfa\xff\xb4\xd7\x6b\xfd\xff\x98\xfb\x3f\x1b\x66\x52\x91\xfc"
"\x0f\x00\x00\x00\x55\x10\x73\xff\xef\x84\x99\xc8\xff\x00\x00\x00\x50"
"\x1a\x31\xf7\xff\x6e\x98\x89\xfc\x0f\x00\x00\x00\xa5\x11\x73\xff\xe3"
"\x61\x26\x15\xc9\xff\xfa\xff\xfa\xff\xfa\xff\xe7\xde\xff\x0f\x0f\x97"
"\xfe\x7f\xd3\x7a\xf4\xff\xf5\xff\x5b\xd1\xff\xf7\xf9\xff\xed\xe8\xff"
"\xeb\xff\xf7\xf3\xfa\xf5\xff\xf5\xff\xe9\xac\xd7\xfa\xff\x31\xf7\x7f"
"\x2e\xcc\xa4\x22\xf9\x1f\x00\x00\x00\xaa\x20\xe6\xfe\xdf\x0b\x33\x91"
"\xff\x01\x00\x00\xa0\x34\x62\xee\xdf\x17\x66\x22\xff\x03\x00\x00\x40"
"\x69\xc4\xdc\xff\x44\x98\x49\x45\xf2\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xcf"
"\xff\xd7\xff\xd7\xff\xef\x26\xfd\x7f\xfd\xff\x76\xf4\xff\xf5\xff\xfb"
"\x79\xfd\xfa\xff\xfa\xff\x74\xd6\x6b\xfd\xff\x98\xfb\xf7\x87\x99\x54"
"\x24\xff\x03\x00\x00\x40\x15\xc4\xdc\xff\xf9\x30\x13\xf9\x1f\x00\x00"
"\x00\x4a\x23\xe6\xfe\x03\x61\x26\xf2\x3f\x00\x00\x00\x94\x46\xcc\xfd"
"\x07\xc3\x4c\x2a\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5"
"\xff\xbb\x49\xff\x5f\xff\xbf\x1d\xfd\x7f\xfd\xff\x7e\x5e\xbf\xfe\xbf"
"\xfe\x3f\x9d\xf5\x5a\xff\x3f\xe6\xfe\xa9\x30\x93\x8a\xe4\x7f\x00\x00"
"\x00\xa8\x82\x98\xfb\x0f\x85\x99\xc8\xff\x00\x00\x00\x50\x1a\x31\xf7"
"\x1f\x0e\x33\x91\xff\x01\x00\x00\xa0\x34\x62\xee\x7f\x32\xcc\xa4\x22"
"\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x9b\xf4\xff"
"\xf5\xff\xdb\xd1\xff\xd7\xff\xef\xe7\xf5\xeb\xff\xeb\xff\xd3\x59\xaf"
"\xf5\xff\x63\xee\x3f\x12\x66\x52\x91\xfc\x0f\x00\x00\x00\x55\x10\x73"
"\xff\x17\xc2\x4c\xe4\x7f\x00\x00\x00\x28\x8d\x98\xfb\xbf\x18\x66\x22"
"\xff\x03\x00\x00\x40\x69\xc4\xdc\x7f\x34\xcc\xa4\x22\xf9\x5f\xff\x5f"
"\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x9b\xf4\xff\xf5\xff\xdb\xd1"
"\xff\xd7\xff\xef\xe7\xf5\xeb\xff\xeb\xff\xd3\x59\xaf\xf5\xff\x63\xee"
"\x3f\x16\x66\x52\x91\xfc\x0f\x00\x00\x00\x55\x10\x73\xff\xf1\x30\x13"
"\xf9\x1f\x00\x00\x00\x4a\x23\xe6\xfe\x13\x61\x26\xf2\x3f\x00\x00\x00"
"\x94\x46\xcc\xfd\x27\xc3\x4c\x2a\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5"
"\xff\xf5\xff\xf5\xff\xbb\x49\xff\x5f\xff\xbf\x1d\xfd\x7f\xfd\xff\x7e"
"\x5e\xbf\xfe\xbf\xfe\x3f\x9d\xf5\x5a\xff\x3f\xe6\xfe\xdf\x0f\x33\xa9"
"\x48\xfe\x07\x00\x00\x80\x2a\x88\xb9\xff\x54\x98\x89\xfc\x0f\x00\x00"
"\x00\xa5\x11\x73\xff\x74\x98\x89\xfc\x0f\x00\x00\x00\xa5\x11\x73\xff"
"\x4c\x98\x49\x45\xf2\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe"
"\x7f\x37\xe9\xff\xeb\xff\xb7\xa3\xff\xaf\xff\xdf\xcf\xeb\xd7\xff\xd7"
"\xff\xa7\xb3\x5e\xeb\xff\xc7\xdc\x3f\x1b\x66\x52\x91\xfc\x0f\x00\x00"
"\x00\x55\x10\x73\xff\x53\x61\x26\xf2\x3f\x00\x00\x00\x94\x46\xcc\xfd"
"\xff\xc7\xde\x7d\xed\xe8\x75\x56\x71\x1c\xfe\x02\x84\x04\x21\xc4\xb5"
"\x70\x05\x5c\x02\xc7\x1c\x72\x15\x74\x42\x87\xd0\x7b\xef\xbd\xf7\xde"
"\x7b\xef\x35\xf4\xde\x09\x84\x5e\x82\x64\x14\xcf\x5a\x2b\x91\x3d\xde"
"\xdb\x33\x9e\xcf\xdf\xbb\xdf\xf5\x3c\x07\x59\xb2\x30\xf6\x2b\x46\x08"
"\xfd\x85\x7e\xda\xf7\x8f\x5b\xec\x7f\x00\x00\x00\x98\x46\xee\xfe\x07"
"\xc4\x2d\x4d\xf6\xbf\xfe\x5f\xff\xaf\xff\x1f\xa6\xff\x3f\xea\xfc\xf4"
"\xff\xfa\x7f\xfd\xff\x89\xe8\xff\xf5\xff\xbb\x89\xfb\xff\xeb\x2f\xf8"
"\xfb\xf4\xff\x63\xbd\x5f\xff\xaf\xff\x67\xdd\x68\xfd\x7f\xee\xfe\x07"
"\xc6\x2d\x4d\xf6\x3f\x00\x00\x00\x74\x90\xbb\xff\x41\x71\x8b\xfd\x0f"
"\x00\x00\x00\xd3\xc8\xdd\xff\xe0\xb8\xc5\xfe\x07\x00\x00\x80\x69\xe4"
"\xee\x7f\x48\xdc\xd2\x64\xff\xeb\xff\xf5\xff\xfa\xff\x61\xfa\x7f\xdf"
"\xff\xcf\x9f\xab\xfe\x5f\xff\x7f\x02\xfa\x7f\xfd\xff\x6e\xe2\xfe\xff"
"\x42\xfa\xff\xb1\xde\xbf\xe1\xfe\xff\x6e\x3b\xfd\x3f\x57\xc9\x68\xfd"
"\x7f\xee\xfe\x87\xc6\x2d\x4d\xf6\x3f\x00\x00\x00\x74\x90\xbb\xff\x61"
"\x71\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\x7f\x43\xdc\x62\xff\x03\x00"
"\x00\xc0\x34\x72\xf7\x3f\x3c\x6e\x69\xb2\xff\xf5\xff\xfa\x7f\xfd\xbf"
"\xfe\x5f\xff\xaf\xff\xdf\x27\xfd\xbf\xfe\x7f\x89\xfe\x5f\xff\xbf\xe5"
"\xf7\x6f\xb8\xff\x3f\x4f\xff\xcf\xd5\x30\x5a\xff\x9f\xbb\xff\x11\x71"
"\x4b\x93\xfd\x0f\x00\x00\x00\x1d\xe4\xee\x7f\x64\xdc\x62\xff\x03\x00"
"\x00\xc0\x34\x72\xf7\x3f\x2a\x6e\xb1\xff\x01\x00\x00\x60\x1a\xb9\xfb"
"\x1f\x1d\xb7\x34\xd9\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff"
"\xef\x93\xfe\x5f\xff\xbf\x44\xff\xaf\xff\xdf\xf2\xfb\xf5\xff\xfa\x7f"
"\xd6\x8d\xd6\xff\xe7\xee\x7f\x4c\xdc\xd2\x64\xff\x03\x00\x00\x40\x07"
"\xb9\xfb\x1f\x1b\xb7\xd8\xff\x00\x00\x00\x30\x8d\xdc\xfd\x8f\x8b\x5b"
"\xec\x7f\x00\x00\x00\x98\x46\xee\xfe\xc7\xc7\x2d\x4d\xf6\xbf\xfe\x5f"
"\xff\xbf\x95\xfe\xff\x2e\xfa\xff\xa2\xff\xd7\xff\x6f\x89\xfe\x5f\xff"
"\xbf\x44\xff\xaf\xff\xdf\xf2\xfb\xf5\xff\xfa\x7f\xd6\xed\xbd\xff\xbf"
"\xcf\x8d\xe7\xef\xe5\xf6\xff\xb9\xfb\x6f\x8c\x5b\x9a\xec\x7f\x00\x00"
"\x00\xe8\x20\x77\xff\x13\xe2\x16\xfb\x1f\x00\x00\x00\xa6\x91\xbb\xff"
"\x89\x71\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\xff\xa4\xb8\xa5\xc9\xfe"
"\xd7\xff\xeb\xff\x6f\xef\xff\xcf\x5d\x33\x72\xff\x7f\xdc\xfb\xf5\xff"
"\xfa\xff\x9d\xfe\x7f\x78\x0b\xef\xbf\xee\x2c\xfe\x7c\xfd\xbf\xfe\x7f"
"\xa7\xff\x3f\xb5\x4b\xf7\xf3\x97\xf7\x9f\x84\xfe\x5f\xff\xaf\xff\x67"
"\xcd\xde\xfb\xff\x95\xde\xff\xc2\x5f\xe7\xee\x7f\x72\xdc\xd2\x64\xff"
"\x03\x00\x00\x40\x07\xb9\xfb\x9f\x12\xb7\xd8\xff\x00\x00\x00\x30\x8d"
"\xdc\xfd\x4f\x8d\x5b\xec\x7f\x00\x00\x00\x98\x46\xee\xfe\xa7\xc5\x2d"
"\x4d\xf6\xbf\xfe\x5f\xff\xbf\x95\xef\xff\x1f\xf7\xfe\xd9\xfa\xff\x73"
"\x37\x1c\xfd\x3c\xef\xf8\xe7\xe8\xff\xf5\xff\x13\xf7\xff\x67\x42\xff"
"\xaf\xff\xdf\xe9\xff\x4f\xed\xd0\xfd\xfc\xd6\xdf\xbf\xd4\xff\xdf\xfb"
"\x32\xde\xaf\xff\xa7\x83\xd1\xfa\xff\xdc\xfd\x4f\x8f\x5b\x9a\xec\x7f"
"\x00\x00\x00\xe8\x20\x77\xff\x33\xe2\x16\xfb\x1f\x00\x00\x00\xa6\x91"
"\xbb\xff\x99\x71\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\xff\xac\xb8\xa5"
"\xc9\xfe\xd7\xff\xeb\xff\xf5\xff\xe3\xf4\xff\xbe\xff\x1f\x3f\x57\xfd"
"\xbf\xfe\xff\x04\xf4\xff\xfa\xff\xdd\x69\xfb\xff\xbb\xea\xff\x0f\xdd"
"\xcf\x6f\xfd\xfd\xbe\xff\xaf\xff\x67\xdd\x68\xfd\x7f\xee\xfe\x67\xc7"
"\x2d\x4d\xf6\x3f\x00\x00\x00\x74\x90\xbb\xff\x39\x71\x8b\xfd\x0f\x00"
"\x00\x00\xd3\xc8\xdd\xff\xdc\xb8\xc5\xfe\x07\x00\x00\x80\x69\xe4\xee"
"\x7f\x5e\xdc\xd2\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xff\x15\xf5\xff"
"\x77\xd6\xff\xeb\xff\x97\xe9\xff\xf5\xff\x4b\x7c\xff\x5f\xff\xbf\xe5"
"\xf7\xeb\xff\xf5\xff\xac\x3b\x4c\xff\x7f\xdb\xb8\x3a\xbe\xff\xcf\xdd"
"\xff\xfc\xb8\xa5\xc9\xfe\x07\x00\x00\x80\x0e\x72\xf7\xbf\x20\x6e\xb1"
"\xff\x01\x00\x00\x60\x1a\xb9\xfb\x5f\x18\xb7\xd8\xff\x00\x00\x00\x30"
"\x8d\xdc\xfd\x2f\x8a\x5b\x9a\xec\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xf7"
"\xfd\x7f\xfd\xff\x3e\xe9\xff\xa7\xeb\xff\xaf\xd1\xff\xdf\x4e\xff\xaf"
"\xff\xd7\xff\xeb\xff\x59\x76\x98\xfe\xff\xd2\xbf\xce\xdd\xff\xe2\xb8"
"\xa5\xc9\xfe\x07\x00\x00\x80\x0e\x72\xf7\xbf\x24\x6e\xb1\xff\x01\x00"
"\x00\x60\x1a\xb9\xfb\x5f\x1a\xb7\xd8\xff\x00\x00\x00\x30\x8d\xdc\xfd"
"\x2f\x8b\x5b\x9a\xec\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff"
"\xf7\x49\xff\x3f\x5d\xff\xef\xfb\xff\x77\xa0\xff\xd7\xff\xeb\xff\xf5"
"\xff\x2c\x1b\xad\xff\xcf\xdd\xff\xf2\xb8\xa5\xc9\xfe\x07\x00\x00\x80"
"\x0e\x72\xf7\xbf\x22\x6e\xb1\xff\x01\x00\x00\x60\x1a\xb9\xfb\x5f\x19"
"\xb7\xd8\xff\x00\x00\x00\x30\x8d\xdc\xfd\xaf\x8a\x5b\x9a\xec\x7f\xfd"
"\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf7\x49\xff\xaf\xff\x5f\xa2"
"\xff\x3f\xbe\xff\xbf\xfe\x12\x7f\x9f\xfe\x7f\xac\xf7\xeb\xff\xf5\xff"
"\xac\x1b\xad\xff\xcf\xdd\xff\xea\xb8\xa5\xc9\xfe\x07\x00\x00\x80\x0e"
"\x72\xf7\xbf\x26\x6e\xb1\xff\x01\x00\x00\x60\x1a\xb9\xfb\x5f\x1b\xb7"
"\xd8\xff\x00\x00\x00\x30\x8d\xdc\xfd\xaf\x8b\x5b\x9a\xec\xff\x4b\xf5"
"\xff\xb7\xdc\xfd\xe8\x5f\xd7\xff\x5f\x1e\xfd\xff\xf1\xef\xd7\xff\xeb"
"\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x7f\x89\xfe\xdf\xf7\xff\xb7\xfc\x7e"
"\xfd\xbf\xfe\x9f\x75\xa7\xef\xff\x6f\xbd\xe0\x7f\x81\xce\xa6\xff\xcf"
"\xdd\xff\xfa\xb8\xa5\xc9\xfe\x07\x00\x00\x80\x0e\x72\xf7\xbf\x21\x6e"
"\xb1\xff\x01\x00\x00\x60\x1a\xb9\xfb\xdf\x18\xb7\xd8\xff\x00\x00\x00"
"\x30\x8d\xdc\xfd\x6f\x8a\x5b\x9a\xec\x7f\xdf\xff\xd7\xff\xeb\xff\xf5"
"\xff\xfa\x7f\xfd\xff\x3e\xe9\xff\xf5\xff\x4b\xf4\xff\xfa\xff\x2d\xbf"
"\x5f\xff\xaf\xff\x67\xdd\xe9\xfb\xff\x8b\xff\x2d\xe7\xff\x79\x85\xfd"
"\x7f\xee\xfe\x37\xc7\x2d\x4d\xf6\x3f\x00\x00\x00\x74\x90\xbb\xff\x2d"
"\x71\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\xff\xd6\xb8\xc5\xfe\x07\x00"
"\x00\x80\x69\xe4\xee\x7f\x5b\xdc\xd2\x64\xff\xeb\xff\xf5\xff\x07\xef"
"\xff\xef\xa4\xff\x4f\xfa\xff\xf8\xb9\xea\xff\xf5\xff\x27\xa0\xff\xd7"
"\xff\xef\xf4\xff\xa7\x76\xe8\x7e\x7e\xeb\xef\xd7\xff\xeb\xff\x59\x37"
"\x5a\xff\x9f\xbb\xff\xed\x71\x4b\x93\xfd\x0f\x00\x00\x00\x1d\xe4\xee"
"\x7f\x47\xdc\x62\xff\x03\x00\x00\xc0\x34\xce\xef\xfe\x6b\xf3\x57\xf6"
"\x3f\x00\x00\x00\xcc\xe8\x9d\xe7\xff\x79\xfd\xee\x5d\x71\x4b\x93\xfd"
"\xaf\xff\xd7\xff\x1f\xbc\xff\xf7\xfd\xff\xa2\xff\x8f\x9f\xab\xfe\x5f"
"\xff\x7f\x02\xfa\x7f\xfd\xff\x4e\xff\x7f\x6a\x87\xee\xe7\xb7\xfe\x7e"
"\xfd\xbf\xfe\x9f\x75\xa3\xf5\xff\xb9\xfb\xdf\x1d\xb7\x34\xd9\xff\x00"
"\x00\x00\xd0\x41\xee\xfe\xf7\xc4\x2d\xf6\x3f\x00\x00\x00\x4c\x23\x77"
"\xff\x7b\xe3\x16\xfb\x1f\x00\x00\x00\xa6\x91\xbb\xff\x7d\x71\x4b\x93"
"\xfd\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xff\x3e\xe9\xff\xf5"
"\xff\x4b\xf4\xff\xfa\xff\x2d\xbf\x5f\xff\xaf\xff\x67\xdd\x68\xfd\x7f"
"\xee\xfe\xf7\xc7\x2d\x4d\xf6\x3f\x00\x00\x00\x74\x90\xbb\xff\x03\x71"
"\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\xff\xc1\xb8\xc5\xfe\x07\x00\x00"
"\x80\x69\xe4\xee\xff\x50\xdc\xd2\x64\xff\xeb\xff\xb7\xde\xff\xdf\xef"
"\xe6\x78\x81\xfe\x5f\xff\xaf\xff\xd7\xff\x0f\x49\xff\xaf\xff\x5f\xa2"
"\xff\xd7\xff\x6f\xf9\xfd\xfa\x7f\xfd\x3f\xeb\x46\xeb\xff\x73\xf7\x7f"
"\x38\x6e\x69\xb2\xff\x01\x00\x00\xa0\x83\xdc\xfd\x1f\x89\x5b\xec\x7f"
"\x00\x00\x00\x98\x46\xee\xfe\x8f\xc6\x2d\xf6\x3f\x00\x00\x00\x4c\x23"
"\x77\xff\xc7\xe2\x96\x26\xfb\xbf\x47\xff\x7f\xed\x45\xbf\x6d\x9e\xfe"
"\xdf\xf7\xff\xf5\xff\xfa\x7f\xfd\xff\xd8\xf4\xff\xfa\xff\x25\xfa\x7f"
"\xfd\xff\x96\xdf\xaf\xff\xd7\xff\xb3\x6e\xb4\xfe\x3f\x77\xff\xc7\xe3"
"\x96\x26\xfb\x1f\x00\x00\x00\x3a\xc8\xdd\xff\x89\xb8\xc5\xfe\x07\x00"
"\x00\x80\x69\xe4\xee\xff\x64\xdc\x62\xff\x03\x00\x00\xc0\x34\x72\xf7"
"\x7f\x2a\x6e\x69\xb2\xff\x7b\xf4\xff\x17\xd3\xff\x1f\x39\xf3\xfe\xff"
"\xdc\x3d\xf5\xff\xfa\xff\xa2\xff\xd7\xff\xef\xf4\xff\xfa\xff\x15\xfa"
"\x7f\xfd\xff\x96\xdf\xaf\xff\xd7\xff\xb3\x6e\xb4\xfe\x3f\x77\xff\xa7"
"\xe3\x96\x26\xfb\x1f\x00\x00\x00\x3a\xc8\xdd\xff\x99\xb8\xc5\xfe\x07"
"\x00\x00\x80\x69\xe4\xee\xff\x6c\xdc\x62\xff\x03\x00\x00\xc0\x34\x72"
"\xf7\x7f\x2e\x6e\xb8\xd7\x3d\x0e\xf7\xa4\xab\x4a\xff\xaf\xff\xf7\xfd"
"\x7f\xfd\xbf\xfe\x5f\xff\xbf\x4f\xfa\x7f\xfd\xff\x12\xfd\xbf\xfe\x7f"
"\xcb\xef\xd7\xff\xeb\xff\x59\x37\x5a\xff\x9f\xbb\xff\xf3\x71\x8b\xff"
"\xff\x1f\x00\x00\x00\xa6\x91\xbb\xff\x0b\x71\x8b\xfd\x0f\x00\x00\x00"
"\xd3\xc8\xdd\xff\xc5\xb8\xc5\xfe\x07\x00\x00\x80\x69\xe4\xee\xff\x52"
"\xdc\xd2\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\xbf\x4f"
"\xfa\x7f\xfd\xff\x12\xfd\xbf\xfe\x7f\xcb\xef\xd7\xff\xeb\xff\x59\x37"
"\x5a\xff\x9f\xbb\xff\xcb\x71\x4b\x93\xfd\x0f\x00\x00\x00\x1d\xe4\xee"
"\xff\x4a\xdc\x62\xff\x03\x00\x00\xc0\x34\x72\xf7\x7f\x35\x6e\xb1\xff"
"\x01\x00\x00\x60\x1a\xb9\xfb\xbf\x16\xb7\x34\xd9\xff\xfa\x7f\xfd\xbf"
"\xfe\x5f\xff\xaf\xff\xd7\xff\xef\x93\xfe\x5f\xff\xbf\x44\xff\xaf\xff"
"\xdf\xf2\xfb\xf5\xff\xfa\x7f\xd6\x8d\xd6\xff\xe7\xee\xff\x7a\xdc\xd2"
"\x64\xff\x03\x00\x00\x40\x07\xb9\xfb\xbf\x11\xb7\xd8\xff\x00\x00\x00"
"\x30\x8d\xdc\xfd\xdf\x8c\x5b\xec\x7f\x00\x00\x00\x98\x46\xee\xfe\x6f"
"\xc5\x2d\x4d\xf6\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfb"
"\xa4\xff\xd7\xff\x2f\xd1\xff\xeb\xff\xb7\xfc\x7e\xfd\xbf\xfe\x9f\x75"
"\xa3\xf5\xff\xb9\xfb\xbf\x1d\xb7\x34\xd9\xff\x00\x00\x00\xd0\x41\xee"
"\xfe\xef\xc4\x2d\xf6\x3f\x00\x00\x00\x4c\x23\x77\xff\x77\xe3\x16\xfb"
"\x1f\x00\x00\x00\xa6\x91\xbb\xff\xa6\xb8\xa5\xc9\xfe\x9f\xb9\xff\x5f"
"\xfa\x6d\xfa\xff\x23\xfa\x7f\xfd\xff\x4e\xff\xaf\xff\xdf\x33\xfd\xbf"
"\xfe\x7f\xc9\xa9\xfb\xff\xf8\x2f\x9e\xfe\xff\xca\x1c\xba\x9f\xdf\xfa"
"\xfb\xf5\xff\xfa\x7f\xd6\x8d\xd6\xff\xe7\xee\xff\x5e\xdc\xd2\x64\xff"
"\x03\x00\x00\x40\x07\xb9\xfb\xbf\x1f\xb7\xd8\xff\x00\x00\x00\x30\x8d"
"\xdc\xfd\x3f\x88\x5b\xec\x7f\x00\x00\x00\x98\x46\xee\xfe\x1f\xc6\x2d"
"\x4d\xf6\xff\xcc\xfd\xff\x12\xfd\xff\x11\xfd\xbf\xfe\x7f\xa7\xff\xd7"
"\xff\xef\x99\xfe\x5f\xff\xbf\xc4\xf7\xff\xf5\xff\x5b\x7e\xbf\xfe\x5f"
"\xff\xcf\xba\xd1\xfa\xff\xdc\xfd\x3f\x8a\x5b\x9a\xec\x7f\x00\x00\x00"
"\xe8\x20\x77\xff\x8f\xe3\x16\xfb\x1f\x00\x00\x00\xa6\x91\xbb\xff\x27"
"\x71\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\xff\xd3\xb8\xa5\xc9\xfe\xd7"
"\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x7f\x9f\xf4\xff\xfa\xff\x25"
"\xfa\x7f\xfd\xff\x96\xdf\xaf\xff\xd7\xff\xb3\x6e\xb4\xfe\x3f\x77\xff"
"\xcf\xe2\x96\x26\xfb\x1f\x00\x00\x00\x3a\xc8\xdd\xff\xf3\xb8\xc5\xfe"
"\x07\x00\x00\x80\x69\xe4\xee\xff\x45\xdc\x62\xff\x03\x00\x00\xc0\x34"
"\x72\xf7\xff\x32\x6e\x69\xb2\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff"
"\xaf\xff\xdf\x27\xfd\xbf\xfe\x7f\x89\xfe\x5f\xff\xbf\xe5\xf7\xeb\xff"
"\xf5\xff\xac\x1b\xad\xff\xcf\xdd\xff\xab\xb8\xa5\xc9\xfe\x07\x00\x00"
"\x80\x0e\x72\xf7\xff\x3a\x6e\xb1\xff\x01\x00\x00\x60\x1a\xb9\xfb\x7f"
"\x13\xb7\xd8\xff\x00\x00\x00\x30\x8d\xdc\xfd\xbf\x8d\x5b\x9a\xec\x7f"
"\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf7\x49\xff\xaf\xff\x5f"
"\xa2\xff\xd7\xff\x6f\xf9\xfd\xfa\x7f\xfd\x3f\xeb\x46\xeb\xff\x73\xf7"
"\xff\x2e\x6e\x69\xb2\xff\x01\x00\x00\xa0\x83\xdc\xfd\xbf\x8f\x5b\xec"
"\x7f\x00\x00\x00\x98\x46\xee\xfe\x3f\xc4\x2d\xf6\x3f\x00\x00\x00\x4c"
"\x23\x77\xff\x1f\xe3\x96\x26\xfb\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5"
"\xff\xfa\xff\x7d\xd2\xff\xeb\xff\x97\xe8\xff\xf5\xff\x5b\x7e\xbf\xfe"
"\x5f\xff\xcf\xba\xd1\xfa\xff\xdc\xfd\x37\xc7\x2d\x4d\xf6\x3f\x00\x00"
"\x00\x74\x90\xbb\xff\x4f\x71\x8b\xfd\x0f\x00\x00\x00\xd3\xc8\xdd\xff"
"\xe7\xb8\xc5\xfe\x07\x00\x00\x80\x69\xe4\xee\xbf\x25\x6e\x69\xb2\xff"
"\xf5\xff\xfa\xff\x29\xfb\xff\xeb\xf4\xff\xfa\x7f\xfd\xff\x28\xf4\xff"
"\xfa\xff\x25\xfa\x7f\xfd\xff\x96\xdf\xaf\xff\xd7\xff\xb3\x6e\xb4\xfe"
"\x3f\x77\xff\x5f\xe2\x96\x26\xfb\x1f\x00\x00\x00\x3a\xc8\xdd\xff\xd7"
"\xb8\xc5\xfe\x07\x00\x00\x80\x69\xe4\xee\xff\x5b\xdc\x62\xff\x03\x00"
"\x00\xc0\x34\x72\xf7\xff\x3d\x6e\x69\xb2\xff\xf5\xff\xfa\xff\x29\xfb"
"\x7f\xdf\xff\xd7\xff\xeb\xff\x87\xa1\xff\xd7\xff\x2f\xd1\xff\xeb\xff"
"\xb7\xfc\x7e\xfd\xbf\xfe\x9f\x75\xa3\xf5\xff\xb9\xfb\xff\x11\xb7\x34"
"\xd9\xff\x00\x00\x00\xd0\x41\xee\xfe\x7f\xc6\x2d\xf6\x3f\x00\x00\x00"
"\x4c\x23\x77\xff\xbf\xe2\x16\xfb\x1f\x00\x00\x00\xa6\x91\xbb\xff\xdf"
"\x71\x4b\x93\xfd\xaf\xff\xbf\xec\xfe\x7f\xb1\xc9\xd4\xff\x1f\xff\x7e"
"\xfd\xff\x6d\x7f\xce\x4d\xf7\xdd\x5d\xf0\xfb\xf5\xff\x47\xf4\xff\xfa"
"\xff\xb3\xa0\xff\xd7\xff\xef\xf4\xff\xa7\x76\xe8\x7e\x7e\xeb\xef\xd7"
"\xff\xeb\xff\x59\x37\x5a\xff\x9f\xbb\xff\x3f\x71\x4b\x93\xfd\x0f\x00"
"\x00\x00\x1d\xe4\xee\xff\x6f\xdc\x62\xff\x03\x00\x00\xc0\x34\x72\xf7"
"\xdf\x1a\xb7\xd8\xff\x00\x00\x00\x30\x8d\xdc\xfd\xff\x8b\x5b\x9a\xec"
"\x7f\xfd\xbf\xef\xff\xeb\xff\x7d\xff\x5f\xff\xaf\xff\xdf\x27\xfd\xbf"
"\xfe\x7f\x89\xfe\x5f\xff\xbf\xe5\xf7\xeb\xff\xf5\xff\xac\x1b\xad\xff"
"\xcf\xdd\xff\xff\x00\x00\x00\xff\xff\xfd\x4a\x32\xe9",
24306);
syz_mount_image(/*fs=*/0x200000000000, /*dir=*/0x2000000004c0,
/*flags=MS_LAZYTIME|MS_REC|MS_NODEV*/ 0x2004004,
/*opts=*/0x2000000001c0, /*chdir=*/1, /*size=*/0x5ef2,
/*img=*/0x200000010140);
break;
case 1:
memcpy((void*)0x200000000300, "./file1\000", 8);
res = syscall(
__NR_openat, /*fd=*/0xffffff9c, /*file=*/0x200000000300ul,
/*flags=O_NOATIME|O_DIRECT|O_CREAT|O_CLOEXEC|0x2*/ 0xc4042,
/*mode=S_IXOTH|S_IWOTH|S_IROTH|S_IXGRP|S_IWGRP|S_IRGRP|S_IXUSR|S_IWUSR|0x100*/
0x1ff);
if (res != -1)
r[0] = res;
break;
case 2:
memcpy((void*)0x200000000040, "/dev/nullb0\000", 12);
res = syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul,
/*file=*/0x200000000040ul, /*flags=*/0, /*mode=*/0);
if (res != -1)
r[1] = res;
break;
case 3:
syscall(__NR_sendfile, /*fdout=*/r[0], /*fdin=*/r[1], /*off=*/0ul,
/*count=*/0xfffe82ul);
break;
}
}
int main(void)
{
syscall(__NR_mmap, /*addr=*/0x1ffffffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
/*offset=*/0ul);
syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul,
/*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
/*offset=*/0ul);
syscall(__NR_mmap, /*addr=*/0x200001000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
/*offset=*/0ul);
const char* reason;
(void)reason;
for (procid = 0; procid < 5; procid++) {
if (fork() == 0) {
use_temporary_dir();
loop();
}
}
sleep(1000000);
return 0;
}
===================================================================
I hope it helps.
Best regards
Jianzhou Zhao
Powered by blists - more mailing lists