diff options
Diffstat (limited to 'target/linux/etrax-2.6/image/e100boot/src/sbl')
31 files changed, 0 insertions, 11776 deletions
diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/Makefile b/target/linux/etrax-2.6/image/e100boot/src/sbl/Makefile deleted file mode 100644 index ffb6e9fb13..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -# Generated automatically from Makefile.in by configure. -# -# Makefile for e100boot, sbl side. -# -# $Id: Makefile.in,v 1.21 2003/11/21 11:38:30 pkj Exp $ -# - -VPATH := .:../cbl - -CC = gcc - -AXIS_USABLE_LIBS = UCLIBC GLIBC --include $(AXIS_TOP_DIR)/tools/build/Rules.axis - -CFLAGS += -I. -I../cbl/src -g -O2 -I../libpcap-0.4/ -I../libpcap-0.4/bpf/ -Wall -Wmissing-prototypes -Wno-unused -LDFLAGS = -LDLIBS = -L../libpcap-0.4/ -LDLIBS = -LIBPCAP = ../libpcap-0.4/libpcap.a - -IMAGES := ../cbl/net/net.ima ../cbl/net_noleds/net_noleds.ima \ - ../cbl/ser/ser.ima ../cbl/ser_noleds/ser_noleds.ima - -AUTOSRCS := $(addsuffix .c, $(subst .ima,_ima,$(notdir $(IMAGES)))) - -OBJS := common.o network.o serial.o -DEPS := $(addprefix deps/, $(subst .o,.d,$(OBJS))) - -STRIP ?= strip - -all: conf.h e100boot e100boot.stripped - -depend: $(DEPS) - -Makefile: Makefile.in - @echo -e "\n### New Makefile.in detected, regenerating Makefile..." - ./configure - -e100boot: common.o boot_images.o serial.o network.o $(LIBPCAP) - @echo -e '\n### Finally... Compiling e100boot.' - $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ - -e100boot.stripped: e100boot - cp $< $@ - $(STRIP) --strip-unneeded $@ - -boot_images.o: boot_images.c boot_images.h $(AUTOSRCS) - $(CC) -c $(CFLAGS) $< -o $@ - -conf.h: - ./configure - -reconf: - ./configure --cache=/dev/null - -clean: - rm -rf e100boot Makefile conf.h config.log config.cache config.status deps *.ima *.o *_ima.c* *~ - -$(IMAGES): - @echo -e '\n### Making cbl boot images (*.ima)...' - $(MAKE) -C ../cbl - -ifneq ($(MAKECMDGOALS),clean) --include $(DEPS) -endif - -deps/%.d: %.c - @[ -d deps ] || mkdir deps - $(CC) -M $(CFLAGS) $< > $@ - -deps/%.d: %.S - @[ -d deps ] || mkdir deps - $(CC) -M $(CFLAGS) $< > $@ - -%_ima.c: %.ima - @echo -e "### Creating $@ from image $<" - @./cconv $*_ima < $< > $@ diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/Makefile.in b/target/linux/etrax-2.6/image/e100boot/src/sbl/Makefile.in deleted file mode 100644 index bdefd71514..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/Makefile.in +++ /dev/null @@ -1,76 +0,0 @@ -# -# Makefile for e100boot, sbl side. -# -# $Id: Makefile.in,v 1.21 2003/11/21 11:38:30 pkj Exp $ -# - -VPATH := .:../cbl - -CC = @CC@ - -AXIS_USABLE_LIBS = UCLIBC GLIBC --include $(AXIS_TOP_DIR)/tools/build/Rules.axis - -CFLAGS += -I. -I../cbl/src @CFLAGS@ -I../libpcap-0.4/ -I../libpcap-0.4/bpf/ -Wall -Wmissing-prototypes -Wno-unused -LDFLAGS = -LDLIBS = -L../libpcap-0.4/ @LIBS@ -LDLIBS = -LIBPCAP = ../libpcap-0.4/libpcap.a - -IMAGES := ../cbl/net/net.ima ../cbl/net_noleds/net_noleds.ima \ - ../cbl/ser/ser.ima ../cbl/ser_noleds/ser_noleds.ima - -AUTOSRCS := $(addsuffix .c, $(subst .ima,_ima,$(notdir $(IMAGES)))) - -OBJS := common.o network.o serial.o -DEPS := $(addprefix deps/, $(subst .o,.d,$(OBJS))) - -STRIP ?= strip - -all: conf.h e100boot e100boot.stripped - -depend: $(DEPS) - -Makefile: Makefile.in - @echo -e "\n### New Makefile.in detected, regenerating Makefile..." - ./configure - -e100boot: common.o boot_images.o serial.o network.o $(LIBPCAP) - @echo -e '\n### Finally... Compiling e100boot.' - $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ - -e100boot.stripped: e100boot - cp $< $@ - $(STRIP) --strip-unneeded $@ - -boot_images.o: boot_images.c boot_images.h $(AUTOSRCS) - $(CC) -c $(CFLAGS) $< -o $@ - -conf.h: - ./configure - -reconf: - ./configure --cache=/dev/null - -clean: - rm -rf e100boot Makefile conf.h config.log config.cache config.status deps *.ima *.o *_ima.c* *~ - -$(IMAGES): - @echo -e '\n### Making cbl boot images (*.ima)...' - $(MAKE) -C ../cbl - -ifneq ($(MAKECMDGOALS),clean) --include $(DEPS) -endif - -deps/%.d: %.c - @[ -d deps ] || mkdir deps - $(CC) -M $(CFLAGS) $< > $@ - -deps/%.d: %.S - @[ -d deps ] || mkdir deps - $(CC) -M $(CFLAGS) $< > $@ - -%_ima.c: %.ima - @echo -e "### Creating $@ from image $<" - @./cconv $*_ima < $< > $@ diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/boot_images.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/boot_images.c deleted file mode 100644 index 3aabdf06d7..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/boot_images.c +++ /dev/null @@ -1,35 +0,0 @@ -/* boot_images.c - Collection of the different boot images - * Johan Adolfsson Axis Communications AB - * $Id: boot_images.c,v 1.2 2002/07/01 14:37:51 pkj Exp $ - */ - -#include <stdio.h> -#include "boot_images.h" - -/* We include the C files here to the size etc. easy */ -#include "net_ima.c" -#include "ser_ima.c" -#include "net_noleds_ima.c" -#include "ser_noleds_ima.c" - -struct boot_image_info_type boot_image_info[] = -{ - { INTERNAL_NW, net_ima, sizeof net_ima, "Network boot (default)"}, - { INTERNAL_SER, ser_ima, sizeof ser_ima, "Serial boot"}, - { INTERNAL_SER_NOLEDS, ser_noleds_ima, sizeof ser_noleds_ima, "Serial boot, no leds"}, - { INTERNAL_NW_NOLEDS, net_noleds_ima, sizeof net_noleds_ima, "Network boot, no leds"}, - - { "DBGNONE", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG0", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG1", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG2", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG3", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - - { "DBGNONE_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG0_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG1_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG2_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG3_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - - { NULL, NULL, 0, NULL } /* End of array */ -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/boot_images.h b/target/linux/etrax-2.6/image/e100boot/src/sbl/boot_images.h deleted file mode 100644 index cd7a1ae48d..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/boot_images.h +++ /dev/null @@ -1,20 +0,0 @@ -/* boot_images.h - Collection of the different boot images - * Johan Adolfsson Axis Communications AB - * $Id: boot_images.h,v 1.2 2002/07/01 14:37:51 pkj Exp $ - */ - -#define INTERNAL_SER "INTERNAL_SER" -#define INTERNAL_NW "INTERNAL_NW" -#define INTERNAL_NW_NOLEDS "INTERNAL_NW_NOLEDS" -#define INTERNAL_SER_NOLEDS "INTERNAL_SER_NOLEDS" - -typedef struct boot_image_info_type -{ - const char *name; - const char *ptr; - unsigned long len; - const char *info; -} boot_image_info_type; - -extern struct boot_image_info_type boot_image_info[]; - diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/cconv b/target/linux/etrax-2.6/image/e100boot/src/sbl/cconv deleted file mode 100755 index ce5ab3d705..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/cconv +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/perl -#! -#! FILE NAME : cconv -#! -#! PARAMETERS : Name of C program array variable. -#! -#! DESCRIPTION: Converts bytes of a binary file to C source code containing -#! char array initialized with the binary file data. -#! -#! SUBROUTINES: -#! -#!--------------------------------------------------------------------------- -#! HISTORY -#! -#! DATE NAME CHANGES -#! ---- ---- ------- -#! Dec 15 1997 Sven Ekstrom Initial version. Rewritten to Perl from C. -#! Dec 16 1997 Sven Ekstrom Fixed bug that generated truncated result. -#! -#!--------------------------------------------------------------------------- -#! -#! (C) Copyright 1997, Axis Communications AB, LUND, SWEDEN -#! -#!*************************************************************************** -# @(#) cconv 1.2 12/16/97 - -#********************** CONSTANT SECTION ************************************ - -$MyName = 'cconv'; - -# -# Number of bytes per line in the result. -# -$LineLength = 8; - -#********************** MAIN PROGRAM SECTION ******************************** - -# -# Make sure the command line contains the name of a C array. -# -if (scalar @ARGV != 1 || $ARGV[0] =~ /^-/) -{ - die "$MyName: Usage:\n", - "\n", - " Syntax\n", - " $MyName <name of C char array>\n", - "\n", - " <name of C char array> : This is the name of the char array where\n", - " the result is placed.\n", - "\n", - " Description\n", - "\n", - " Reads input from STDIN as binary data. Each byte of input data is\n", - " converted to C char data in hexadecimal form. The whole file read\n", - " from STDIN is converted and the result, C source code definition of\n", - " a char array, is printed on STDOUT.\n", - "\n"; -} - -# -# Start with the name and version of this program and the name of the array. -# -print "\n", - "/* $MyName 1.2 12/16/97, Copyright (C) 1997, Axis Communications AB */\n", - "\n", - "const char $ARGV[0]\[\] =\n", - "{"; - -# -# Read all bytes from STDIN, convert them to char data and print them on -# STDOUT. -# -$CurrentOffset = 0; -while (!eof(STDIN)) -{ - $Byte = ord(getc); - - if ($CurrentOffset % $LineLength == 0) - { - # - # Start of a new line. - # - if ($CurrentOffset != 0) - { - # - # This is not the first byte. - # - print ","; - } - # - # The new line is indented by 2 spaces. - # - print "\n", - " "; - } - else - { - # - # Continuing an old line. - # - print ", "; - } - - # - # Print the value of the byte as hex char data. - # - printf("'\\x%02x'", $Byte); - - $CurrentOffset++; -} - -if ($CurrentOffset == 0) -{ - # - # Initialize the array with a single byte of zero. - # - print "\n '\\x00'"; -} - -# -# End with the closing bracket and semicolon. -# -print "\n", - "};\n"; - -exit 0; - - -#********************** SUBROUTINE DEFINITION SECTION *********************** - -#**************************************************************************** -#* -#* SUBROUTINE : -#* -#* PARAMETERS : -#* -#* RETURNS : -#* -#* SIDE EFFECTS: -#* -#* DESCRIPTION : -#* -#*--------------------------------------------------------------------------- -#* HISTORY -#* -#* DATE NAME CHANGES -#* ---- ---- ------- -#* May 05, 1995 Sven Ekstrom Initial version -#* -#**************************************************************************** - -#sub NN -#{ -# local() = @_; -# -#} - -#************************ END OF FILE cconv ********************************* diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/common.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/common.c deleted file mode 100644 index e0fe6ce29e..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/common.c +++ /dev/null @@ -1,1677 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : common.c -*! -*! DESCRIPTION: Common functions for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! ??? ? ???? Ronny Ranerup Initial version -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999-2006 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ -/* $Id: common.c,v 1.13 2006/02/08 14:00:25 pkj Exp $ */ - -/************************** Version **************************************/ - -char version[] = "Time-stamp: $Id: common.c,v 1.13 2006/02/08 14:00:25 pkj Exp $"; - -/************************** Include files ********************************/ - -#include <byteswap.h> - -#include <conf.h> -#include <e100boot.h> -#include <pcap.h> -#include "boot_images.h" -#include <reg_des.h> -#include <sv_addr_ag.h> -#include <common.h> - -#include <serial.h> -#include <network.h> - -/************************** Constants and macros *************************/ - -#define BOOT_CMDS_FILE "BOOT_CMDS" - -/************************** Type definitions *****************************/ - -struct label_t { - struct label_t *prev; - udword addr; - char *name; -}; - -/************************** Global variables *****************************/ - -char needle[MAX_STRING_LEN] = "END"; /* search needle for --find */ -int needle_len = 3; - -int exitonfind = FALSE; - -int doing_flash = FALSE; /* Just a flag to see if we should - warn that it might take some - time. */ - -int toFiles = FALSE; /* Dump all packets to files. */ -int cmdsOnly = FALSE; /* Just dump boot cmds to file. */ -int netBoot = TRUE; /* Do network boot? */ -int serBoot = FALSE; /* Do serial boot? */ - -struct label_t *loop_label = NULL; -struct label_t *label = NULL; - -struct packet_buf *first_packet = NULL; -struct packet_buf *last_packet = NULL; - -struct packet_buf *boot_cmds_packet; - -int create_boot_loader = TRUE; - -/* We use the INTERNAL boot image as default */ -char boot_loader_file[MAX_STRING_LEN] = INTERNAL_NW; - -int noleds = FALSE; /* Use boot images that doesn't toggle leds? */ - -struct boot_files_T *first_boot_file = NULL; -struct boot_files_T *last_boot_file = NULL; - -unsigned int boot_cmds[SIZE_OF_BOOT_CMDS / sizeof(unsigned int)]; -int boot_cmds_cnt = 0; - -int svboot = FALSE; - -int quiet = 0; - -struct packet_header_T send_packet; -struct packet_header_T *receive_packet; - -int seq_nr = 0; - -/* debug flags */ -int db1 = FALSE; -int db2 = FALSE; -int db3 = FALSE; -int db4 = FALSE; - -char device[MAX_STRING_LEN] = "eth0"; - -/************************** Function prototypes **************************/ - -FILE *Fopen (const char *name, const char *mode); -int main (int argc, const char *argv[]); -int GetNumberOption (int *argNr, int argCount, const char *argVect[], unsigned int *ret, const char *option, int base); -int GetStringOption (int *argNr, int argCount, const char *argVect[], char *ret, const char *option); -int GetRegisterOption (int *argNr, int argCount, const char *argVect[], unsigned int *ret, const char *option, int base); -struct boot_files_T* allocate_boot_file (struct boot_files_T *bf); -struct packet_buf* CreateNewBootPacket (void); -struct packet_buf* allocate_packet (struct packet_buf *p); -void SigHandler (int sig); -void CreateBootLoader (void); -void FinishBootCmds (void); -void ParseArgs (int argc, const char *argv[]); -void PrintHelp (void); -void CreateBootCmds (void); -void handle_labels (void); -void new_label (struct label_t **label, udword addr, const char *name); -unsigned int swap_endian (unsigned int); - -/**************************************************************************** -*# -*# FUNCTION NAME: main -*# -*# PARAMETERS: Command line arguments. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -int -main(int argc, const char *argv[]) -{ - ParseArgs(argc, argv); - - if (cmdsOnly) { - /* We make this a special case to avoid messing up other code. */ - CreateBootCmds(); - FinishBootCmds(); - SendToDevice(&boot_cmds_packet->data[SIZE_OF_HEADER],SIZE_OF_BOOT_CMDS); - exit(EXIT_SUCCESS); - } - - if (netBoot && !toFiles) { - /* Do not bother with this if we just want to write the packets to - files. Means you do not have to be root to run --tofiles. */ - net_init(); - } - else if (serBoot) { - if (!SetupSerial()) { - exit(0); - } - } - - CreateBootLoader(); - CreateBootCmds(); - FinishBootCmds(); - - printf("Starting boot...\n"); - if (doing_flash) { - printf("We're doing a flash write, this may take up to a few minutes...\n"); - } - - if (toFiles) { - udword seq = 0; - struct packet_buf *p; - - while((p = create_packet(seq++))) { - SendToDevice(p->data, p->size); - } - - exit(EXIT_SUCCESS); - } - - if (netBoot) { - NetBoot(); - } - else if (serBoot) { - SerBoot(); - } - - printf("Done.\n"); - return EXIT_SUCCESS; -} /* main */ - -/**************************************************************************** -*# -*# FUNCTION NAME: free_packet -*# -*# PARAMETERS: struct to free -*# -*# DESCRIPTION: Frees struct and data in struct. -*# -*# RETURNS: Pointer to next struct. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 02 07 ronny Initial version -*# -*#***************************************************************************/ - -struct packet_buf* -free_packet(struct packet_buf *p) -{ - struct packet_buf *next_p; - - next_p = p->next; - free(p->data); - free(p); - return(next_p); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: create_packet -*# -*# PARAMETERS: Sequence number of desired packet. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 06 28 ronny Initial version -*# -*#***************************************************************************/ - -struct packet_buf* -create_packet(udword seq) -{ - struct packet_buf *p = first_packet; - /* Should check last first? */ - - if (db4) printf("> create_packet seq %d\n", seq); - - while (p) { - if (p->seq == seq) { - return(p); - } - p = p->next; - } - - return(CreateNewBootPacket()); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: find_string -*# -*# PARAMETERS: New string to search. -*# -*# DESCRIPTION: Searches a number of strings for needle[], including strings -*# overlapping between different calls. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 020502 ronny Initial version -*# -*#***************************************************************************/ - -void -find_string(char *str) -{ - static int matched = 0; - int hs[MAX_STRING_LEN]; - static int cur_hs = 0; - static int hs_len = 0; - static int last_hs = 0; - - static int cur_needle = 0; - - if (!needle[0]) { - return; - } - // printf("# adding >%s<\n", str); - - { - int c = 0; - int s = 0; - - while((c = str[s])) { - // printf("\n# cur_hs %d, hs_len %d\n", cur_hs, hs_len); - { - int i; - - for(i = 0; i != hs_len; i++) { - // printf("hs[%d] = %d(%c)\n", i, (int)hs[i], hs[i] < 32 ? 'X' : hs[i]); - } - } - - if (cur_hs == hs_len) { - // printf("adding char %d(%c) at hs[%d]\n", (int)c, c < 32 ? 'X' : c, hs_len); - hs[hs_len] = c; - hs_len++; - s++; - } - - // printf("testing %d at cur_hs %d against %d at cur_needle %d\n", - // (int)hs[cur_hs], cur_hs, (int)needle[cur_needle], cur_needle); - - if (hs[cur_hs] == needle[cur_needle]) { - if (cur_needle+1 == needle_len) { - int exitcode = EXIT_SUCCESS; - - // printf("\nFound needle from --find option.\n"); - if (exitonfind) { - int ret; - // printf("scanf (s=%d)'%s'\n", s, &str[s+1]); - ret = sscanf(&str[s+1], "%i", &exitcode); - // printf("ret %d, '%s'\n", ret, &str[s+1]); - } - printf("Exiting with code %d\n", exitcode); - exit(exitcode); - } - cur_needle++; - cur_hs++; - } - else { - // printf("no match, shifting hs.\n"); - { - int i; - for(i=0; i!= hs_len-1; i++) { - hs[i] = hs[i+1]; - } - } - hs_len--; - cur_needle = 0; - cur_hs = 0; - } - } - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: Fopen -*# -*# PARAMETERS: Name and mode, both strings. -*# -*# DESCRIPTION: Opens a file and returns its fd, or NULL. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -FILE * -Fopen(const char *name, const char *mode) -{ - FILE *fd; - - if (db2) printf(">>> Fopen '%s', mode '%s'\n", name, mode); - -#if defined(_WIN32) - fd = _fsopen(name, mode, _SH_DENYNO); -#else - fd = fopen(name, mode); -#endif - - if (fd == NULL) { - printf("<<< Fopen failed on '%s', mode '%s'\n", name, mode); - return ((FILE*) NULL); - } - - if (strncmp(mode, "a", 1) == 0) { - if (db3) printf("* Append mode, seeking to end.\n"); - fseek(fd, 0L, SEEK_SET); - } - - if (db2) printf("<<< Fopen: '%s'\n", name); - - return(fd); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: ParseArgs -*# -*# PARAMETERS: Standard command line args. -*# -*# DESCRIPTION: Parses command line arguments. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -void -ParseArgs (int argc, const char *argv[]) -{ - int argi; - int i; - int printHelp = FALSE; - int exitCode = EXIT_SUCCESS; - char dbStr[MAX_STRING_LEN]; /* Debug option string. */ - int number; - int argCount; - const char **argVect; - struct stat st; - - if (db4) printf(">>> ParseArgs\n"); - argCount = argc; - argVect = argv; - - for (argi = 1; argi < argCount; argi++) { - if (db4) printf("argv[%d] = '%s'\n", argi, argVect[argi]); - if (strncmp(argVect[argi], "--from", 6) == 0) { - if (GetStringOption(&argi, argCount, argVect, host1, "--from") == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - else { - printf("Host: %s %s\n", host1, host2); - if (sscanf(host1, "%x-%x-%x-%x-%x-%x", &i, &i, &i, &i, &i, &i) == 6) { - printf("Ethernet address\n"); - } - } - } - - else if (strncmp(argVect[argi], "--device", 8) == 0) { - if (GetStringOption(&argi, argCount, argVect, device, "--device") == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - else if (strncmp(argVect[argi], "--network", 9) == 0) { - netBoot = TRUE; - serBoot = FALSE; - strcpy(device, "eth0"); - strcpy(boot_loader_file, INTERNAL_NW); - } - - else if (strncmp(argVect[argi], "--serial", 8) == 0) { - serBoot = TRUE; - netBoot = FALSE; - strcpy(device, "/dev/ttyS0"); - strcpy(boot_loader_file, INTERNAL_SER); - } - - else if (strncmp(argVect[argi], "--noleds", 8) == 0) { - noleds = TRUE; - } - - else if (strncmp(argVect[argi], "--images", 8) == 0) { - int i = 0; - - printf("Internal images:\n"); - - while(boot_image_info[i].name) { - printf("'%s', %s, size %lu bytes.\n", - boot_image_info[i].name, - boot_image_info[i].info, - boot_image_info[i].len - ); - i++; - } - exit(EXIT_SUCCESS); - } - - else if (strncmp(argv[argi], "--baudrate", 10) == 0) { - if (GetNumberOption (&argi, argCount, argVect, &set_baudrate, "--baudrate", 10) == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - else if (strncmp(argVect[argi], "--tofiles", 9) == 0) { - toFiles = TRUE; - } - - else if (strncmp(argVect[argi], "--cmdsonly", 10) == 0) { - cmdsOnly = TRUE; - } - - else if (strncmp(argVect[argi], "--to", 4) == 0) { - if ((GetStringOption(&argi, argCount, argVect, host2, "--to") == 0)) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - else { - printf("Host: %s %s\n", host1, host2); - both_addresses = TRUE; - if (sscanf(host2, "%x-%x-%x-%x-%x-%x", &i, &i, &i, &i, &i, &i) == 6) { - printf("Ethernet address\n"); - } - } - } - - else if (strncmp(argVect[argi], "--printp", 8) == 0) { - pPacket = 1; - } - - else if (strncmp(argVect[argi], "--printascii", 11) == 0) { - pPacket = 1; - printPacketType = ASCII; - } - - else if (strncmp(argVect[argi], "--printudec", 11) == 0) { - pPacket = 1; - printPacketType = UDEC; - } - - else if (strncmp(argVect[argi], "--printhex", 10) == 0) { - pPacket = 1; - printPacketType = HEX; - } - - else if (strncmp(argVect[argi], "--bpl", 5) == 0) { - if (GetNumberOption(&argi, argCount, argVect, &p_packet_bpl, "--bpl", 10) == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - else if (strncmp(argVect[argi], "--promisc", 11) == 0) { - promisc = 1; - } - - else if (strncmp(argVect[argi], "--5400", 6) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000000; - boot_cmds[boot_cmds_cnt++] = 0x000095b6; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000008; - boot_cmds[boot_cmds_cnt++] = 0x0000e751; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb000000c; - boot_cmds[boot_cmds_cnt++] = 0x12604040; - } - - else if (strncmp(argVect[argi], "--5600", 6) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000000; - boot_cmds[boot_cmds_cnt++] = 0x000095b6; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000008; - boot_cmds[boot_cmds_cnt++] = 0x00006751; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb000000c; - boot_cmds[boot_cmds_cnt++] = 0x12204040; - } - - else if (strncmp(argVect[argi], "--testcardlx", 12) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x12604040; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_TIMING; - boot_cmds[boot_cmds_cnt++] = 0x0000e751; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_WAITSTATES; - boot_cmds[boot_cmds_cnt++] = 0x00b395b5; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_BUS_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x00000207; - } - - else if (strncmp(argVect[argi], "--testcard", 10) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_WAITSTATES; - boot_cmds[boot_cmds_cnt++] = 0x000010b3; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_TIMING; - boot_cmds[boot_cmds_cnt++] = 0x00006543; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x12966060; - } - - else if (strncmp(argVect[argi], "--devboard", 10) == 0) { - /* Printing on serial port will not work until PORT_PB is set... */ - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_PORT_PB_SET; - boot_cmds[boot_cmds_cnt++] = 0x01001ef3; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_PORT_PA_SET; - boot_cmds[boot_cmds_cnt++] = 0x00001df0; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_WAITSTATES; - boot_cmds[boot_cmds_cnt++] = 0x000095a6; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x1a200040; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_TIMING; - boot_cmds[boot_cmds_cnt++] = 0x00005611; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_BUS_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x00000104; - } - - else if (strncmp(argVect[argi], "--verify", 8) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_VERIFY; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--verify", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--verify", 16); - } - - else if (strncmp(argVect[argi], "--setreg", 8) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - if ((argVect[argi+1][0] >= 'A') && (argVect[argi+1][0] <= 'Z')) { - GetRegisterOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--setreg", 16); - } - else { - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--setreg", 16); - } - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--setreg", 16); - } - - else if (strncmp(argVect[argi], "--getreg", 8) == 0) { - boot_cmds[boot_cmds_cnt++] = GET_REGISTER; - if ((argVect[argi+1][0] >= 'A') && (argVect[argi+1][0] <= 'Z')) { - GetRegisterOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--getreg", 16); - } - else { - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--getreg", 16); - } - } - - else if (strncmp(argVect[argi], "--pause", 7) == 0) { - boot_cmds[boot_cmds_cnt++] = PAUSE_LOOP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--pause", 16); - } - - else if (strncmp(argVect[argi], "--memtest", 9) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_TEST; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memtest", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memtest", 16); - } - - else if (strncmp(argVect[argi], "--loop", 6) == 0) { - char str[MAX_STRING_LEN]; - boot_cmds[boot_cmds_cnt++] = LOOP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--loop", 16); - GetStringOption(&argi, argCount, argVect, str, argVect[argi]); - new_label(&loop_label, boot_cmds_cnt+1, str); - boot_cmds_cnt++; - } - - else if (strncmp(argVect[argi], "--label", 7) == 0) { - char str[MAX_STRING_LEN]; - GetStringOption(&argi, argCount, argVect, str, "--label"); - new_label(&label, boot_cmds_cnt, str); - } - - else if (strncmp(argVect[argi], "--memdump", 9) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_DUMP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memdump", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memdump", 16); - } - - else if (strncmp(argVect[argi], "--memclear", 10) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_CLEAR; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memclear", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memclear", 16); - } - - else if (strncmp(argVect[argi], "--flash", 7) == 0) { - boot_cmds[boot_cmds_cnt++] = FLASH; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--flash", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--flash", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--flash", 16); - doing_flash = TRUE; - } - - else if (strncmp(argVect[argi], "--jump", 6) == 0) { - boot_cmds[boot_cmds_cnt++] = JUMP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--jump", 16); - } - - else if (strncmp(argVect[argi], "--file", 6) == 0) { - char str[MAX_STRING_LEN]; - boot_cmds[boot_cmds_cnt++] = PACKET_INFO; - GetStringOption(&argi, argCount, argVect, - str, "--file"); /* file name */ - GetNumberOption(&argi, argCount, argVect, - &boot_cmds[boot_cmds_cnt++], str, 16); /* address */ - last_boot_file = allocate_boot_file(last_boot_file); - first_boot_file = first_boot_file ? first_boot_file : last_boot_file; - last_boot_file->fileName = malloc(strlen(str) + 1); - strcpy(last_boot_file->fileName, str); - last_boot_file->size_p = &boot_cmds[boot_cmds_cnt]; - last_boot_file->size_sent = 0; - if (strncmp(str, "-", 1) != 0) { - if (stat(last_boot_file->fileName, &st) == -1) { - printf("Cannot get size of file '%s'. %s.\n", - last_boot_file->fileName, strerror(errno)); - exit(EXIT_FAILURE); - } - if (db2) printf("* size is %d 0x%8.8x\n", - (int)st.st_size, (unsigned int)st.st_size); - last_boot_file->size = st.st_size; - boot_cmds[boot_cmds_cnt++] = st.st_size; - } - else { - GetNumberOption(&argi, argCount, argVect, - &last_boot_file->size , str, 16); /* size */ - - boot_cmds[boot_cmds_cnt++] = last_boot_file->size; - printf("* size is %d 0x%8.8x\n", last_boot_file->size, - last_boot_file->size); - } - } - - else if (strncmp(argVect[argi], "--bootfile", 10) == 0) { - GetStringOption(&argi, argCount, argVect, - boot_loader_file, "--bootfile"); - } - - else if (strncmp(argVect[argi], "-d", 2) == 0) { - if (GetNumberOption (&argi, argCount, argVect, &number, "-d", 10) == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - else { - sprintf(dbStr, "%d", number); - for (i = 0; i != (int) strlen(dbStr); i++) { - switch (dbStr[i] - '0') { - case 1: - db1 = TRUE; - break; - case 2: - db2 = TRUE; - break; - case 3: - db3 = TRUE; - break; - case 4: - db4 = TRUE; - break; - default: - printf("ERROR! Debug level %d is not defined.\n", dbStr[i] - '0'); - printHelp = TRUE; - exitCode = EXIT_FAILURE; - break; - } - } - } - } - - else if (strncmp(argVect[argi], "--find", 6) == 0) { - GetStringOption(&argi, argCount, argVect, needle, "--find"); - /* convert control characters like /n to the real ascii valure */ - { - int i; - int j = 0; - char c; - int esc = 0; - - for (i = 0; (c = needle[i]); i++,j++) { -// printf("c = %d, i %d, j %d\n", (int)c, i, j); - if (c == '\\') { -// printf("esc\n"); - esc = 1; - continue; - } - else if (esc) { - esc = 0; - switch(c) { - case 'r': - c = '\r'; - break; - - case 'n': - c = '\n'; - break; - - case '\\': - c = '\\'; - break; - - default: - printf("Uknown escape sequence '\\%c'\n", c); - exit(EXIT_FAILURE); - } - j--; - } - // printf("setting j %d to %d\n", j, (int)c); - needle[j] = c; - } - needle_len = j; - } - - for (i = 0; needle[i]; i++) { - //printf("i = %d, c %d\n", i,(int)needle[i]); - } - } - - else if (strncmp(argVect[argi], "--exitonfind", 12) == 0) { - exitonfind = TRUE; - } - - else if (strncmp(argVect[argi], "--help", 6) == 0) { - printHelp = TRUE; - } - - else { - printf("ERROR! Don't understand option '%s'\n", argVect[argi]); - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - if (printHelp == TRUE) { - PrintHelp(); - exit(exitCode); - } - - if (noleds) { - strcpy(&boot_loader_file[strlen(boot_loader_file)], "_NOLEDS"); - } - - handle_labels(); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: handle_labels -*# -*# PARAMETERS: global loop_label, label -*# -*# DESCRIPTION: Checks and matches labels from --loop and --label commands -*# and inserts the resolved addresses into boot commands. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 20020204 ronny Initial version -*# -*#***************************************************************************/ - -void -handle_labels(void) -{ - struct label_t *ll = loop_label; - struct label_t *l = label; - struct label_t *last_l = l; - - while(ll) { - int match = 0; - - l = last_l; - while(l) { - match = 0; - - if (l->name && ll->name && (strcmp(l->name, ll->name) == 0)) { - match = 1; - boot_cmds[ll->addr] = IO_BUF_START+(l->addr*4); - break; - } - l = l->prev; - } - if (!match) { - printf("Error. No label '%s' defined as needed by --loop command.\n", ll->name); - exit(EXIT_FAILURE); - } - ll = ll->prev; - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: new_label -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 20020201 ronny Initial version -*# -*#***************************************************************************/ - -void -new_label(struct label_t **label, udword addr, const char *name) -{ - struct label_t *new_p; - - new_p = malloc(sizeof(struct label_t)); - - if (*label == NULL) { /* first one? */ - *label = new_p; - new_p->prev = NULL; - } - else { - new_p->prev = *label; - } - *label = new_p; - new_p->addr = boot_cmds_cnt; - new_p->name = malloc(strlen(name)); - strcpy(new_p->name, name); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetStringOption -*# -*# PARAMETERS: int *argNr : Returns next argc here. -*# int argCount : Index of last argument. -*# char *argVect[] : argv. -*# char *ret : Copy string here. -*# char *option : Name of the option. -*# -*# DESCRIPTION: Extracts a string option from argv, and updates argnr. -*# Returns TRUE/FALSE and string in *ret. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960930 ronny Initial version -*# 961203 ronny Handles filenames with spaces within 'file name'. -*# -*#***************************************************************************/ - -int -GetStringOption(int *argNr, int argCount, const char *argVect[], char *ret, - const char *option) -{ - int startChar = strlen(option); - - *ret = '\0'; - - /* Are there any more chars after option? If not skip to next argv. */ - if (strlen(argVect[*argNr]) <= (unsigned int)startChar) { - (*argNr)++; - startChar = 0; - } - - /* Any args left? */ - if (*argNr >= argCount) { - printf("ERROR! The option '%s' needs a string argument.\n", option); - PrintHelp(); - exit(EXIT_FAILURE); - } - - /* avoid stack overflow hacks */ - if (strlen(&argVect[*argNr][startChar]) > MAX_STRING_LEN) { - printf("Argument '%s' longer than maximum allowable %d characters.\n", - &argVect[*argNr][startChar], MAX_STRING_LEN); - exit(EXIT_FAILURE); - } - - strcpy(ret, &argVect[*argNr][startChar]); - if (db4) printf("<<< GetStringOption '%s'\n", ret); - - return TRUE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetNumberOption -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960930 ronny Initial version -*# -*#***************************************************************************/ - -int -GetNumberOption(int *argNr, int argCount, const char *argVect[], - unsigned int *ret, const char *option, int base) -{ - int startChar = 0; - int add_io_base = 0; - - (*argNr)++; - - if (*argNr >= argCount) { - printf("ERROR! The option '%s' needs a number argument.\n", option); - PrintHelp(); - exit(EXIT_FAILURE); - } - - if (argVect[*argNr][startChar] == '+') { - add_io_base = 1; - startChar++; - } - - *ret = strtoul(&argVect[*argNr][startChar], NULL, base); - - if (add_io_base) { - *ret += IO_BUF_START; - if (*ret < IO_BUF_START || *ret >= IO_BUF_END) { - printf("ERROR! '%s' is outside the IO buffer (option '%s').\n", - argVect[*argNr], option); - exit(EXIT_FAILURE); - } - } - - if (db4) printf("<<< GetNumberOption %08x\r\n", *ret); - - return TRUE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetRegisterOption -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960930 ronny Initial version -*# -*#***************************************************************************/ - -int -GetRegisterOption(int *argNr, int argCount, const char *argVect[], - unsigned int *ret, const char *option, int base) -{ - int startChar = 0; - - (*argNr)++; - - if (*argNr >= argCount) { - printf("Error! The option '%s' needs a register name.\n", option); - PrintHelp(); - exit(EXIT_FAILURE); - } - - { - int r = 0; - - while (reg_des[r].name) { - if (strcmp(reg_des[r].name, argVect[*argNr]) == 0) { - *ret = reg_des[r].addr; - return TRUE; - break; - } - r++; - } - } - - printf("Error! Didn't find a register name matching '%s'.\n", - argVect[*argNr]); - - exit(EXIT_FAILURE); - - return FALSE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: PrintHelp -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Prints help info. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*# -*#***************************************************************************/ - -void -PrintHelp(void) -{ - printf("e100boot version %s.\n", version); - - printf("\ne100boot [--device devicename] [--file filename|- addr [size]]\n" - " [--flash ram-source flash-offset size]\n" - " [--pause iter]\n" - " [--memtest addr addr]\n" - " [--memclear addr addr] [--memdump addr addr]\n" - " [--setreg addr|regname val] [--getreg addr|regname]\n" - " [--verify addr val] [--label label] [--loop addr label]\n" - " [--5400] [--5600] [--testcard] [--devboard]\n" - " [--testcardlx] [--network] [--serial]\n" - " [--baudrate baudrate] [--bootfile file] [--jump addr]\n" - " [--tofiles] [--cmdsonly] [--images] [--noleds]\n" - " [--help]\n\n"); - - printf(" The commands sent to the cbl, and which are parsed by the cbl,\n" - " are stored at 0x%8.8x-0x%8.8x.\n\n", IO_BUF_START, IO_BUF_END); - - printf(" See the man page for more details about e100boot.\n\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: CreateBootLoader -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Creates boot packets from boot file or internal loader. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -void -CreateBootLoader(void) -{ - struct stat st; - char *buf = NULL; - // int size_pos = 0x18; - // int addr_pos = 0x28; - struct packet_header_T *ph; - int packet_size; - int header_size; - int buf_cnt = 0; - int i; - udword sum = 0; - - if (create_boot_loader) { - int image_nbr = 0; - int found = 0; - const struct boot_image_info_type *info; - - if (db4) printf("> CreateBootLoader\n"); - - info = &boot_image_info[image_nbr]; - - /* Use internal boot loader? */ - while (!found && info->name != NULL) { - if (strcmp(boot_loader_file, info->name) == 0) { - st.st_size = info->len; - buf = (char*) malloc(st.st_size); - memcpy(buf, info->ptr, st.st_size); /* unnecessary? */ - found = TRUE; - printf("Using internal boot loader: %s - %s.\n", - info->name, info->info); - } - else { - image_nbr++; - info = &boot_image_info[image_nbr]; - } - } - - /* No internal? Load it from file instead. */ - if (!found) { - FILE *fd; - - /* We didn't find an internal match, load the boot file from disk. */ - if ((fd = Fopen(boot_loader_file, "r")) == NULL) { - printf("Cannot open bootloader '%s'. %s.\n", - boot_loader_file, strerror(errno)); - exit(EXIT_FAILURE); - } - - if (fstat(fileno(fd), &st) == -1) { - printf("Cannot get filestatus of bootloader '%s'. %s.\n", - boot_loader_file, strerror(errno)); - exit(EXIT_FAILURE); - } - - buf = (char*) malloc(st.st_size); - // printf("CreateBootLoader: buf = (char*) malloc(st.st_size); 2\n"); - if (read(fileno(fd), buf, st.st_size) != st.st_size) { - printf("Read fewer bytes than there should be in %s.\n", - boot_loader_file); - exit(EXIT_FAILURE); - } - - fclose(fd); - } - - /* Alright, got loader in buf[] and size in st. */ - if (netBoot) { - /* The etrax code for all boot methods are linked to adress - 380000f0 but since network boot starts execution at 380000f4 - we have two nops in the beginning of the code which we do not - transmit to etrax in the network case. The link adress - doesn't change though. */ - buf += 4; - st.st_size -= 4; - packet_size = DATA_SIZE; - } - else { - packet_size = st.st_size; - } - - /* Hack binary, insert size and address. */ - - /* Giovanni Varasano (24/06/2005) : bug - * It is not a good habit to make code endian dependent on the host - * processor where cross compilation happens. Intel is little endian and - * PowerPC is big endian, but the target (ETRAX) is always little endian. - * The use of swap_endian() solves the problem. - */ - -#define SIZE_PATTERN 0x12345678 -#define ADDR_PATTERN 0x87654321 -#define SIZE_POS (netBoot ? 0x0c : 0x10) -#define ADDR_POS (netBoot ? 0x10 : 0x14) - - if (swap_endian(*(udword*)&buf[SIZE_POS]) != SIZE_PATTERN) { - printf("Bootloader corrupt. Should contain ret/nop (0x%8.8x) at 0x%x, but contains %x\n", - SIZE_PATTERN, SIZE_POS, *(udword*)&buf[SIZE_POS]); - exit(EXIT_FAILURE); - } - - /* How much data to load except data in first packet. */ - - if (netBoot) { - *(udword*)(&buf[SIZE_POS]) = swap_endian(st.st_size - DATA_SIZE); - } - else { - *(udword*)(&buf[SIZE_POS]) = swap_endian(st.st_size - 784); - } - - if (db3) printf("Inserting boot size 0x%x at 0x%x.\n", - (unsigned int) *(udword*)(&buf[SIZE_POS]), - (unsigned int)&buf[SIZE_POS]); - - if (swap_endian(*(udword*)&buf[ADDR_POS]) != ADDR_PATTERN) { - printf("Bootloader corrupt. Should contain ret/nop (0x%8.8x) at 0x%x, but contains %x\n", - ADDR_PATTERN, ADDR_POS, *(udword*)&buf[ADDR_POS]); - exit(EXIT_FAILURE); - } - - if (netBoot) { - *(udword*)(&buf[ADDR_POS]) = swap_endian(BOOT_ADDRESS + DATA_SIZE); - } - else { - *(udword*)(&buf[ADDR_POS]) = swap_endian(BOOT_ADDRESS-4 + 784); - } - - if (db3) printf("Inserting boot address 0x%x at 0x%x.\n", - (unsigned int)*(udword*)(&buf[ADDR_POS]), - (unsigned int)&buf[ADDR_POS]); - - - for (i = 0; i != st.st_size; i++) { - sum += ((byte*)buf)[i]; - } - if (db1) printf("Checksum 0x%x, bytes %d\n", sum, i); - - if (db4) { - int i; - - for(i=0; i<st.st_size; i+=8) { - int j; - - printf("0x%8.8x[%4.4x]: ", BOOT_ADDRESS+i, i); - for(j=0; i+j<st.st_size && j<8; j++) { - printf("%2.2x ", (unsigned char) buf[i+j]); - } - printf("\n"); - } - } - /* Now create list of packets. */ - while (buf_cnt <= st.st_size) { - - header_size = seq_nr == 0 ? - SIZE_OF_FIRST_HEADER : sizeof(struct packet_header_T); - - if (netBoot) { - packet_size = ((st.st_size - buf_cnt) < DATA_SIZE ? - st.st_size - buf_cnt : DATA_SIZE) + header_size; - } - else { - packet_size = st.st_size; - header_size = 0; - } - - if (db4) printf("seq_nr %d, header_size %d, packet_size %d\n", - seq_nr, header_size, packet_size); - - last_packet = allocate_packet(last_packet); - - first_packet = first_packet ? first_packet : last_packet; - - last_packet->size = packet_size; - last_packet->data = (char*)malloc(packet_size); - last_packet->seq = seq_nr; - last_packet->baud_rate = 9600; - - last_packet->boot_file = allocate_boot_file(NULL); - last_packet->boot_file->fileName = boot_loader_file; - - // printf("last_packet->size %8.8x\n", last_packet->size); - // printf("last_packet->data %8.8x\n",last_packet->data); - - if (netBoot) { - ph = (struct packet_header_T*) last_packet->data; - memcpy(ph->dest, dst_addr_of_device, 6); - memcpy(ph->src, eth_addr_local, 6); - ph->length = htons(packet_size); - ph->snap1 = htonl(SNAP1); - ph->snap2 = htonl(SNAP2); - ph->tag = htonl(SERVER_TAG); - ph->seq = htonl(seq_nr); - if (seq_nr != 0) { - ph->type = htonl(BOOT_PACKET); - ph->id = htonl(0); - } - } - - memcpy(&last_packet->data[header_size], &buf[buf_cnt], - packet_size - header_size); - if (db3) DecodeSvintoBoot(last_packet->data); - - if (netBoot) { - buf_cnt += DATA_SIZE; - } - else { - buf_cnt += packet_size +1; - } - - seq_nr++; - } - } - - if (db4) printf("< CreateBootLoader\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: allocate_packet -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -struct packet_buf* -allocate_packet(struct packet_buf *p) -{ - if (db4) printf("> allocate_packet\n"); - - if (p) { - p->next = (struct packet_buf*) malloc(sizeof(struct packet_buf)); - p = p->next; - } - else { - p = (struct packet_buf*) malloc(sizeof(struct packet_buf)); - } - p->next = NULL; - - return(p); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: allocate_boot_file -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -struct boot_files_T* -allocate_boot_file(struct boot_files_T *bf) -{ - if (bf) { - bf->next = (struct boot_files_T*) malloc(sizeof(struct boot_files_T)); - bf = bf->next; - } - else { - bf = (struct boot_files_T*) malloc(sizeof(struct boot_files_T)); - } - bf->next = NULL; - - return(bf); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: CreateBootCmds -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Creates a boot packet from the boot commands. The data is -*# filled in later by FinishBootCmds(). -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980818 ronny Initial version -*#***************************************************************************/ - -void -CreateBootCmds(void) -{ - struct packet_header_T *ph; - - if (db4) printf("***> CreateBootCmds\n"); - - last_packet = allocate_packet(last_packet); - - boot_cmds_packet = last_packet; - - last_packet->boot_file = allocate_boot_file(NULL); - last_packet->boot_file->fileName = BOOT_CMDS_FILE; - last_packet->baud_rate = 9600; - - last_packet->size = netBoot ? SIZE_OF_BOOT_CMDS + sizeof(struct packet_header_T) - : SIZE_OF_BOOT_CMDS; - - last_packet->data = (char *) malloc(last_packet->size); - last_packet->seq = seq_nr; - - if (netBoot) { - /* Create packet header. */ - ph = (struct packet_header_T *) last_packet->data; - memcpy(ph->dest, dst_addr_of_device, 6); - memcpy(ph->src, eth_addr_local, 6); - ph->length = htons(last_packet->size); - ph->snap1 = htonl(SNAP1); - ph->snap2 = htonl(SNAP2); - ph->tag = htonl(SERVER_TAG); - ph->seq = htonl(seq_nr); - seq_nr++; - ph->type = htonl(BOOT_CMDS); - ph->id = htonl(0); - } - - if (db3) DecodeSvintoBoot(last_packet->data); - if (db4) printf("<*** CreateBootCmds\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: FinishBootCmds -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Copies the boot commands into the correct packet and changes -*# the dwords to network order. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -void -FinishBootCmds(void) -{ - int i; - unsigned int offset = 0; - - for (i = 0; i != boot_cmds_cnt; i++) { - boot_cmds[i] = htonl(boot_cmds[i]); - if (db3) printf("%8.8x\n", boot_cmds[i]); - } - - /* Copy boot commands into packet. */ - if (netBoot) { - offset = sizeof(struct packet_header_T); - } - - memcpy(&boot_cmds_packet->data[offset], boot_cmds, - boot_cmds_cnt * sizeof(udword)); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: CreateNewBootPacket -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Creates next packet for the files specified by '--file'. -*# -*# RETURNS: Next packet, or NULL. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -struct packet_buf* -CreateNewBootPacket(void) -{ - static char buf[DATA_SIZE]; - struct packet_header_T *ph; - int packet_size; - int header_size; - int i; - udword sum; - int size = 0; - int padding = 0; - - static struct boot_files_T *bf = NULL; - - if (db3) printf("> CreateNewBootPacket\n"); - - bf = bf ? bf : first_boot_file; - - while (bf) { - if (!bf->fd) { - if (strcmp(bf->fileName, "-") == 0) { - bf->fd = stdin; - } - else { - bf->fd = fopen(bf->fileName, "r"); - } - - if (bf->fd == NULL) { - printf("Cannot open boot file %s. Exiting\n", bf->fileName); - exit(EXIT_FAILURE); - } - if (db3) printf("Opening boot file %s\n", bf->fileName); - } - - if (!padding) { - size = fread(buf, 1, DATA_SIZE, bf->fd); - if (size == 0) { - if (db3) printf("Nothing more to read. Read: %d/%d\n", - bf->size_sent, bf->size); - padding = 1; - } - } - - if (padding) { - if (bf->size_sent < bf->size) { - if (db3) printf("padding...\n"); - size = (bf->size - bf->size_sent > DATA_SIZE) ? - DATA_SIZE : bf->size - bf->size_sent; - memset(buf, 0, size); - } - else { - if (db3) printf("All written\n"); - padding = 0; - size = 0; - } - } - - if (size != 0) { - if (db3) printf("size: %d %d/%d\n", size, bf->size_sent, bf->size); - bf->size_sent += size; - last_packet = allocate_packet(last_packet); - - /* Calculate checksum. */ - sum = 0; - for (i = 0; i != size; i++) { - sum += ((byte*)buf)[i]; - } - if (db2) printf("Checksum 0x%x, bytes %d\n", sum, i); - - /* Figure out size of packet. */ - if (netBoot) { - header_size = seq_nr == 0 ? - SIZE_OF_FIRST_HEADER : sizeof(struct packet_header_T); - - packet_size = ((size) < DATA_SIZE ? size : DATA_SIZE) + header_size; - } - else { - header_size = 0; - packet_size = size; - } - - if (packet_size < 60) { /* CRC adds 4 bytes to 64 */ - printf( - "Last packet from file '%s', is smaller than 64 bytes. \n" - "This is not allowed in the Ethernet standard. Will pad with %d " - "bytes.\n", bf->fileName, 60-packet_size); - - *(bf->size_p) += 60-packet_size; - packet_size = 60; - } - - last_packet->size = packet_size; - last_packet->data = (char*)malloc(packet_size); - last_packet->boot_file = bf; - last_packet->baud_rate = set_baudrate; - - /* printf("size %8.8x\n", last_packet->size);*/ - /* printf("data %8.8x\n",last_packet->data);*/ - - if (netBoot) { - /* Initialize ethernet header. */ - ph = (struct packet_header_T*) last_packet->data; - memcpy(ph->dest, dst_addr_of_device, 6); - memcpy(ph->src, eth_addr_local, 6); - /* printf("packet_size %d\n", packet_size);*/ - ph->length = htons(packet_size); - ph->snap1 = htonl(SNAP1); - ph->snap2 = htonl(SNAP2); - ph->tag = htonl(SERVER_TAG); - ph->seq = htonl(seq_nr); - last_packet->seq = seq_nr; - if (seq_nr != 0) { - ph->type = htonl(BOOT_PACKET); - ph->id = htonl(0); /* id doesn't matter, we send to a unicast address */ - } - } - - /* Copy data in place. */ - memcpy(&last_packet->data[header_size], buf, packet_size - header_size); - if (db2) DecodeSvintoBoot(last_packet->data); - /* PrintPacket(last_packet->data, last_packet->size, HEX);*/ - seq_nr++; - - if (db3) printf("< CreateNewBootPacket\n"); - return(last_packet); - } - else { /* Nothing read from fd. */ - fclose(bf->fd); - bf = bf->next; - } - } - - if (db3) printf("< CreateNewBootPacket\n"); - return(NULL); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: swap_endian -*# -*# PARAMETERS: u - An unsigned value. -*# -*# DESCRIPTION: Convert the unsigned value from host order to little endian. -*# -*# RETURNS: The unsigned value as little endian. -*# -*#***************************************************************************/ - -unsigned int -swap_endian(unsigned int u) -{ - /* If the host order is the same as the network order (which is big endian), - * we need to swap the bytes in the supplied value. - */ - return ntohl(0x12345678) == 0x12345678 ? bswap_32(u) : u; -} - -/****************** END OF FILE common.c ************************************/ diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/common.h b/target/linux/etrax-2.6/image/e100boot/src/sbl/common.h deleted file mode 100644 index 8f854e447a..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/common.h +++ /dev/null @@ -1,57 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : common.h -*! -*! DESCRIPTION: Common stuff for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! 2002 05 02 Ronny Ranerup Initial version -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999, 2000, 2001, 2002 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ -/************************** Include files ********************************/ -/************************** Constants and macros *************************/ -/* max length of argument strings */ -#define MAX_STRING_LEN 256 -/************************** Type definitions *****************************/ -struct packet_buf { - unsigned int size; - struct packet_buf *next; - unsigned int seq; - char *data; - struct boot_files_T *boot_file; - unsigned int baud_rate; -}; - -struct boot_files_T { - char *fileName; - unsigned int *size_p; /* Pointer to size in boot_cmds. */ - unsigned int size; /* Size of file. */ - unsigned int size_sent; /* Number of bytes sent so far. */ - struct boot_files_T *next; - FILE *fd; -}; - -/************************** Global variables *****************************/ -extern int db1; -extern int db2; -extern int db3; -extern int db4; - -extern char device[MAX_STRING_LEN]; -extern struct packet_buf *first_packet; -extern int cmdsOnly; /* Just dump boot cmds to file. */ -extern int toFiles; /* Dump all packets to files. */ - -/************************** Function prototypes **************************/ - -struct packet_buf* create_packet (unsigned int seq); -struct packet_buf* free_packet (struct packet_buf *p); -void find_string (char *str); - - - diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/conf.h b/target/linux/etrax-2.6/image/e100boot/src/sbl/conf.h deleted file mode 100644 index 4105bbffbd..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/conf.h +++ /dev/null @@ -1,139 +0,0 @@ -/* conf.h. Generated automatically by configure. */ -#define HAVE_NET_IF_H 1 -#define HAVE_NETINET_IN_H 1 /* Socket data structure */ -#define HAVE_NETINET_IN_SYSTM_H 1 -#define HAVE_NETINET_IP_H 1 -#define HAVE_NETINET_UDP_H 1 -#define HAVE_NETINET_TCP_H 1 -#define HAVE_NETDB_H 1 -#define HAVE_ARPA_INET_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_FCNTL_H 1 /* O_RDONLY */ -#define HAVE_LINUX_IF_ETHER_H 1 -#define HAVE_SIGNAL_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDIO_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_ERRNO_H 1 -#define HAVE_LINUX_SOCKIOS_H 1 /* SIOCGIFHWADDR */ -#define HAVE_CTYPE_H 1 -#define HAVE_PCAP_H 0 -#define TIME_WITH_SYS_TIME 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_SYS_IOCTL_H 1 -#define HAVE_TERMIOS_H 1 - -#if HAVE_TERMIOS_H -#include <termios.h> -#endif - -#if HAVE_SYS_IOCTL_H -#include <sys/ioctl.h> -#endif - -#if HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#if HAVE_CTYPE_H -#include <ctype.h> -#endif - -#if HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif - -#if HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif - -#if HAVE_NET_IF_H -#include <net/if.h> -#endif - -#if HAVE_NETINET_IN_SYSTM_H -#include <netinet/in_systm.h> -#endif - -#if HAVE_NETINET_IP_H -#include <netinet/ip.h> -#endif - -#if HAVE_NETINET_UDP_H -#include <netinet/udp.h> -#endif - -#if HAVE_NETINET_TCP_H -#include <netinet/tcp.h> -#endif - -#if HAVE_NETDB_H -#include <netdb.h> -#endif - -#if HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif - -#if HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif - -#if HAVE_FCNTL_H -#include <fcntl.h> -#endif - -#if HAVE_LINUX_IF_ETHER_H -#include <linux/if_ether.h> -#endif - -#if HAVE_SIGNAL_H -#include <signal.h> -#endif - -#if HAVE_STRING_H -#include <string.h> -#endif - -#if HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#if HAVE_STDIO_H -#include <stdio.h> -#endif - -#if HAVE_UNISTD_H -#include <unistd.h> -#endif - -#if HAVE_SYS_STAT_H -#include <sys/stat.h> -#endif - -#if HAVE_ERRNO_H -#include <errno.h> -#endif - -#if HAVE_LINUX_SOCKIOS_H -#include <linux/sockios.h> -#endif - -#if HAVE_PCAP_H -#include <pcap.h> -#endif - -#if TIME_WITH_SYS_TIME -#include <sys/time.h> -#include <time.h> -#else -#if HAVE_SYS_TIME_H -#include <sys/time.h> -#else -#include <time.h> -#endif -#endif diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/conf.h.in b/target/linux/etrax-2.6/image/e100boot/src/sbl/conf.h.in deleted file mode 100644 index 779c473141..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/conf.h.in +++ /dev/null @@ -1,138 +0,0 @@ -#define HAVE_NET_IF_H 0 -#define HAVE_NETINET_IN_H 0 /* Socket data structure */ -#define HAVE_NETINET_IN_SYSTM_H 0 -#define HAVE_NETINET_IP_H 0 -#define HAVE_NETINET_UDP_H 0 -#define HAVE_NETINET_TCP_H 0 -#define HAVE_NETDB_H 0 -#define HAVE_ARPA_INET_H 0 -#define HAVE_SYS_SOCKET_H 0 -#define HAVE_FCNTL_H 0 /* O_RDONLY */ -#define HAVE_LINUX_IF_ETHER_H 0 -#define HAVE_SIGNAL_H 0 -#define HAVE_STRING_H 0 -#define HAVE_STDLIB_H 0 -#define HAVE_STDIO_H 0 -#define HAVE_SYS_TIME_H 0 -#define HAVE_UNISTD_H 0 -#define HAVE_SYS_STAT_H 0 -#define HAVE_SYS_TYPES_H 0 -#define HAVE_ERRNO_H 0 -#define HAVE_LINUX_SOCKIOS_H 0 /* SIOCGIFHWADDR */ -#define HAVE_CTYPE_H 0 -#define HAVE_PCAP_H 0 -#define TIME_WITH_SYS_TIME 0 -#define HAVE_SYS_SOCKET_H 0 -#define HAVE_SYS_IOCTL_H 0 -#define HAVE_TERMIOS_H 0 - -#if HAVE_TERMIOS_H -#include <termios.h> -#endif - -#if HAVE_SYS_IOCTL_H -#include <sys/ioctl.h> -#endif - -#if HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#if HAVE_CTYPE_H -#include <ctype.h> -#endif - -#if HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif - -#if HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif - -#if HAVE_NET_IF_H -#include <net/if.h> -#endif - -#if HAVE_NETINET_IN_SYSTM_H -#include <netinet/in_systm.h> -#endif - -#if HAVE_NETINET_IP_H -#include <netinet/ip.h> -#endif - -#if HAVE_NETINET_UDP_H -#include <netinet/udp.h> -#endif - -#if HAVE_NETINET_TCP_H -#include <netinet/tcp.h> -#endif - -#if HAVE_NETDB_H -#include <netdb.h> -#endif - -#if HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif - -#if HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif - -#if HAVE_FCNTL_H -#include <fcntl.h> -#endif - -#if HAVE_LINUX_IF_ETHER_H -#include <linux/if_ether.h> -#endif - -#if HAVE_SIGNAL_H -#include <signal.h> -#endif - -#if HAVE_STRING_H -#include <string.h> -#endif - -#if HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#if HAVE_STDIO_H -#include <stdio.h> -#endif - -#if HAVE_UNISTD_H -#include <unistd.h> -#endif - -#if HAVE_SYS_STAT_H -#include <sys/stat.h> -#endif - -#if HAVE_ERRNO_H -#include <errno.h> -#endif - -#if HAVE_LINUX_SOCKIOS_H -#include <linux/sockios.h> -#endif - -#if HAVE_PCAP_H -#include <pcap.h> -#endif - -#if TIME_WITH_SYS_TIME -#include <sys/time.h> -#include <time.h> -#else -#if HAVE_SYS_TIME_H -#include <sys/time.h> -#else -#include <time.h> -#endif -#endif diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/config.cache b/target/linux/etrax-2.6/image/e100boot/src/sbl/config.cache deleted file mode 100644 index a5c0e9cf7e..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/config.cache +++ /dev/null @@ -1,48 +0,0 @@ -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -ac_cv_header_arpa_inet_h=${ac_cv_header_arpa_inet_h=yes} -ac_cv_header_ctype_h=${ac_cv_header_ctype_h=yes} -ac_cv_header_errno_h=${ac_cv_header_errno_h=yes} -ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h=yes} -ac_cv_header_linux_if_ether_h=${ac_cv_header_linux_if_ether_h=yes} -ac_cv_header_linux_sockios_h=${ac_cv_header_linux_sockios_h=yes} -ac_cv_header_net_if_h=${ac_cv_header_net_if_h=yes} -ac_cv_header_netdb_h=${ac_cv_header_netdb_h=yes} -ac_cv_header_netinet_in_h=${ac_cv_header_netinet_in_h=yes} -ac_cv_header_netinet_in_systm_h=${ac_cv_header_netinet_in_systm_h=yes} -ac_cv_header_netinet_ip_h=${ac_cv_header_netinet_ip_h=yes} -ac_cv_header_netinet_tcp_h=${ac_cv_header_netinet_tcp_h=yes} -ac_cv_header_netinet_udp_h=${ac_cv_header_netinet_udp_h=yes} -ac_cv_header_pcap_pcap_h=${ac_cv_header_pcap_pcap_h=no} -ac_cv_header_signal_h=${ac_cv_header_signal_h=yes} -ac_cv_header_stdc=${ac_cv_header_stdc=yes} -ac_cv_header_stdio_h=${ac_cv_header_stdio_h=yes} -ac_cv_header_stdlib_h=${ac_cv_header_stdlib_h=yes} -ac_cv_header_string_h=${ac_cv_header_string_h=yes} -ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes} -ac_cv_header_sys_socket_h=${ac_cv_header_sys_socket_h=yes} -ac_cv_header_sys_stat_h=${ac_cv_header_sys_stat_h=yes} -ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes} -ac_cv_header_sys_types_h=${ac_cv_header_sys_types_h=yes} -ac_cv_header_termios_h=${ac_cv_header_termios_h=yes} -ac_cv_header_time=${ac_cv_header_time=yes} -ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes} -ac_cv_lib_pcap_pcap_open_live=${ac_cv_lib_pcap_pcap_open_live=no} -ac_cv_prog_CC=${ac_cv_prog_CC=gcc} -ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'} -ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no} -ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} -ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes} -ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/config.log b/target/linux/etrax-2.6/image/e100boot/src/sbl/config.log deleted file mode 100644 index 43de9c5da0..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/config.log +++ /dev/null @@ -1,90 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -configure:530: checking for gcc -configure:643: checking whether the C compiler (gcc ) works -configure:659: gcc -o conftest conftest.c 1>&5 -configure:685: checking whether the C compiler (gcc ) is a cross-compiler -configure:690: checking whether we are using GNU C -configure:699: gcc -E conftest.c -configure:718: checking whether gcc accepts -g -configure:751: checking for pcap_open_live in -lpcap -configure:770: gcc -o conftest -g -O2 conftest.c -lpcap 1>&5 -/usr/bin/ld: cannot find -lpcap -collect2: ld returned 1 exit status -configure: failed program was: -#line 759 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pcap_open_live(); - -int main() { -pcap_open_live() -; return 0; } -configure:799: checking how to run the C preprocessor -configure:820: gcc -E conftest.c >/dev/null 2>conftest.out -configure:879: checking for ANSI C header files -configure:892: gcc -E conftest.c >/dev/null 2>conftest.out -configure:959: gcc -o conftest -g -O2 conftest.c 1>&5 -configure: In function 'main': -configure:954: warning: incompatible implicit declaration of built-in function 'exit' -configure:986: checking for termios.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for sys/ioctl.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for net/if.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for netinet/in.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for netinet/in_systm.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for netinet/ip.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for netinet/udp.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for netinet/tcp.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for netdb.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for arpa/inet.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for sys/socket.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for fcntl.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for linux/if_ether.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for signal.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for string.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for stdlib.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for stdio.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for sys/time.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for unistd.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for sys/stat.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for sys/types.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for errno.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for linux/sockios.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for ctype.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:986: checking for sys/socket.h -configure:986: checking for pcap/pcap.h -configure:996: gcc -E conftest.c >/dev/null 2>conftest.out -configure:992:23: error: pcap/pcap.h: No such file or directory -configure: failed program was: -#line 991 "configure" -#include "confdefs.h" -#include <pcap/pcap.h> -configure:1024: checking whether time.h and sys/time.h may both be included -configure:1038: gcc -c -g -O2 conftest.c 1>&5 diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/config.status b/target/linux/etrax-2.6/image/e100boot/src/sbl/config.status deleted file mode 100755 index 3580ac7170..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/config.status +++ /dev/null @@ -1,330 +0,0 @@ -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host bertha: -# -# ./configure -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]" -for ac_option -do - case "$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion" - exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "./config.status generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "$ac_cs_usage"; exit 0 ;; - *) echo "$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=. - -trap 'rm -fr Makefile conf.h conftest*; exit 1' 1 2 15 - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g; - s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF -/^[ ]*VPATH[ ]*=[^:]*$/d - -s%@SHELL@%/bin/sh%g -s%@CFLAGS@%-g -O2%g -s%@CPPFLAGS@%%g -s%@CXXFLAGS@%%g -s%@FFLAGS@%%g -s%@DEFS@%-DHAVE_CONFIG_H%g -s%@LDFLAGS@%%g -s%@LIBS@%%g -s%@exec_prefix@%${prefix}%g -s%@prefix@%/usr/local%g -s%@program_transform_name@%s,x,x,%g -s%@bindir@%${exec_prefix}/bin%g -s%@sbindir@%${exec_prefix}/sbin%g -s%@libexecdir@%${exec_prefix}/libexec%g -s%@datadir@%${prefix}/share%g -s%@sysconfdir@%${prefix}/etc%g -s%@sharedstatedir@%${prefix}/com%g -s%@localstatedir@%${prefix}/var%g -s%@libdir@%${exec_prefix}/lib%g -s%@includedir@%${prefix}/include%g -s%@oldincludedir@%/usr/include%g -s%@infodir@%${prefix}/info%g -s%@mandir@%${prefix}/man%g -s%@CC@%gcc%g -s%@CPP@%gcc -E%g - -CEOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi - -CONFIG_FILES=${CONFIG_FILES-"Makefile"} -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then - CONFIG_HEADERS="conf.h" -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} -${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} -${ac_eA}STDC_HEADERS${ac_eB}STDC_HEADERS${ac_eC}1${ac_eD} -${ac_dA}HAVE_TERMIOS_H${ac_dB}HAVE_TERMIOS_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_TERMIOS_H${ac_uB}HAVE_TERMIOS_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_TERMIOS_H${ac_eB}HAVE_TERMIOS_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_SYS_IOCTL_H${ac_dB}HAVE_SYS_IOCTL_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SYS_IOCTL_H${ac_uB}HAVE_SYS_IOCTL_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SYS_IOCTL_H${ac_eB}HAVE_SYS_IOCTL_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_NET_IF_H${ac_dB}HAVE_NET_IF_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NET_IF_H${ac_uB}HAVE_NET_IF_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NET_IF_H${ac_eB}HAVE_NET_IF_H${ac_eC}1${ac_eD} -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}HAVE_NETINET_IN_H${ac_dB}HAVE_NETINET_IN_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NETINET_IN_H${ac_uB}HAVE_NETINET_IN_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NETINET_IN_H${ac_eB}HAVE_NETINET_IN_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_NETINET_IN_SYSTM_H${ac_dB}HAVE_NETINET_IN_SYSTM_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NETINET_IN_SYSTM_H${ac_uB}HAVE_NETINET_IN_SYSTM_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NETINET_IN_SYSTM_H${ac_eB}HAVE_NETINET_IN_SYSTM_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_NETINET_IP_H${ac_dB}HAVE_NETINET_IP_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NETINET_IP_H${ac_uB}HAVE_NETINET_IP_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NETINET_IP_H${ac_eB}HAVE_NETINET_IP_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_NETINET_UDP_H${ac_dB}HAVE_NETINET_UDP_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NETINET_UDP_H${ac_uB}HAVE_NETINET_UDP_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NETINET_UDP_H${ac_eB}HAVE_NETINET_UDP_H${ac_eC}1${ac_eD} -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}HAVE_NETINET_TCP_H${ac_dB}HAVE_NETINET_TCP_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NETINET_TCP_H${ac_uB}HAVE_NETINET_TCP_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NETINET_TCP_H${ac_eB}HAVE_NETINET_TCP_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_NETDB_H${ac_dB}HAVE_NETDB_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_NETDB_H${ac_uB}HAVE_NETDB_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_NETDB_H${ac_eB}HAVE_NETDB_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_ARPA_INET_H${ac_dB}HAVE_ARPA_INET_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_ARPA_INET_H${ac_uB}HAVE_ARPA_INET_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_ARPA_INET_H${ac_eB}HAVE_ARPA_INET_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_SYS_SOCKET_H${ac_dB}HAVE_SYS_SOCKET_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SYS_SOCKET_H${ac_uB}HAVE_SYS_SOCKET_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SYS_SOCKET_H${ac_eB}HAVE_SYS_SOCKET_H${ac_eC}1${ac_eD} -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_FCNTL_H${ac_eB}HAVE_FCNTL_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_LINUX_IF_ETHER_H${ac_dB}HAVE_LINUX_IF_ETHER_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_LINUX_IF_ETHER_H${ac_uB}HAVE_LINUX_IF_ETHER_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_LINUX_IF_ETHER_H${ac_eB}HAVE_LINUX_IF_ETHER_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_SIGNAL_H${ac_dB}HAVE_SIGNAL_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SIGNAL_H${ac_uB}HAVE_SIGNAL_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SIGNAL_H${ac_eB}HAVE_SIGNAL_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_STRING_H${ac_eB}HAVE_STRING_H${ac_eC}1${ac_eD} -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_STDLIB_H${ac_eB}HAVE_STDLIB_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_STDIO_H${ac_dB}HAVE_STDIO_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_STDIO_H${ac_uB}HAVE_STDIO_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_STDIO_H${ac_eB}HAVE_STDIO_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SYS_TIME_H${ac_eB}HAVE_SYS_TIME_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_UNISTD_H${ac_eB}HAVE_UNISTD_H${ac_eC}1${ac_eD} -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SYS_STAT_H${ac_eB}HAVE_SYS_STAT_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SYS_TYPES_H${ac_eB}HAVE_SYS_TYPES_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_ERRNO_H${ac_dB}HAVE_ERRNO_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_ERRNO_H${ac_uB}HAVE_ERRNO_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_ERRNO_H${ac_eB}HAVE_ERRNO_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_LINUX_SOCKIOS_H${ac_dB}HAVE_LINUX_SOCKIOS_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_LINUX_SOCKIOS_H${ac_uB}HAVE_LINUX_SOCKIOS_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_LINUX_SOCKIOS_H${ac_eB}HAVE_LINUX_SOCKIOS_H${ac_eC}1${ac_eD} -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - cat > conftest.frag <<CEOF -${ac_dA}HAVE_CTYPE_H${ac_dB}HAVE_CTYPE_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_CTYPE_H${ac_uB}HAVE_CTYPE_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_CTYPE_H${ac_eB}HAVE_CTYPE_H${ac_eC}1${ac_eD} -${ac_dA}HAVE_SYS_SOCKET_H${ac_dB}HAVE_SYS_SOCKET_H${ac_dC}1${ac_dD} -${ac_uA}HAVE_SYS_SOCKET_H${ac_uB}HAVE_SYS_SOCKET_H${ac_uC}1${ac_uD} -${ac_eA}HAVE_SYS_SOCKET_H${ac_eB}HAVE_SYS_SOCKET_H${ac_eC}1${ac_eD} -${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD} -${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD} -${ac_eA}TIME_WITH_SYS_TIME${ac_eB}TIME_WITH_SYS_TIME${ac_eC}1${ac_eD} -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in - - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - - - -exit 0 diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/configure b/target/linux/etrax-2.6/image/e100boot/src/sbl/configure deleted file mode 100755 index 16b8bf52fe..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/configure +++ /dev/null @@ -1,1405 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=common.c - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:530: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:560: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:611: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:643: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 654 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:685: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:690: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <<EOF -#ifdef __GNUC__ - yes; -#endif -EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:718: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - - -echo $ac_n "checking for pcap_open_live in -lpcap""... $ac_c" 1>&6 -echo "configure:751: checking for pcap_open_live in -lpcap" >&5 -ac_lib_var=`echo pcap'_'pcap_open_live | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lpcap $LIBS" -cat > conftest.$ac_ext <<EOF -#line 759 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pcap_open_live(); - -int main() { -pcap_open_live() -; return 0; } -EOF -if { (eval echo configure:770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo pcap | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <<EOF -#define $ac_tr_lib 1 -EOF - - LIBS="-lpcap $LIBS" - -else - echo "$ac_t""no" 1>&6 -fi - - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:799: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext <<EOF -#line 814 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:820: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext <<EOF -#line 831 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext <<EOF -#line 848 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:879: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 884 "configure" -#include "confdefs.h" -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:892: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext <<EOF -#line 909 "configure" -#include "confdefs.h" -#include <string.h> -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext <<EOF -#line 927 "configure" -#include "confdefs.h" -#include <stdlib.h> -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext <<EOF -#line 948 "configure" -#include "confdefs.h" -#include <ctype.h> -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -for ac_hdr in termios.h sys/ioctl.h net/if.h netinet/in.h netinet/in_systm.h netinet/ip.h netinet/udp.h netinet/tcp.h netdb.h arpa/inet.h sys/socket.h fcntl.h linux/if_ether.h signal.h string.h stdlib.h stdio.h sys/time.h unistd.h sys/stat.h sys/types.h errno.h linux/sockios.h ctype.h sys/socket.h pcap/pcap.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:986: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 991 "configure" -#include "confdefs.h" -#include <$ac_hdr> -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <<EOF -#define $ac_tr_hdr 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi -done - - -echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1024: checking whether time.h and sys/time.h may both be included" >&5 -if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 1029 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <sys/time.h> -#include <time.h> -int main() { -struct tm *tp; -; return 0; } -EOF -if { (eval echo configure:1038: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_header_time=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_time=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_time" 1>&6 -if test $ac_cv_header_time = yes; then - cat >> confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - -fi - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile conf.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@CPP@%$CPP%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <<EOF - CONFIG_HEADERS="conf.h" -EOF -cat >> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/configure.in b/target/linux/etrax-2.6/image/e100boot/src/sbl/configure.in deleted file mode 100644 index 24e161c50d..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/configure.in +++ /dev/null @@ -1,19 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(common.c) -AC_CONFIG_HEADER(conf.h) - -dnl Checks for programs. -AC_PROG_CC - -dnl Checks for libraries. -AC_CHECK_LIB(pcap, pcap_open_live) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(termios.h sys/ioctl.h net/if.h netinet/in.h netinet/in_systm.h netinet/ip.h netinet/udp.h netinet/tcp.h netdb.h arpa/inet.h sys/socket.h fcntl.h linux/if_ether.h signal.h string.h stdlib.h stdio.h sys/time.h unistd.h sys/stat.h sys/types.h errno.h linux/sockios.h ctype.h sys/socket.h pcap/pcap.h) - -dnl Check for typedefs, structures, and compiler characteristics. -AC_HEADER_TIME - -dnl Checks for library functions. -AC_OUTPUT(Makefile) diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/create_regs.pl b/target/linux/etrax-2.6/image/e100boot/src/sbl/create_regs.pl deleted file mode 100755 index 5127538b78..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/create_regs.pl +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/perl - -print "struct reg_des { - char *name; - unsigned int addr; -} reg_des[] = {\n"; -while(<>) { - if (/define+ (\w+) .*IO_TYPECAST+.*DWORD.*\s+(\w+)/) { - print " \"$1\", $2,\n"; - } -} - print " NULL, 0 -}; -"; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/common.d b/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/common.d deleted file mode 100644 index 81d54c683a..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/common.d +++ /dev/null @@ -1,58 +0,0 @@ -common.o: common.c /usr/include/byteswap.h /usr/include/bits/byteswap.h \ - conf.h /usr/include/termios.h /usr/include/features.h \ - /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ - /usr/include/bits/termios.h /usr/include/sys/ttydefaults.h \ - /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \ - /usr/include/asm/ioctls.h /usr/include/asm-i486/ioctls.h \ - /usr/include/asm/ioctl.h /usr/include/asm-i486/ioctl.h \ - /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h \ - /usr/include/sys/types.h /usr/include/bits/types.h \ - /usr/include/bits/wordsize.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h \ - /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ - /usr/include/bits/endian.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/sigset.h \ - /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ - /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ - /usr/include/ctype.h /usr/include/sys/socket.h /usr/include/sys/uio.h \ - /usr/include/bits/uio.h /usr/include/bits/socket.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h \ - /usr/include/limits.h /usr/include/bits/posix1_lim.h \ - /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ - /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h \ - /usr/include/asm/socket.h /usr/include/asm-i486/socket.h \ - /usr/include/asm/sockios.h /usr/include/asm-i486/sockios.h \ - /usr/include/netinet/in.h /usr/include/stdint.h \ - /usr/include/bits/wchar.h /usr/include/bits/in.h /usr/include/net/if.h \ - /usr/include/netinet/in_systm.h /usr/include/netinet/ip.h \ - /usr/include/netinet/udp.h /usr/include/netinet/tcp.h \ - /usr/include/netdb.h /usr/include/rpc/netdb.h /usr/include/bits/netdb.h \ - /usr/include/arpa/inet.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \ - /usr/include/linux/if_ether.h /usr/include/linux/types.h \ - /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \ - /usr/include/linux/compiler.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/asm/posix_types.h \ - /usr/include/asm/posix_types.h /usr/include/asm-i486/posix_types.h \ - /usr/include/asm/types.h /usr/include/asm-i486/types.h \ - /usr/include/signal.h /usr/include/bits/signum.h \ - /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \ - /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \ - /usr/include/asm-i486/sigcontext.h /usr/include/bits/sigstack.h \ - /usr/include/bits/sigthread.h /usr/include/string.h \ - /usr/include/bits/string.h /usr/include/bits/string2.h \ - /usr/include/stdlib.h /usr/include/alloca.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/gconv.h /usr/lib/gcc/i486-linux-gnu/4.1.2/include/stdarg.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ - /usr/include/bits/stdio.h /usr/include/unistd.h \ - /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ - /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/bits/stat.h \ - /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-i486/errno.h /usr/include/asm-generic/errno.h \ - /usr/include/asm-generic/errno-base.h /usr/include/linux/sockios.h \ - /usr/include/sys/time.h ../cbl/src/e100boot.h ../cbl/src/compiler.h \ - ../libpcap-0.4/pcap.h ../libpcap-0.4/net/bpf.h boot_images.h reg_des.h \ - ../cbl/src/sv_addr_ag.h ../cbl/src/sv_addr.agh common.h serial.h \ - network.h diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/network.d b/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/network.d deleted file mode 100644 index c88ed6d6be..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/network.d +++ /dev/null @@ -1,56 +0,0 @@ -network.o: network.c /usr/include/stdio.h /usr/include/features.h \ - /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h \ - /usr/include/bits/types.h /usr/include/bits/wordsize.h \ - /usr/include/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ - /usr/include/gconv.h /usr/lib/gcc/i486-linux-gnu/4.1.2/include/stdarg.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ - /usr/include/bits/stdio.h ../libpcap-0.4/pcap.h \ - /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ - /usr/include/bits/endian.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/sigset.h \ - /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ - /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ - /usr/include/sys/time.h ../libpcap-0.4/net/bpf.h conf.h \ - /usr/include/termios.h /usr/include/bits/termios.h \ - /usr/include/sys/ttydefaults.h /usr/include/sys/ioctl.h \ - /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h \ - /usr/include/asm-i486/ioctls.h /usr/include/asm/ioctl.h \ - /usr/include/asm-i486/ioctl.h /usr/include/asm-generic/ioctl.h \ - /usr/include/bits/ioctl-types.h /usr/include/ctype.h \ - /usr/include/sys/socket.h /usr/include/sys/uio.h \ - /usr/include/bits/uio.h /usr/include/bits/socket.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h \ - /usr/include/limits.h /usr/include/bits/posix1_lim.h \ - /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ - /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h \ - /usr/include/asm/socket.h /usr/include/asm-i486/socket.h \ - /usr/include/asm/sockios.h /usr/include/asm-i486/sockios.h \ - /usr/include/netinet/in.h /usr/include/stdint.h /usr/include/bits/in.h \ - /usr/include/bits/byteswap.h /usr/include/net/if.h \ - /usr/include/netinet/in_systm.h /usr/include/netinet/ip.h \ - /usr/include/netinet/udp.h /usr/include/netinet/tcp.h \ - /usr/include/netdb.h /usr/include/rpc/netdb.h /usr/include/bits/netdb.h \ - /usr/include/arpa/inet.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \ - /usr/include/linux/if_ether.h /usr/include/linux/types.h \ - /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \ - /usr/include/linux/compiler.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/asm/posix_types.h \ - /usr/include/asm/posix_types.h /usr/include/asm-i486/posix_types.h \ - /usr/include/asm/types.h /usr/include/asm-i486/types.h \ - /usr/include/signal.h /usr/include/bits/signum.h \ - /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \ - /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \ - /usr/include/asm-i486/sigcontext.h /usr/include/bits/sigstack.h \ - /usr/include/bits/sigthread.h /usr/include/string.h \ - /usr/include/bits/string.h /usr/include/bits/string2.h \ - /usr/include/stdlib.h /usr/include/alloca.h /usr/include/unistd.h \ - /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ - /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/bits/stat.h \ - /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-i486/errno.h /usr/include/asm-generic/errno.h \ - /usr/include/asm-generic/errno-base.h /usr/include/linux/sockios.h \ - ../cbl/src/e100boot.h ../cbl/src/compiler.h common.h network.h diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/serial.d b/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/serial.d deleted file mode 100644 index a680c03884..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/deps/serial.d +++ /dev/null @@ -1,56 +0,0 @@ -serial.o: serial.c conf.h /usr/include/termios.h /usr/include/features.h \ - /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ - /usr/include/bits/termios.h /usr/include/sys/ttydefaults.h \ - /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \ - /usr/include/asm/ioctls.h /usr/include/asm-i486/ioctls.h \ - /usr/include/asm/ioctl.h /usr/include/asm-i486/ioctl.h \ - /usr/include/asm-generic/ioctl.h /usr/include/bits/ioctl-types.h \ - /usr/include/sys/types.h /usr/include/bits/types.h \ - /usr/include/bits/wordsize.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h \ - /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ - /usr/include/bits/endian.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/sigset.h \ - /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ - /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ - /usr/include/ctype.h /usr/include/sys/socket.h /usr/include/sys/uio.h \ - /usr/include/bits/uio.h /usr/include/bits/socket.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h \ - /usr/include/limits.h /usr/include/bits/posix1_lim.h \ - /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ - /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h \ - /usr/include/asm/socket.h /usr/include/asm-i486/socket.h \ - /usr/include/asm/sockios.h /usr/include/asm-i486/sockios.h \ - /usr/include/netinet/in.h /usr/include/stdint.h \ - /usr/include/bits/wchar.h /usr/include/bits/in.h \ - /usr/include/bits/byteswap.h /usr/include/net/if.h \ - /usr/include/netinet/in_systm.h /usr/include/netinet/ip.h \ - /usr/include/netinet/udp.h /usr/include/netinet/tcp.h \ - /usr/include/netdb.h /usr/include/rpc/netdb.h /usr/include/bits/netdb.h \ - /usr/include/arpa/inet.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \ - /usr/include/linux/if_ether.h /usr/include/linux/types.h \ - /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \ - /usr/include/linux/compiler.h \ - /usr/lib/gcc/i486-linux-gnu/4.1.2/include/asm/posix_types.h \ - /usr/include/asm/posix_types.h /usr/include/asm-i486/posix_types.h \ - /usr/include/asm/types.h /usr/include/asm-i486/types.h \ - /usr/include/signal.h /usr/include/bits/signum.h \ - /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \ - /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \ - /usr/include/asm-i486/sigcontext.h /usr/include/bits/sigstack.h \ - /usr/include/bits/sigthread.h /usr/include/string.h \ - /usr/include/bits/string.h /usr/include/bits/string2.h \ - /usr/include/stdlib.h /usr/include/alloca.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/gconv.h /usr/lib/gcc/i486-linux-gnu/4.1.2/include/stdarg.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ - /usr/include/bits/stdio.h /usr/include/unistd.h \ - /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ - /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/bits/stat.h \ - /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-i486/errno.h /usr/include/asm-generic/errno.h \ - /usr/include/asm-generic/errno-base.h /usr/include/linux/sockios.h \ - /usr/include/sys/time.h ../cbl/src/e100boot.h ../cbl/src/compiler.h \ - serial.h common.h diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/net_ima.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/net_ima.c deleted file mode 100644 index 749fe1ef82..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/net_ima.c +++ /dev/null @@ -1,891 +0,0 @@ - -/* cconv 1.2 12/16/97, Copyright (C) 1997, Axis Communications AB */ - -const char net_ima[] = -{ - '\x0f', '\x05', '\x0f', '\x05', '\x6f', '\xee', '\x00', '\x1f', - '\x00', '\x38', '\x3f', '\x0d', '\x08', '\x01', '\x00', '\x38', - '\x78', '\x56', '\x34', '\x12', '\x21', '\x43', '\x65', '\x87', - '\x6f', '\xde', '\x20', '\x00', '\x00', '\xb0', '\x5f', '\x9c', - '\x65', '\x6f', '\xed', '\x9b', '\x5f', '\x9c', '\x25', '\x2f', - '\x7f', '\x0d', '\x80', '\x18', '\x00', '\x38', '\xe9', '\x9b', - '\xed', '\x9b', '\x3f', '\x0d', '\x28', '\x01', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x7e', '\x92', '\x7f', '\x0d', - '\x31', '\x00', '\x00', '\xb0', '\xc9', '\x9b', '\x7f', '\x0d', - '\x30', '\x00', '\x00', '\xb0', '\x70', '\x0a', '\x7f', '\x92', - '\x7f', '\x0d', '\x80', '\x18', '\x00', '\x38', '\xc9', '\x9b', - '\x7f', '\x0d', '\x39', '\x00', '\x00', '\xb0', '\xc9', '\x9b', - '\x7f', '\x0d', '\x38', '\x00', '\x00', '\xb0', '\xc9', '\x9b', - '\x7f', '\x0d', '\x22', '\x1d', '\x00', '\x38', '\x70', '\x8a', - '\x6f', '\x9e', '\x20', '\x00', '\x00', '\xb0', '\x69', '\x9a', - '\x79', '\x67', '\x7f', '\x0d', '\xd6', '\x1c', '\x00', '\x38', - '\xe9', '\x9b', '\x6f', '\x9e', '\x22', '\x00', '\x00', '\xb0', - '\x59', '\x9a', '\x59', '\x94', '\x7f', '\x0d', '\x3e', '\x1d', - '\x00', '\x38', '\xe9', '\x9b', '\x6f', '\x9e', '\x04', '\x00', - '\x00', '\xb0', '\x69', '\x9a', '\x06', '\x93', '\xe1', '\x93', - '\x81', '\x92', '\x7f', '\x0d', '\x26', '\x1d', '\x00', '\x38', - '\xc9', '\x9b', '\x7f', '\x0d', '\xe8', '\x1c', '\x00', '\x38', - '\x70', '\x4a', '\x3f', '\xbd', '\x68', '\x02', '\x00', '\x38', - '\x3f', '\xbd', '\x70', '\x04', '\x00', '\x38', '\x3f', '\xbd', - '\x0c', '\x02', '\x00', '\x38', '\x6a', '\xa6', '\xf7', '\x30', - '\x0f', '\x05', '\x6f', '\x9e', '\x00', '\x01', '\x00', '\x38', - '\x69', '\x9a', '\x7f', '\x0d', '\x22', '\x1d', '\x00', '\x38', - '\xe9', '\x9a', '\x24', '\x80', '\x0f', '\x05', '\x6f', '\x9e', - '\x26', '\x1d', '\x00', '\x38', '\x49', '\x9a', '\xcf', '\x9e', - '\x01', '\x00', '\xd3', '\x20', '\x0f', '\x05', '\x6f', '\xde', - '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', '\x38', '\x93', - '\x41', '\x93', '\xcd', '\x9b', '\xc1', '\xe0', '\x0f', '\x05', - '\x4f', '\x9e', '\x55', '\x00', '\x7f', '\x0d', '\x80', '\x18', - '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', '\x30', '\x00', - '\x00', '\xb0', '\xc9', '\x9b', '\x3e', '\xbe', '\x3f', '\x0d', - '\xc0', '\x05', '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', - '\x3f', '\xbd', '\xa2', '\x03', '\x00', '\x38', '\x6a', '\xa6', - '\x16', '\x20', '\x41', '\x92', '\x3f', '\xbd', '\x34', '\x02', - '\x00', '\x38', '\x6a', '\xa6', '\x0a', '\x30', '\x79', '\x86', - '\x3f', '\xbd', '\x70', '\x04', '\x00', '\x38', '\x79', '\x86', - '\x69', '\xa6', '\x3e', '\x0d', '\x84', '\xe2', '\x6f', '\x9e', - '\x22', '\x00', '\x00', '\xb0', '\x59', '\x9a', '\x59', '\x94', - '\xee', '\x9b', '\x6f', '\xce', '\x3e', '\x1d', '\x00', '\x38', - '\x6c', '\x9a', '\x6e', '\xda', '\xad', '\x96', '\xb9', '\x96', - '\xdf', '\x9c', '\x80', '\x25', '\x0a', '\xd0', '\x0f', '\x05', - '\x6e', '\x9a', '\xec', '\x9b', '\x04', '\xe0', '\x41', '\xa2', - '\x7a', '\x86', '\x7f', '\xb6', '\x04', '\xe2', '\x00', '\x00', - '\x88', '\xe2', '\xfe', '\x1b', '\x6f', '\x9e', '\x8c', '\x00', - '\x00', '\xb0', '\x79', '\x8a', '\x69', '\x9a', '\x7f', '\x0d', - '\x90', '\x00', '\x00', '\xb0', '\xe9', '\x9b', '\x6f', '\x9e', - '\x01', '\x40', '\x8c', '\x00', '\x7f', '\x0d', '\x80', '\x00', - '\x00', '\xb0', '\xe9', '\x9b', '\x6f', '\xce', '\x01', '\x00', - '\x01', '\x40', '\x7f', '\x0d', '\x84', '\x00', '\x00', '\xb0', - '\xec', '\xcb', '\x6f', '\xde', '\x8c', '\x00', '\x01', '\x00', - '\x7f', '\x0d', '\x88', '\x00', '\x00', '\xb0', '\xed', '\xdb', - '\x41', '\x12', '\x7f', '\x0d', '\x94', '\x00', '\x00', '\xb0', - '\xe1', '\x1b', '\x7f', '\x0d', '\xa0', '\x00', '\x00', '\xb0', - '\x70', '\x8a', '\x5f', '\x9c', '\x02', '\x01', '\x7f', '\x0d', - '\x9c', '\x00', '\x00', '\xb0', '\xe9', '\x9b', '\x43', '\xc2', - '\x7f', '\x0d', '\x98', '\x00', '\x00', '\xb0', '\xec', '\xcb', - '\x44', '\xd2', '\x7f', '\x0d', '\xd0', '\x01', '\x00', '\xb0', - '\xcd', '\xdb', '\x6f', '\x0e', '\xd4', '\x01', '\x00', '\xb0', - '\xc0', '\xdb', '\x6f', '\xbe', '\xa4', '\x1c', '\x00', '\x38', - '\x6b', '\x96', '\x4f', '\xcc', '\x26', '\x00', '\xd9', '\xcf', - '\x79', '\x4a', '\x6f', '\xde', '\xda', '\x1c', '\x00', '\x38', - '\x04', '\xb1', '\xed', '\xdb', '\x6f', '\x9e', '\xfc', '\x1c', - '\x00', '\x38', '\x08', '\xb1', '\xe9', '\x9b', '\x6d', '\x96', - '\x5f', '\xce', '\xdc', '\x05', '\xd9', '\xcf', '\x47', '\xc2', - '\xd9', '\xcb', '\x6f', '\x9e', '\x04', '\x01', '\x00', '\x38', - '\x69', '\x9a', '\x08', '\xd1', '\xe9', '\x9b', '\x6f', '\xce', - '\xba', '\x1c', '\x00', '\x38', '\x6f', '\x9e', '\x00', '\x8c', - '\x40', '\x02', '\x79', '\x67', '\x6c', '\xd6', '\xed', '\x9f', - '\x5f', '\x9e', '\x00', '\x01', '\x79', '\x27', '\xdd', '\x9b', - '\x6c', '\xa6', '\x86', '\xa2', '\x4f', '\x9c', '\x40', '\x00', - '\x79', '\x27', '\x06', '\xc1', '\xd9', '\x9b', '\x6f', '\x9e', - '\x00', '\x03', '\xaa', '\xaa', '\x79', '\x67', '\x08', '\xc1', - '\xe9', '\x9b', '\x6f', '\x9e', '\x56', '\x88', '\x8c', '\x40', - '\x79', '\x67', '\x0c', '\xc1', '\xe9', '\x9b', '\x7e', '\x92', - '\x79', '\x67', '\x10', '\xc1', '\xe9', '\x9b', '\x14', '\xc1', - '\x70', '\x8a', '\x18', '\xc1', '\x70', '\x8a', '\x6f', '\xde', - '\x2e', '\x1d', '\x00', '\x38', '\x6d', '\x96', '\x4f', '\xcc', - '\x26', '\x00', '\xd9', '\xcf', '\x47', '\xc2', '\xd9', '\xcb', - '\x08', '\xd1', '\xea', '\xab', '\x7f', '\x0d', '\xea', '\x1c', - '\x00', '\x38', '\x70', '\x0a', '\x7f', '\x0d', '\x2a', '\x1d', - '\x00', '\x38', '\x70', '\x8a', '\x7f', '\x0d', '\xa4', '\x01', - '\x00', '\xb0', '\xeb', '\xbb', '\xc0', '\x1b', '\x7f', '\xb6', - '\xbe', '\x1f', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xfe', '\x0b', '\x6f', '\x0e', '\xda', '\x1c', '\x00', '\x38', - '\x0e', '\x01', '\x5d', '\x9e', '\x81', '\x93', '\xb4', '\xa0', - '\x7a', '\x86', '\x7d', '\x4a', '\x6f', '\x9e', '\xa4', '\x1c', - '\x00', '\x38', '\x7f', '\x0d', '\xa4', '\x01', '\x00', '\xb0', - '\xe9', '\x9b', '\x6f', '\xde', '\x16', '\x1d', '\x00', '\x38', - '\x6d', '\xda', '\x7d', '\x67', '\x6f', '\x9e', '\x2a', '\x1d', - '\x00', '\x38', '\x69', '\x9a', '\x01', '\x92', '\xe9', '\xd6', - '\x8a', '\x20', '\x41', '\xa2', '\x41', '\x92', '\x7f', '\x0d', - '\x26', '\x1d', '\x00', '\x38', '\xc9', '\x9b', '\x6f', '\x9e', - '\x20', '\x00', '\x00', '\xb0', '\x69', '\x9a', '\xf0', '\x93', - '\x7f', '\x0d', '\x3e', '\x1d', '\x00', '\x38', '\xe9', '\x9b', - '\x6f', '\xae', '\x22', '\x1d', '\x00', '\x38', '\x0c', '\x01', - '\x5b', '\xb8', '\x6a', '\xda', '\x2b', '\xd6', '\x84', '\xd2', - '\xea', '\xdb', '\x08', '\x01', '\x6c', '\x9e', '\x2b', '\x96', - '\x84', '\x92', '\xec', '\x9b', '\x60', '\xc6', '\x6f', '\xbe', - '\x00', '\x01', '\x00', '\x38', '\x6b', '\x9a', '\xad', '\x96', - '\x84', '\x92', '\xdf', '\x9c', '\xdb', '\x05', '\x0a', '\x90', - '\x0f', '\x05', '\x6b', '\x9a', '\x9a', '\x9a', '\x06', '\xe0', - '\x04', '\x92', '\x5f', '\x9e', '\xdc', '\x05', '\xdc', '\x9b', - '\x6f', '\xce', '\xda', '\x1c', '\x00', '\x38', '\x5c', '\xda', - '\x5d', '\x94', '\x26', '\x92', '\xcf', '\x9c', '\x3f', '\x00', - '\x04', '\x90', '\x0f', '\x05', '\x5a', '\xd2', '\xdc', '\xdb', - '\x6f', '\xde', '\x2a', '\x1d', '\x00', '\x38', '\x6d', '\x9a', - '\x01', '\x92', '\xed', '\x9b', '\x3f', '\xbd', '\x70', '\x04', - '\x00', '\x38', '\x41', '\xa2', '\xbe', '\x0f', '\x3e', '\x0d', - '\x6f', '\x9e', '\xea', '\x1c', '\x00', '\x38', '\x89', '\x0b', - '\x44', '\x20', '\x41', '\xc2', '\xc9', '\xcb', '\x6f', '\x9e', - '\x04', '\x00', '\x00', '\xb0', '\x69', '\x9a', '\x06', '\x93', - '\xc4', '\x92', '\x1e', '\x20', '\x0f', '\x05', '\x6f', '\x9e', - '\xb4', '\x1c', '\x00', '\x38', '\x6f', '\xde', '\xdc', '\x00', - '\x00', '\x38', '\x6d', '\xda', '\xe9', '\xdf', '\x6f', '\xce', - '\xe0', '\x00', '\x00', '\x38', '\x5c', '\xca', '\x16', '\xe0', - '\xd9', '\xcb', '\x6f', '\xde', '\xb4', '\x1c', '\x00', '\x38', - '\x6f', '\x9e', '\x02', '\x1d', '\x00', '\x38', '\x69', '\xce', - '\xed', '\xcf', '\x59', '\x9a', '\xdd', '\x9b', '\x6f', '\xde', - '\xb4', '\x1c', '\x00', '\x38', '\x6f', '\x9e', '\x2a', '\x1d', - '\x00', '\x38', '\x69', '\x9a', '\x79', '\x67', '\x1a', '\xd1', - '\xe9', '\x9b', '\x42', '\x92', '\x79', '\x67', '\x1e', '\xd1', - '\xe9', '\x9b', '\x6f', '\x9e', '\x2e', '\x1d', '\x00', '\x38', - '\x47', '\xd2', '\x02', '\x91', '\xdd', '\xdb', '\x4f', '\xcc', - '\x26', '\x00', '\xd9', '\xcb', '\x3f', '\x0d', '\xf2', '\x04', - '\x00', '\x38', '\x6f', '\x9e', '\x2e', '\x1d', '\x00', '\x38', - '\x7f', '\x0d', '\xa0', '\x01', '\x00', '\xb0', '\xe9', '\x9b', - '\x41', '\x92', '\x7f', '\x0d', '\xd0', '\x01', '\x00', '\xb0', - '\xc9', '\x9b', '\x6f', '\x9e', '\xa0', '\x01', '\x00', '\xb0', - '\x69', '\x9a', '\xf7', '\x20', '\x0f', '\x05', '\x7f', '\xb6', - '\x0f', '\x05', '\x6f', '\x9e', '\x2e', '\x1d', '\x00', '\x38', - '\x6f', '\xce', '\xec', '\x1c', '\x00', '\x38', '\x04', '\x91', - '\xec', '\xcb', '\x02', '\x91', '\x70', '\x4a', '\x8a', '\x0b', - '\x0c', '\x30', '\x7d', '\x86', '\x01', '\xd2', '\x4a', '\xd5', - '\x80', '\x0b', '\xf9', '\x20', '\x0f', '\x05', '\x7f', '\x0d', - '\xd2', '\x1c', '\x00', '\x38', '\x70', '\x8a', '\x6f', '\x9e', - '\xec', '\x1c', '\x00', '\x38', '\x47', '\xc2', '\x02', '\x91', - '\xdc', '\xcb', '\x08', '\x91', '\xea', '\xab', '\x01', '\xd2', - '\xd9', '\xdb', '\x3f', '\x0d', '\xf2', '\x04', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', '\xee', '\xab', - '\x6f', '\x9e', '\x2e', '\x1d', '\x00', '\x38', '\x6f', '\xde', - '\xec', '\x1c', '\x00', '\x38', '\x04', '\x91', '\xed', '\xdb', - '\x02', '\x91', '\x70', '\x4a', '\x4b', '\xb6', '\x04', '\x20', - '\x46', '\x92', '\x45', '\x92', '\x79', '\x67', '\x7f', '\x0d', - '\xd2', '\x1c', '\x00', '\x38', '\xe9', '\x9b', '\x79', '\x86', - '\x01', '\x92', '\xdf', '\x9c', '\x00', '\x40', '\xf9', '\x20', - '\x0f', '\x05', '\x6e', '\x9a', '\x79', '\x67', '\xee', '\x9b', - '\x6f', '\x9e', '\xec', '\x1c', '\x00', '\x38', '\x47', '\xd2', - '\x02', '\x91', '\xdd', '\xdb', '\x08', '\x91', '\xee', '\xeb', - '\x44', '\xd2', '\xd9', '\xdb', '\x3f', '\xbd', '\xf2', '\x04', - '\x00', '\x38', '\x04', '\xe2', '\x3e', '\x0d', '\x00', '\x00', - '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', '\xfe', '\x0b', - '\x4f', '\x9e', '\xaa', '\xff', '\x7f', '\x0d', '\x80', '\x18', - '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', '\x30', '\x00', - '\x00', '\xb0', '\xc9', '\x9b', '\x6f', '\x0e', '\x1a', '\x05', - '\x00', '\x38', '\x6f', '\xae', '\x84', '\x18', '\x00', '\x38', - '\xb0', '\xb9', '\x6f', '\xae', '\xd6', '\x1c', '\x00', '\x38', - '\x6a', '\xaa', '\x7a', '\x67', '\x41', '\xb2', '\x3f', '\xbd', - '\x60', '\x05', '\x00', '\x38', '\x6f', '\xae', '\x50', '\x1c', - '\x00', '\x38', '\xb0', '\xb9', '\x6f', '\x9e', '\xf0', '\x00', - '\x00', '\x38', '\xef', '\x9e', '\x96', '\x1c', '\x00', '\x38', - '\x0e', '\x30', '\x70', '\x86', '\x09', '\x0c', '\xef', '\x9e', - '\x96', '\x1c', '\x00', '\x38', '\xf7', '\x20', '\x0f', '\x05', - '\x6f', '\xae', '\x96', '\x18', '\x00', '\x38', '\x3f', '\xbd', - '\x1a', '\x05', '\x00', '\x38', '\x60', '\xa6', '\x41', '\xb2', - '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', '\x3f', '\xbd', - '\x88', '\x06', '\x00', '\x38', '\x3f', '\x0d', '\x28', '\x01', - '\x00', '\x38', '\xbe', '\x0f', '\x3e', '\x0d', '\x84', '\xe2', - '\x4f', '\x9e', '\x55', '\x00', '\x7f', '\x0d', '\x80', '\x18', - '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', '\x30', '\x00', - '\x00', '\xb0', '\xc9', '\x9b', '\x6f', '\x9e', '\x30', '\x00', - '\x00', '\xb0', '\x69', '\xda', '\x7d', '\x87', '\x7f', '\x0d', - '\x80', '\x18', '\x00', '\x38', '\xcd', '\xdb', '\xc9', '\xdb', - '\x7e', '\x8a', '\x6e', '\x9a', '\xef', '\x9e', '\x80', '\x84', - '\x1e', '\x00', '\xe1', '\x30', '\x0f', '\x05', '\x6e', '\x9a', - '\x01', '\x92', '\xee', '\x9b', '\xed', '\xe0', '\x0f', '\x05', - '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', '\xfe', '\x0b', - '\x6f', '\x0e', '\x1a', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\xb2', '\x18', '\x00', '\x38', '\xb0', '\xb9', '\x3f', '\xbd', - '\x70', '\x04', '\x00', '\x38', '\x6f', '\xae', '\x00', '\x1f', - '\x00', '\x38', '\x5f', '\xbc', '\xec', '\x01', '\x3f', '\xbd', - '\x06', '\x0a', '\x00', '\x38', '\x6f', '\xae', '\xcc', '\x18', - '\x00', '\x38', '\xb0', '\xb9', '\x3f', '\xbd', '\xcc', '\x06', - '\x00', '\x38', '\xbe', '\x0f', '\x3e', '\xbe', '\x3f', '\x0d', - '\x46', '\x06', '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', - '\x98', '\xe2', '\xfe', '\x4b', '\x6f', '\xde', '\x00', '\x1f', - '\x00', '\x38', '\x6d', '\x9a', '\x79', '\x67', '\xed', '\x9f', - '\xef', '\xde', '\xec', '\x20', '\x00', '\x38', '\xf3', '\x20', - '\x0f', '\x05', '\x6f', '\x3e', '\x00', '\x1f', '\x00', '\x38', - '\xa3', '\x0b', '\xff', '\x3d', '\xfe', '\x02', '\x0f', '\x05', - '\x63', '\x9a', '\x81', '\x92', '\xcf', '\x9d', '\x0b', '\x00', - '\x5f', '\x95', '\x3f', '\xf8', '\x54', '\x02', '\x22', '\x01', - '\x18', '\x00', '\x62', '\x00', '\x90', '\x00', '\x96', '\x01', - '\xc8', '\x01', '\xe4', '\x00', '\x00', '\x02', '\xb8', '\x00', - '\x9a', '\x02', '\xce', '\x02', '\x6f', '\xae', '\xde', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x6f', '\x0e', '\x60', '\x05', '\x00', '\x38', '\x04', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x6f', '\x0e', - '\x2a', '\x1d', '\x00', '\x38', '\x60', '\x9a', '\x81', '\x92', - '\xe0', '\x9b', '\x3f', '\xbd', '\x70', '\x04', '\x00', '\x38', - '\x60', '\x9a', '\x01', '\x92', '\xe0', '\x9b', '\x62', '\xaa', - '\x61', '\xba', '\x3f', '\xbd', '\x06', '\x0a', '\x00', '\x38', - '\xff', '\xed', '\x88', '\x02', '\x0c', '\x32', '\x6f', '\xae', - '\xec', '\x18', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x6f', '\x0e', '\x60', '\x05', '\x00', '\x38', - '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x61', '\x1a', '\x72', '\x09', '\xe1', '\x1b', '\xff', '\xed', - '\x5a', '\x02', '\x0c', '\x32', '\x6f', '\xae', '\xfc', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x6f', '\x1e', '\x60', '\x05', '\x00', '\x38', '\x04', '\x31', - '\x60', '\xae', '\x41', '\xb2', '\xb1', '\xb9', '\x60', '\xaa', - '\x6a', '\xaa', '\x41', '\xb2', '\xb1', '\xb9', '\xff', '\xed', - '\x32', '\x02', '\x08', '\x32', '\x6f', '\xae', '\x0c', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x04', '\x31', '\x60', '\xae', '\x41', '\xb2', '\x3f', '\xbd', - '\x60', '\x05', '\x00', '\x38', '\x60', '\xaa', '\xff', '\x3d', - '\xc0', '\x01', '\x0f', '\x05', '\x81', '\xa2', '\xfd', '\x20', - '\x0f', '\x05', '\xff', '\xed', '\x06', '\x02', '\x08', '\x32', - '\x6f', '\x4e', '\x1a', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x1a', '\x19', '\x00', '\x38', '\xb4', '\xb9', '\x6f', '\x0e', - '\x60', '\x05', '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x62', '\x2a', '\x62', '\x2a', - '\xe1', '\x2a', '\xff', '\x3d', '\xb8', '\x01', '\x0f', '\x05', - '\x6f', '\xae', '\x28', '\x19', '\x00', '\x38', '\xb4', '\xb9', - '\xff', '\xed', '\xd0', '\x01', '\x0f', '\x05', '\x6f', '\x4e', - '\x1a', '\x05', '\x00', '\x38', '\x6f', '\xae', '\x38', '\x19', - '\x00', '\x38', '\xb4', '\xb9', '\x6f', '\x2e', '\x60', '\x05', - '\x00', '\x38', '\x04', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb2', '\xb9', '\x08', '\x31', '\x60', '\xae', '\x41', '\xb2', - '\xb2', '\xb9', '\x61', '\xaa', '\x60', '\xba', '\x6e', '\xc6', - '\x14', '\xc2', '\x3f', '\xbd', '\x04', '\x0b', '\x00', '\x38', - '\x6a', '\xa6', '\x30', '\x20', '\x0f', '\x05', '\x6f', '\xae', - '\x44', '\x19', '\x00', '\x38', '\xb4', '\xb9', '\x14', '\xe1', - '\x6a', '\xaa', '\x41', '\xb2', '\xb2', '\xb9', '\x14', '\xe1', - '\x6a', '\xaa', '\x6a', '\xb6', '\x0f', '\xbc', '\x40', '\x00', - '\x8f', '\xac', '\x40', '\x00', '\x3c', '\xa3', '\x3c', '\xb3', - '\x3f', '\xbd', '\xac', '\x0b', '\x00', '\x38', '\xff', '\xed', - '\x6a', '\x01', '\x0f', '\x05', '\x6f', '\xae', '\x60', '\x19', - '\x00', '\x38', '\xb4', '\xb9', '\xff', '\xed', '\x54', '\x01', - '\x0c', '\x32', '\x6f', '\xae', '\x76', '\x19', '\x00', '\x38', - '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', '\x6f', '\x0e', - '\x60', '\x05', '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x62', '\xaa', '\x61', '\xba', - '\x3f', '\xbd', '\xac', '\x0b', '\x00', '\x38', '\xff', '\xed', - '\x22', '\x01', '\x0c', '\x32', '\x6f', '\xae', '\x82', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x6f', '\x0e', '\x60', '\x05', '\x00', '\x38', '\x04', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x62', '\xaa', - '\xe1', '\xaa', '\xda', '\x90', '\x0f', '\x05', '\x7a', '\x0e', - '\x08', '\x31', '\xea', '\xaa', '\xf9', '\x80', '\x0f', '\x05', - '\xea', '\xe0', '\x0c', '\x32', '\x6f', '\xae', '\x8e', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x6f', '\x0e', '\x60', '\x05', '\x00', '\x38', '\x04', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x64', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x0c', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x6f', '\x0e', - '\x4a', '\x15', '\x00', '\x38', '\x61', '\xaa', '\x64', '\xba', - '\x62', '\xca', '\xb0', '\xb9', '\x6a', '\xa6', '\xac', '\x30', - '\x10', '\x32', '\xc3', '\xa2', '\xae', '\x20', '\x7a', '\x86', - '\x62', '\xca', '\xef', '\xcd', '\x00', '\x00', '\x01', '\x00', - '\x64', '\xba', '\xb0', '\xb9', '\x9e', '\xe0', '\x0f', '\x05', - '\x6f', '\xde', '\xb4', '\x1c', '\x00', '\x38', '\x6d', '\x9a', - '\x7f', '\x0d', '\xc0', '\x01', '\x00', '\xb0', '\xe9', '\x9b', - '\x04', '\xd1', '\x59', '\x98', '\x7f', '\x0d', '\xc4', '\x01', - '\x00', '\xb0', '\xe9', '\x9b', '\x6f', '\x1e', '\x1a', '\x05', - '\x00', '\x38', '\x6f', '\xae', '\x96', '\x19', '\x00', '\x38', - '\xb1', '\xb9', '\x04', '\x31', '\x60', '\xae', '\x41', '\xb2', - '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x9e', '\x19', '\x00', '\x38', '\xb1', '\xb9', '\x60', '\x9a', - '\xb9', '\x09', '\x50', '\xe0', '\x08', '\x32', '\x6f', '\xae', - '\x12', '\x19', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x6f', '\x0e', '\x60', '\x05', '\x00', '\x38', - '\x04', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x61', '\x1a', '\x61', '\x9a', '\x08', '\x30', '\x81', '\x92', - '\xe1', '\x9b', '\x20', '\xe0', '\x62', '\x3a', '\x1c', '\xe0', - '\x0c', '\x32', '\x6f', '\xae', '\xa4', '\x19', '\x00', '\x38', - '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', '\x63', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', - '\x0a', '\xe0', '\x0f', '\x05', '\xa3', '\x0b', '\xff', '\x2d', - '\x06', '\xfd', '\x0f', '\x05', '\x6f', '\xae', '\x9e', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\xbe', '\x4f', '\x04', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x8c', '\xe2', '\xfe', '\x2b', '\x6a', '\x26', - '\x6b', '\x06', '\x7f', '\x0d', '\x22', '\x1d', '\x00', '\x38', - '\x70', '\x8a', '\x7f', '\x0d', '\x04', '\x01', '\x00', '\x38', - '\xea', '\xab', '\x6f', '\x9e', '\x26', '\x1d', '\x00', '\x38', - '\x49', '\x9a', '\xcf', '\x9e', '\x01', '\x00', '\x86', '\x20', - '\x0f', '\x05', '\x6f', '\xde', '\xda', '\x1c', '\x00', '\x38', - '\x08', '\xd1', '\xea', '\xab', '\x7f', '\x0d', '\x00', '\x01', - '\x00', '\x38', '\xeb', '\xbb', '\x6b', '\x96', '\x04', '\x92', - '\xdf', '\x9d', '\xdc', '\x05', '\xdd', '\x9b', '\x6f', '\x9e', - '\xa4', '\x01', '\x00', '\xb0', '\x69', '\xda', '\x6f', '\xde', - '\xa4', '\x1c', '\x00', '\x38', '\xe9', '\xdb', '\x6f', '\xde', - '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', '\x38', '\x93', - '\x44', '\x93', '\xcd', '\x9b', '\x6f', '\xde', '\xd4', '\x01', - '\x00', '\xb0', '\x4d', '\x9a', '\x07', '\x93', '\xcf', '\x9e', - '\x04', '\x00', '\xf7', '\x30', '\x0f', '\x05', '\x4d', '\x9a', - '\x38', '\x93', '\x41', '\x93', '\xcd', '\x9b', '\x3f', '\xbd', - '\x0c', '\x02', '\x00', '\x38', '\x6a', '\xa6', '\xf7', '\x30', - '\x0f', '\x05', '\x6f', '\xce', '\x22', '\x1d', '\x00', '\x38', - '\xec', '\x0a', '\x10', '\x80', '\x0f', '\x05', '\x6f', '\xde', - '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', '\x38', '\x93', - '\x41', '\x93', '\xcd', '\x9b', '\xec', '\x0a', '\xd7', '\x90', - '\x71', '\x86', '\x22', '\xe0', '\x62', '\x96', '\x7f', '\x0d', - '\x22', '\x1d', '\x00', '\x38', '\xeb', '\xba', '\x14', '\x80', - '\x71', '\x86', '\x3f', '\xbd', '\x0c', '\x02', '\x00', '\x38', - '\x7f', '\x0d', '\x22', '\x1d', '\x00', '\x38', '\xe0', '\x0a', - '\xf1', '\x90', '\x71', '\x86', '\x62', '\x96', '\x20', '\x96', - '\xe9', '\x26', '\x0e', '\x30', '\x62', '\xd6', '\x0d', '\x1c', - '\x62', '\x96', '\x20', '\x96', '\xe9', '\xd6', '\xf7', '\x20', - '\x0f', '\x05', '\x6f', '\xae', '\xb8', '\x19', '\x00', '\x38', - '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', '\x61', '\xa6', - '\x41', '\xb2', '\xbe', '\x2f', '\x3e', '\xbe', '\x3f', '\x0d', - '\x60', '\x05', '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', - '\x8c', '\xe2', '\xfe', '\x2b', '\x6b', '\x06', '\x6c', '\x26', - '\xeb', '\xa6', '\x40', '\x00', '\x6a', '\xc6', '\xe0', '\xc6', - '\x32', '\x00', '\x71', '\x86', '\x6c', '\xb6', '\x6c', '\x96', - '\x79', '\x87', '\x61', '\xd6', '\xc3', '\xd3', '\xed', '\x97', - '\x49', '\xd6', '\xcb', '\x9b', '\x4b', '\x9a', '\xcd', '\x96', - '\x0c', '\x30', '\x7d', '\x87', '\x6f', '\xae', '\xce', '\x19', - '\x00', '\x38', '\x40', '\xe0', '\xe2', '\xbb', '\xcb', '\xdf', - '\x01', '\x12', '\xc4', '\x12', '\x06', '\x30', '\xe0', '\xb6', - '\xd7', '\x10', '\x6c', '\x96', '\x04', '\xc2', '\xe0', '\xc6', - '\xc5', '\x10', '\x0f', '\x05', '\xe0', '\xa6', '\x4e', '\x00', - '\x6a', '\xc6', '\xe0', '\xc6', '\x40', '\x00', '\x71', '\x86', - '\x6c', '\xa6', '\x61', '\x96', '\xc3', '\x93', '\x6c', '\xd6', - '\xe9', '\xd7', '\x4a', '\x9a', '\xcd', '\x96', '\x22', '\x30', - '\x01', '\x12', '\x81', '\x12', '\xe2', '\xab', '\x6f', '\xae', - '\xec', '\x19', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x62', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x60', '\x05', '\x00', '\x38', '\x7a', '\x86', '\xbe', '\x2f', - '\x3e', '\x0d', '\xc4', '\x12', '\x08', '\x30', '\x01', '\xa2', - '\xe0', '\xa6', '\xc9', '\x10', '\x61', '\x96', '\x04', '\xc2', - '\xe0', '\xc6', '\xb7', '\x10', '\x0f', '\x05', '\x41', '\xa2', - '\xbe', '\x2f', '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', - '\x94', '\xe2', '\xfe', '\x4b', '\x6b', '\x26', '\xeb', '\xa6', - '\x5a', '\x90', '\x6a', '\x06', '\x60', '\xa6', '\x7b', '\x86', - '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x0a', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\xe2', '\x06', '\x2a', '\x90', '\x74', '\x86', - '\x60', '\x16', '\x60', '\x36', '\x6f', '\xae', '\x60', '\x1a', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x63', '\xae', '\x7b', '\x86', '\x3f', '\xbd', '\x60', '\x05', - '\x00', '\x38', '\x01', '\x42', '\xc4', '\x42', '\x08', '\x30', - '\x04', '\x12', '\xe2', '\x16', '\xdf', '\x80', '\x0f', '\x05', - '\x6f', '\xae', '\xc8', '\x18', '\x00', '\x38', '\x3f', '\xbd', - '\x1a', '\x05', '\x00', '\x38', '\x10', '\x02', '\xe2', '\x06', - '\xad', '\x80', '\x60', '\xa6', '\xbe', '\x4f', '\x3e', '\x0d', - '\x05', '\xa1', '\x49', '\x98', '\xc2', '\x92', '\x0a', '\x30', - '\xc4', '\x92', '\x0e', '\x30', '\x0f', '\x05', '\x7f', '\xb6', - '\x7a', '\x86', '\x6a', '\xb9', '\x5a', '\xa8', '\x7f', '\xb6', - '\x0f', '\x05', '\x6a', '\xb9', '\x6a', '\xaa', '\x7f', '\xb6', - '\x0f', '\x05', '\x6a', '\xd6', '\x05', '\xa1', '\x4a', '\xaa', - '\x4a', '\x94', '\xc2', '\x92', '\x0a', '\x30', '\xc4', '\x92', - '\x10', '\x30', '\x0f', '\x05', '\x7f', '\xb6', '\x7a', '\x86', - '\x5c', '\xca', '\x6d', '\xb9', '\xdc', '\xcb', '\x7f', '\xb6', - '\x4a', '\xa4', '\x6c', '\xca', '\x6d', '\xb9', '\xec', '\xcb', - '\x4a', '\xa4', '\x7f', '\xb6', '\x0f', '\x05', '\xfc', '\xe1', - '\x7e', '\xbe', '\x84', '\xe2', '\xee', '\xbb', '\x04', '\xa1', - '\x49', '\x9a', '\xcf', '\x9e', '\x01', '\x00', '\x06', '\x20', - '\x0f', '\x05', '\x24', '\xe0', '\xc1', '\xc3', '\xcf', '\x9e', - '\x02', '\x00', '\x0c', '\x20', '\x6b', '\x96', '\xd0', '\x93', - '\x69', '\xb7', '\xee', '\xbb', '\x12', '\xe0', '\xc2', '\xc3', - '\x6f', '\xae', '\x36', '\x1a', '\x00', '\x38', '\x3f', '\xbd', - '\x1a', '\x05', '\x00', '\x38', '\x0c', '\xe0', '\x0f', '\x05', - '\x6c', '\xb6', '\x6e', '\xc6', '\x3f', '\xbd', '\x3a', '\x0c', - '\x00', '\x38', '\x04', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x84', '\xe2', '\xfe', '\x0b', '\x6a', '\x06', - '\x4f', '\xbc', '\xaa', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\x66', '\x0c', '\x00', '\x38', '\x60', '\xa6', - '\x4f', '\xbc', '\x55', '\x00', '\x5f', '\xcc', '\xaa', '\x02', - '\xbe', '\x0f', '\x3e', '\xbe', '\x3f', '\x0d', '\x66', '\x0c', - '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', '\x90', '\xe2', - '\xfe', '\x3b', '\x6a', '\x26', '\x04', '\xa1', '\x49', '\x9a', - '\xcf', '\x9e', '\x02', '\x00', '\x42', '\x20', '\x6b', '\x36', - '\x6f', '\x0e', '\x18', '\x0c', '\x00', '\x38', '\xb0', '\xb9', - '\x6a', '\x16', '\x62', '\xa6', '\x63', '\xb6', '\xb0', '\xb9', - '\x61', '\xd6', '\xf0', '\xd3', '\x1f', '\xdf', '\x40', '\x00', - '\x6a', '\x96', '\xf0', '\x93', '\x1f', '\x9f', '\x40', '\x00', - '\xe9', '\xd6', '\x14', '\x20', '\x7c', '\x86', '\x2f', '\x1f', - '\x40', '\x00', '\x00', '\x00', '\x2f', '\xaf', '\x40', '\x00', - '\x00', '\x00', '\xea', '\x16', '\x04', '\x30', '\x0f', '\x05', - '\x41', '\xc2', '\x6c', '\xa6', '\xbe', '\x3f', '\x3e', '\x0d', - '\x6f', '\x1e', '\x18', '\x0c', '\x00', '\x38', '\xb1', '\xb9', - '\x4a', '\x04', '\x0f', '\x0f', '\x40', '\x00', '\x62', '\xa6', - '\x63', '\xb6', '\xb1', '\xb9', '\x2f', '\xaf', '\x40', '\x00', - '\x00', '\x00', '\xea', '\x06', '\x3a', '\x25', '\xbe', '\x3f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\xa8', '\xe2', - '\xfe', '\x8b', '\x6a', '\x36', '\x04', '\xa1', '\x44', '\x9e', - '\xcf', '\x9e', '\x02', '\x00', '\x04', '\x20', '\x41', '\x72', - '\x42', '\x72', '\x6f', '\x2e', '\x66', '\x0c', '\x00', '\x38', - '\x4f', '\xbc', '\x98', '\x00', '\x4f', '\xcc', '\x55', '\x00', - '\xb2', '\xb9', '\x50', '\xb2', '\xe7', '\xb4', '\x6f', '\x1e', - '\x18', '\x0c', '\x00', '\x38', '\x63', '\xa6', '\xb1', '\xb9', - '\xcf', '\xae', '\x51', '\x00', '\xff', '\x2d', '\x9c', '\x01', - '\x63', '\xa6', '\x51', '\xb2', '\xe7', '\xb4', '\xb1', '\xb9', - '\xcf', '\xae', '\x52', '\x00', '\xff', '\x2d', '\x8c', '\x01', - '\x63', '\xa6', '\x52', '\xb2', '\xe7', '\xb4', '\xb1', '\xb9', - '\xcf', '\xae', '\x59', '\x00', '\xff', '\x2d', '\x7c', '\x01', - '\x63', '\xa6', '\x24', '\xe1', '\x70', '\x8a', '\x6f', '\xae', - '\x50', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x63', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x60', '\x05', '\x00', '\x38', '\x4f', '\xbc', '\x27', '\x00', - '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', '\x41', '\x92', - '\xea', '\x94', '\x06', '\x32', '\xe3', '\x9b', '\x86', '\x32', - '\x4f', '\xbc', '\x2c', '\x00', '\xe7', '\xb4', '\x63', '\xa6', - '\xb1', '\xb9', '\x6a', '\x86', '\x55', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x06', '\x6a', '\xb6', - '\x04', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\xcf', '\xae', '\x30', '\x00', '\x3e', '\x20', '\x63', '\xa6', - '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\xb2', '\xb9', '\x63', '\xa6', '\x3f', '\xbd', '\xae', '\x0c', - '\x00', '\x38', '\x63', '\xa6', '\x4f', '\xbc', '\x90', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\xb2', '\xb9', '\x44', '\xb8', - '\x2b', '\xb6', '\x63', '\xa6', '\xb1', '\xb9', '\x4a', '\x54', - '\x0f', '\x5f', '\x80', '\xff', '\x63', '\xa6', '\x4f', '\xbc', - '\x98', '\x00', '\x4f', '\xcc', '\x55', '\x00', '\xb2', '\xb9', - '\x10', '\xe0', '\x0f', '\x05', '\x0f', '\x02', '\xe7', '\x04', - '\x60', '\xb6', '\xb1', '\xb9', '\xcf', '\xae', '\x03', '\x00', - '\x35', '\x35', '\x0a', '\x31', '\xd8', '\x8b', '\xc8', '\x82', - '\x12', '\xd0', '\x68', '\x46', '\x6f', '\xae', '\x62', '\x1a', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\xd2', '\xe0', '\x7a', '\x86', '\x65', '\x56', '\x94', '\x20', - '\x81', '\x42', '\x90', '\xe0', '\x74', '\x86', '\xc2', '\x03', - '\x60', '\xb6', '\x2f', '\xb2', '\xe7', '\xb4', '\x6f', '\x1e', - '\x18', '\x0c', '\x00', '\x38', '\x63', '\xa6', '\xb1', '\xb9', - '\x6a', '\x66', '\x60', '\xb6', '\x30', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\xc8', '\xa3', '\x6a', '\x67', - '\xc8', '\x63', '\x60', '\xb6', '\x2d', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x26', '\x2e', '\x02', - '\xe7', '\x04', '\x63', '\xa6', '\x60', '\xb6', '\xb1', '\xb9', - '\xc8', '\xa3', '\x6a', '\x27', '\x65', '\x56', '\x0a', '\x30', - '\x01', '\x22', '\x68', '\x96', '\xa4', '\x96', '\x04', '\xe0', - '\x81', '\x92', '\x64', '\x96', '\x19', '\x95', '\x63', '\xd6', - '\x2d', '\x95', '\x6d', '\x96', '\x24', '\xe1', '\x6d', '\xda', - '\x0c', '\x91', '\xed', '\xdb', '\x10', '\x91', '\xe6', '\x6b', - '\x14', '\x91', '\xe2', '\x2b', '\x62', '\x26', '\x10', '\xd0', - '\x0f', '\x05', '\x24', '\xe1', '\x29', '\x6a', '\x24', '\xe1', - '\xe9', '\x9b', '\x81', '\x22', '\xf5', '\x20', '\x0f', '\x05', - '\x24', '\xe1', '\x6d', '\xda', '\x06', '\x31', '\xed', '\xda', - '\x1e', '\x30', '\x65', '\x56', '\x06', '\x30', '\x01', '\x42', - '\x81', '\x42', '\x81', '\x42', '\x65', '\x56', '\x0c', '\x30', - '\xe8', '\x46', '\x64', '\x46', '\x69', '\xa0', '\x64', '\x06', - '\x08', '\xe0', '\x63', '\xa6', '\x61', '\xb0', '\x64', '\x06', - '\x63', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', - '\x55', '\x05', '\x3f', '\xbd', '\x66', '\x0c', '\x00', '\x38', - '\x12', '\xe0', '\x41', '\xa2', '\x4f', '\xbc', '\xf0', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\x66', '\x0c', - '\x00', '\x38', '\x7a', '\x86', '\xbe', '\x8f', '\x04', '\xe2', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x90', '\xe2', - '\xfe', '\x3b', '\x06', '\xa1', '\xa0', '\x0b', '\xff', '\x2d', - '\x16', '\x04', '\x6a', '\x26', '\x3f', '\xbd', '\x52', '\x0d', - '\x00', '\x38', '\x6a', '\xa6', '\xff', '\x2d', '\x86', '\x03', - '\x41', '\xa2', '\x62', '\xa6', '\x3f', '\xbd', '\xae', '\x0c', - '\x00', '\x38', '\x62', '\xa6', '\x4f', '\xbc', '\x90', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\x66', '\x0c', - '\x00', '\x38', '\x6f', '\x1e', '\x18', '\x0c', '\x00', '\x38', - '\x62', '\xa6', '\x7b', '\x86', '\xb1', '\xb9', '\x6a', '\x36', - '\x04', '\x21', '\x40', '\xbe', '\x4b', '\xb4', '\x2b', '\xb6', - '\x62', '\xa6', '\xb1', '\xb9', '\x42', '\x92', '\xc0', '\x9a', - '\x1c', '\x20', '\x63', '\xc6', '\xf0', '\xc3', '\x53', '\x94', - '\xe9', '\xc6', '\x14', '\x20', '\x63', '\x06', '\x6a', '\xd6', - '\xf0', '\xd3', '\x5a', '\x94', '\xe9', '\xd6', '\x0a', '\x20', - '\xd0', '\x03', '\x6c', '\x36', '\x6d', '\xa6', '\x63', '\x06', - '\xd0', '\x03', '\x6a', '\x07', '\x62', '\xa6', '\x4f', '\xbc', - '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', - '\x66', '\x0c', '\x00', '\x38', '\xef', '\x0e', '\xc0', '\x00', - '\x1f', '\x00', '\xff', '\x3d', '\x48', '\x02', '\x0f', '\x05', - '\x60', '\x90', '\x0f', '\x05', '\xef', '\x0e', '\xc4', '\x22', - '\x01', '\x00', '\xb0', '\x30', '\x0f', '\x05', '\x20', '\x90', - '\x0f', '\x05', '\xef', '\x0e', '\x58', '\x22', '\x01', '\x00', - '\xff', '\x3d', '\x5a', '\x01', '\x0f', '\x05', '\xef', '\x0e', - '\x5b', '\x22', '\x01', '\x00', '\xff', '\x3d', '\x4e', '\x01', - '\x0f', '\x05', '\xff', '\xed', '\xb6', '\x02', '\x0f', '\x05', - '\xef', '\x0e', '\xda', '\x22', '\x01', '\x00', '\xff', '\x3d', - '\x9c', '\x01', '\x0f', '\x05', '\x14', '\x90', '\x0f', '\x05', - '\xef', '\x0e', '\xd6', '\x22', '\x01', '\x00', '\xff', '\x3d', - '\x8c', '\x01', '\x0f', '\x05', '\xff', '\xed', '\x94', '\x02', - '\x0f', '\x05', '\xef', '\x0e', '\x49', '\x22', '\x04', '\x00', - '\xc4', '\x30', '\x0f', '\x05', '\xff', '\xed', '\x84', '\x02', - '\x0f', '\x05', '\xef', '\x0e', '\xd7', '\x00', '\x20', '\x00', - '\xff', '\x3d', '\x6a', '\x01', '\x0f', '\x05', '\x20', '\x90', - '\x0f', '\x05', '\xef', '\x0e', '\xc2', '\x00', '\x1f', '\x00', - '\xff', '\x3d', '\x00', '\x02', '\x0f', '\x05', '\xef', '\x0e', - '\xc9', '\x00', '\x1f', '\x00', '\xff', '\x3d', '\x18', '\x02', - '\x0f', '\x05', '\xff', '\xed', '\x56', '\x02', '\x0f', '\x05', - '\xef', '\x0e', '\x4f', '\x00', '\x98', '\x00', '\xff', '\x3d', - '\x3c', '\x01', '\x0f', '\x05', '\x12', '\x90', '\x0f', '\x05', - '\xef', '\x0e', '\x43', '\x00', '\x98', '\x00', '\x76', '\x30', - '\x0f', '\x05', '\xff', '\xed', '\x36', '\x02', '\x0f', '\x05', - '\xef', '\x0e', '\xc2', '\x00', '\x98', '\x00', '\xff', '\x2d', - '\x2a', '\x02', '\x0f', '\x05', '\x6f', '\x1e', '\x46', '\x1b', - '\x00', '\x38', '\x61', '\x1a', '\x6f', '\xde', '\x00', '\x00', - '\x20', '\x00', '\x06', '\x21', '\xed', '\xdb', '\x0c', '\x21', - '\x70', '\x8a', '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', - '\x10', '\x21', '\xe9', '\x9b', '\x5f', '\xd2', '\x14', '\x21', - '\xed', '\xdb', '\x6f', '\x9e', '\x00', '\x00', '\x1f', '\x00', - '\x18', '\x21', '\xe9', '\x9b', '\x1f', '\xdc', '\xe1', '\x7f', - '\x1c', '\x21', '\xed', '\xdb', '\x41', '\x92', '\x20', '\x21', - '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x80', '\x1f', '\x00', - '\x24', '\x21', '\xed', '\xdb', '\x5f', '\xdc', '\x00', '\x20', - '\x28', '\x21', '\xed', '\xdb', '\x42', '\xd2', '\x2c', '\x21', - '\xed', '\xdb', '\x6f', '\xde', '\x00', '\xc0', '\x1f', '\x00', - '\xff', '\xed', '\x16', '\x01', '\x0f', '\x05', '\x6f', '\x1e', - '\x42', '\x1b', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x5f', '\x9c', '\x00', '\x40', - '\x10', '\x21', '\xe9', '\x9b', '\x41', '\xd2', '\x14', '\x21', - '\xed', '\xdb', '\x18', '\x21', '\xe9', '\x9b', '\x5f', '\x9c', - '\x00', '\x20', '\x1c', '\x21', '\xe9', '\x9b', '\x42', '\x92', - '\x20', '\x21', '\xe9', '\x9b', '\x1f', '\x9c', '\xfe', '\x7f', - '\x24', '\x21', '\xe9', '\x9b', '\x28', '\x21', '\xe9', '\x9b', - '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\x9e', '\x00', '\x00', - '\x01', '\x00', '\x30', '\x21', '\xe9', '\x9b', '\x34', '\x21', - '\xe9', '\x9b', '\x58', '\xe0', '\x5f', '\xd2', '\x6f', '\x1e', - '\x3a', '\x1b', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x10', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x5f', '\x9c', '\x00', '\x40', - '\x10', '\x21', '\xe9', '\x9b', '\x41', '\xd2', '\x14', '\x21', - '\xed', '\xdb', '\x18', '\x21', '\xe9', '\x9b', '\x5f', '\x9c', - '\x00', '\x20', '\x1c', '\x21', '\xe9', '\x9b', '\x42', '\x92', - '\x20', '\x21', '\xe9', '\x9b', '\x1f', '\x9c', '\xfe', '\x7f', - '\x24', '\x21', '\xe9', '\x9b', '\x28', '\x21', '\xe9', '\x9b', - '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\x9e', '\x00', '\x00', - '\x01', '\x00', '\x30', '\x21', '\xe9', '\x9b', '\x34', '\x21', - '\xe9', '\x9b', '\x4f', '\xd2', '\x38', '\x21', '\xed', '\xdb', - '\xff', '\xed', '\x3e', '\x01', '\x0f', '\x05', '\x6f', '\x1e', - '\x3e', '\x1b', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x10', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\xde', '\x00', '\x00', - '\x01', '\x00', '\x10', '\x21', '\xed', '\xdb', '\x4f', '\x92', - '\x14', '\x21', '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x00', - '\x0f', '\x00', '\x18', '\x21', '\xed', '\xdb', '\x1f', '\x9c', - '\xf1', '\x7f', '\x1c', '\x21', '\xe9', '\x9b', '\x41', '\x92', - '\x20', '\x21', '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x80', - '\x0f', '\x00', '\x24', '\x21', '\xed', '\xdb', '\x5f', '\xdc', - '\x00', '\x20', '\x28', '\x21', '\xed', '\xdb', '\x42', '\xd2', - '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\xde', '\x00', '\xc0', - '\x0f', '\x00', '\x30', '\x21', '\xed', '\xdb', '\x5f', '\xdc', - '\x00', '\x40', '\x34', '\x21', '\xed', '\xdb', '\x38', '\x21', - '\xe9', '\x9b', '\xce', '\xe0', '\x0f', '\x05', '\x6f', '\x1e', - '\x42', '\x1b', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x5f', '\xdc', '\x00', '\x20', - '\x10', '\x21', '\xed', '\xdb', '\x48', '\x92', '\x14', '\x21', - '\xe9', '\x9b', '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', - '\x18', '\x21', '\xe9', '\x9b', '\x1c', '\x21', '\xe9', '\x9b', - '\x62', '\xe0', '\x5f', '\xd2', '\x6f', '\x1e', '\x46', '\x1b', - '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', - '\x20', '\x00', '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', - '\x70', '\x8a', '\x6f', '\xde', '\x00', '\x00', '\x01', '\x00', - '\x10', '\x21', '\xed', '\xdb', '\x26', '\xe0', '\x5f', '\x92', - '\x6f', '\x1e', '\x4a', '\x1b', '\x00', '\x38', '\x61', '\x1a', - '\x6f', '\x9e', '\x00', '\x00', '\x40', '\x00', '\x06', '\x21', - '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\xde', - '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', '\xed', '\xdb', - '\x4f', '\x9c', '\x3f', '\x00', '\x14', '\x21', '\xe9', '\x9b', - '\x6f', '\xde', '\x00', '\x00', '\x1f', '\x00', '\x18', '\x21', - '\xed', '\xdb', '\x5f', '\x9c', '\x00', '\x20', '\x1c', '\x21', - '\xe9', '\x9b', '\x48', '\xd2', '\x20', '\x21', '\xed', '\xdb', - '\x30', '\xe0', '\x0f', '\x05', '\x04', '\x21', '\x49', '\x9a', - '\x6f', '\xae', '\x7e', '\x1a', '\x00', '\x38', '\xcf', '\x9e', - '\x01', '\x00', '\x08', '\x30', '\x0f', '\x05', '\x6f', '\xae', - '\x90', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x62', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x60', '\x05', '\x00', '\x38', '\x7a', '\x86', '\xbe', '\x3f', - '\x3e', '\x0d', '\x6f', '\x3e', '\x1a', '\x05', '\x00', '\x38', - '\x6f', '\xae', '\xa8', '\x1a', '\x00', '\x38', '\xb3', '\xb9', - '\x04', '\x21', '\x40', '\x9e', '\xcf', '\x9e', '\x01', '\x00', - '\x0c', '\x20', '\x42', '\xd2', '\x6f', '\xae', '\xb0', '\x1a', - '\x00', '\x38', '\xb3', '\xb9', '\x42', '\xd2', '\xc0', '\xda', - '\x32', '\x20', '\x47', '\xc2', '\x06', '\x21', '\x6d', '\x9e', - '\xc1', '\x93', '\xed', '\x9b', '\x62', '\xd6', '\x0c', '\xd1', - '\x69', '\x9a', '\xc1', '\x93', '\x0c', '\xd1', '\xe9', '\x9b', - '\x10', '\xd1', '\x69', '\x9a', '\xc1', '\x93', '\x10', '\xd1', - '\xe9', '\x9b', '\x81', '\xc2', '\xe9', '\x60', '\x0c', '\xd2', - '\x6f', '\xae', '\xb2', '\x1a', '\x00', '\x38', '\x3f', '\xbd', - '\x1a', '\x05', '\x00', '\x38', '\x6f', '\x0e', '\x1a', '\x05', - '\x00', '\x38', '\x6f', '\xae', '\xb4', '\x1a', '\x00', '\x38', - '\xb0', '\xb9', '\x61', '\xa6', '\xb0', '\xb9', '\x6f', '\xae', - '\xe6', '\x19', '\x00', '\x38', '\xb0', '\xb9', '\x62', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', - '\x41', '\xa2', '\xbe', '\x3f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x8c', '\xe2', '\xfe', '\x2b', '\x6a', '\x16', - '\x6b', '\x26', '\x6f', '\x0e', '\xae', '\x0c', '\x00', '\x38', - '\xb0', '\xb9', '\x61', '\xa6', '\x4f', '\xbc', '\x80', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\x66', '\x0c', - '\x00', '\x38', '\x61', '\xa6', '\xb0', '\xb9', '\x04', '\x11', - '\x49', '\x9a', '\xcf', '\x9e', '\x02', '\x00', '\x10', '\x20', - '\x0f', '\x05', '\x6f', '\x9e', '\x30', '\x00', '\x30', '\x00', - '\x61', '\x29', '\xe9', '\x9b', '\xbe', '\x2f', '\x3e', '\x0d', - '\x4f', '\x9c', '\x30', '\x00', '\x61', '\x29', '\xd9', '\x9b', - '\xbe', '\x2f', '\x3e', '\x0d', '\x84', '\xe2', '\xfe', '\x0b', - '\x06', '\xa1', '\xeb', '\xba', '\x10', '\x10', '\x0f', '\x05', - '\x7a', '\x86', '\x7f', '\xb6', '\xbe', '\x0f', '\x10', '\xa1', - '\x6a', '\xaa', '\x7f', '\xb6', '\xbe', '\x0f', '\x70', '\x86', - '\x0c', '\xa1', '\xeb', '\xba', '\x22', '\x10', '\x7d', '\x86', - '\x14', '\xa1', '\xed', '\xda', '\x10', '\x00', '\x79', '\x86', - '\x10', '\xa1', '\x6c', '\xca', '\x01', '\x92', '\x14', '\xa1', - '\xe9', '\x9a', '\xf9', '\x10', '\x2c', '\xd6', '\x0c', '\xa1', - '\x29', '\xda', '\xe9', '\xb6', '\xd1', '\x10', '\x0f', '\x05', - '\x01', '\x02', '\xc7', '\x02', '\xd3', '\x80', '\x0c', '\xa2', - '\x7a', '\x86', '\x7f', '\xb6', '\xbe', '\x0f', '\x84', '\xe2', - '\xfe', '\x0b', '\x6a', '\x06', '\x6b', '\xa6', '\x6d', '\xb6', - '\x7d', '\x86', '\xeb', '\xd6', '\x48', '\xa0', '\x0f', '\x05', - '\x60', '\x9a', '\x2d', '\x96', '\x49', '\xa5', '\x59', '\x9a', - '\x4c', '\xd5', '\xd9', '\x9a', '\x32', '\x30', '\x02', '\xd2', - '\x82', '\xd2', '\x6b', '\x96', '\x2a', '\x96', '\xe9', '\xa6', - '\x20', '\x00', '\x6a', '\xc6', '\x60', '\xc9', '\x59', '\x9a', - '\xdf', '\x9e', '\xff', '\xff', '\x0a', '\x30', '\x02', '\xc2', - '\x82', '\xc2', '\x42', '\xa2', '\x7f', '\xb6', '\xbe', '\x0f', - '\x6b', '\x96', '\x2a', '\x96', '\xe9', '\xc6', '\xe5', '\x10', - '\x0f', '\x05', '\x41', '\xa2', '\x7f', '\xb6', '\xbe', '\x0f', - '\xeb', '\xd6', '\xbd', '\xb0', '\x0f', '\x05', '\x7a', '\x86', - '\x7f', '\xb6', '\xbe', '\x0f', '\xfc', '\xe1', '\x7e', '\xbe', - '\x90', '\xe2', '\xfe', '\x3b', '\x73', '\x86', '\x72', '\x86', - '\x6f', '\x0e', '\x4e', '\x1b', '\x00', '\x38', '\x41', '\x12', - '\x04', '\x01', '\xc1', '\x1b', '\xcf', '\x1e', '\x01', '\x00', - '\x04', '\x30', '\x42', '\x92', '\x44', '\x92', '\x05', '\x01', - '\xc9', '\x9b', '\x60', '\xa6', '\x3f', '\xbd', '\x42', '\x0f', - '\x00', '\x38', '\x6a', '\xa6', '\x0c', '\x20', '\x0f', '\x05', - '\xc1', '\x13', '\xcf', '\x1e', '\x03', '\x00', '\xd9', '\x80', - '\x0f', '\x05', '\x06', '\x01', '\x23', '\x3a', '\x0f', '\x0c', - '\x6c', '\x00', '\x01', '\x22', '\xc1', '\x22', '\xc7', '\x80', - '\x63', '\xa6', '\xbe', '\x3f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x98', '\xe2', '\xfe', '\x5b', '\x6a', '\x16', - '\x6b', '\x56', '\x6c', '\x36', '\x70', '\x86', '\xed', '\x06', - '\x74', '\xa0', '\x6d', '\x46', '\x05', '\x11', '\x49', '\x9a', - '\xcf', '\x9e', '\x02', '\x00', '\x12', '\x20', '\x0f', '\x05', - '\x43', '\x05', '\x59', '\x9a', '\xdf', '\x9e', '\xff', '\xff', - '\x54', '\x30', '\x42', '\x22', '\x05', '\x11', '\x49', '\x9a', - '\xcf', '\x9e', '\x04', '\x00', '\x0e', '\x20', '\x61', '\xa6', - '\x43', '\x05', '\x69', '\x9a', '\xff', '\x92', '\x3e', '\x30', - '\x44', '\x22', '\x61', '\xa6', '\x3f', '\xbd', '\xae', '\x0c', - '\x00', '\x38', '\x61', '\xa6', '\x4f', '\xbc', '\xa0', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\x66', '\x0c', - '\x00', '\x38', '\x65', '\xb6', '\x20', '\xb6', '\x63', '\xc6', - '\x20', '\xc6', '\x61', '\xa6', '\x3f', '\xbd', '\x3a', '\x0c', - '\x00', '\x38', '\x6a', '\x26', '\x61', '\xa6', '\x65', '\xb6', - '\x20', '\xb6', '\x3f', '\xbd', '\xda', '\x0c', '\x00', '\x38', - '\x6a', '\xa6', '\xf3', '\x20', '\x61', '\xa6', '\x22', '\x06', - '\xe4', '\x06', '\x91', '\xb0', '\x0f', '\x05', '\xbe', '\x5f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\xa4', '\xe2', - '\xfe', '\x8b', '\x6a', '\x16', '\x6b', '\x06', '\x6c', '\x86', - '\x3f', '\xbd', '\x6c', '\x14', '\x00', '\x38', '\x6a', '\x96', - '\x1a', '\x30', '\x41', '\xa2', '\x60', '\xd6', '\x28', '\xd6', - '\xe9', '\xd6', '\x14', '\x80', '\x0f', '\x05', '\x6f', '\xae', - '\xb8', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x42', '\xa2', '\xbe', '\x8f', '\x3e', '\x0d', - '\x6f', '\xce', '\x54', '\x1b', '\x00', '\x38', '\x6c', '\xca', - '\xec', '\x06', '\x1e', '\x10', '\xec', '\xd6', '\x6f', '\x9e', - '\x26', '\x1c', '\x00', '\x38', '\x09', '\x91', '\x70', '\x8a', - '\x16', '\x91', '\xe1', '\x1b', '\xac', '\x06', '\x1a', '\x91', - '\xe0', '\x0b', '\x1e', '\x91', '\xe8', '\x8b', '\x74', '\xe0', - '\x0f', '\x05', '\x5a', '\x80', '\x6c', '\x96', '\x6f', '\xde', - '\x26', '\x1c', '\x00', '\x38', '\x01', '\xd1', '\xe1', '\x1b', - '\x05', '\xd1', '\xe0', '\x0b', '\xa0', '\x96', '\x09', '\xd1', - '\xe9', '\x9b', '\x29', '\x16', '\x16', '\xd1', '\xe1', '\x1b', - '\x1a', '\xd1', '\x70', '\x8a', '\x68', '\xc6', '\xa9', '\xc6', - '\x1e', '\xd1', '\xec', '\xcb', '\x46', '\xe0', '\x0f', '\x05', - '\x6f', '\xae', '\xd4', '\x1a', '\x00', '\x38', '\x3f', '\xbd', - '\x1a', '\x05', '\x00', '\x38', '\x44', '\xa2', '\xbe', '\x8f', - '\x3e', '\x0d', '\x6f', '\xae', '\xe8', '\x1a', '\x00', '\x38', - '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', '\x60', '\xa6', - '\x41', '\xb2', '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', - '\x43', '\xa2', '\xbe', '\x8f', '\x3e', '\x0d', '\x6f', '\x9e', - '\x26', '\x1c', '\x00', '\x38', '\x01', '\x91', '\xe1', '\x1b', - '\x05', '\x91', '\xe0', '\x0b', '\x09', '\x91', '\xe8', '\x8b', - '\x1e', '\x91', '\x70', '\x8a', '\x6f', '\xce', '\x26', '\x1c', - '\x00', '\x38', '\x7c', '\x0a', '\x0d', '\xc1', '\x70', '\x8a', - '\x11', '\xc1', '\x70', '\x8a', '\x15', '\xc1', '\x79', '\x0e', - '\x7f', '\x0d', '\x48', '\x1c', '\x00', '\x38', '\x70', '\x8a', - '\x7f', '\x0d', '\x4c', '\x1c', '\x00', '\x38', '\x70', '\x8a', - '\x0d', '\x91', '\xe8', '\x8a', '\xff', '\x8d', '\xc0', '\x01', - '\x75', '\x86', '\x65', '\x56', '\x04', '\x20', '\x6c', '\xd6', - '\x15', '\xd2', '\x65', '\x96', '\x29', '\x55', '\x65', '\x36', - '\x23', '\x95', '\x09', '\xd1', '\x69', '\x9a', '\x24', '\x30', - '\x2c', '\x36', '\x0d', '\xd1', '\xe9', '\x9a', '\x1c', '\x80', - '\x0f', '\x05', '\x09', '\x31', '\x69', '\x9a', '\x10', '\x30', - '\x0f', '\x05', '\x83', '\x0b', '\x0a', '\x20', '\x0f', '\x05', - '\x0d', '\x31', '\xe9', '\x9a', '\x06', '\x20', '\x0f', '\x05', - '\x65', '\x56', '\x35', '\x35', '\x11', '\x31', '\x63', '\x3a', - '\xca', '\x32', '\x4d', '\x90', '\x65', '\x96', '\x29', '\x55', - '\x65', '\x36', '\x23', '\x95', '\x2f', '\x3e', '\x26', '\x1c', - '\x00', '\x38', '\x05', '\x31', '\x64', '\x4a', '\x0d', '\x31', - '\x69', '\x9a', '\x29', '\x46', '\x01', '\x31', '\x27', '\x9a', - '\x65', '\xa6', '\xc3', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\x2f', '\xae', '\x4e', '\x1b', - '\x00', '\x38', '\x64', '\xb6', '\x3f', '\xbd', '\xbc', '\x13', - '\x00', '\x38', '\x83', '\x0b', '\x24', '\x30', '\x6a', '\x66', - '\x65', '\xa6', '\xc3', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\x2f', '\xae', '\x4e', '\x1b', - '\x00', '\x38', '\x64', '\xb6', '\x3f', '\xbd', '\xda', '\x0c', - '\x00', '\x38', '\x6a', '\xa6', '\xe5', '\x20', '\x65', '\xa6', - '\x73', '\x0a', '\x65', '\x26', '\xc3', '\x23', '\xa5', '\x26', - '\xc2', '\x23', '\xa5', '\x26', '\xc2', '\x23', '\x2f', '\x2e', - '\x4e', '\x1b', '\x00', '\x38', '\x62', '\xa6', '\x4f', '\xbc', - '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', - '\x66', '\x0c', '\x00', '\x38', '\x62', '\xa6', '\x64', '\xb6', - '\x67', '\xc6', '\x66', '\xd6', '\x3f', '\xbd', '\x0e', '\x14', - '\x00', '\x38', '\x4a', '\xa6', '\x28', '\x20', '\x7b', '\x86', - '\x0d', '\x31', '\x69', '\xde', '\x26', '\xd6', '\xe9', '\xdb', - '\x11', '\x31', '\x70', '\x8a', '\x62', '\xaa', '\x24', '\xa6', - '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\xf2', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\xaa', '\xe0', '\x0f', '\x05', '\xcf', '\xae', - '\x01', '\x00', '\x4c', '\x30', '\x0f', '\x05', '\xcf', '\xae', - '\x02', '\x00', '\x46', '\x20', '\x65', '\xa6', '\x62', '\xaa', - '\x24', '\xa6', '\x6f', '\x1e', '\x60', '\x05', '\x00', '\x38', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\x0e', '\x1a', '\x05', - '\x00', '\x38', '\x6f', '\xae', '\x06', '\x1b', '\x00', '\x38', - '\xb0', '\xb9', '\x66', '\xa6', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\xae', '\x12', '\x1b', '\x00', '\x38', '\xb0', '\xb9', - '\x62', '\xa6', '\x64', '\xb6', '\x3f', '\xbd', '\x6e', '\x13', - '\x00', '\x38', '\x41', '\x92', '\xc3', '\x9b', '\x11', '\x31', - '\x6d', '\x9e', '\x01', '\x92', '\x58', '\xe0', '\xed', '\x9b', - '\x65', '\xa6', '\xc3', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\x6f', '\xad', '\x4e', '\x1b', - '\x00', '\x38', '\x62', '\xae', '\x24', '\xa6', '\x6f', '\x1e', - '\x60', '\x05', '\x00', '\x38', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\x0e', '\x1a', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x1a', '\x1b', '\x00', '\x38', '\xb0', '\xb9', '\x66', '\xa6', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\xae', '\x12', '\x1b', - '\x00', '\x38', '\xb0', '\xb9', '\x62', '\xa6', '\x64', '\xb6', - '\x67', '\xc6', '\x66', '\xd6', '\x3f', '\xbd', '\xbe', '\x14', - '\x00', '\x38', '\x0d', '\x31', '\x6d', '\x9e', '\x26', '\x96', - '\xed', '\x9b', '\x11', '\x31', '\x70', '\x8a', '\x6f', '\xce', - '\x26', '\x1c', '\x00', '\x38', '\x0d', '\xc1', '\x69', '\x9a', - '\x7f', '\x0d', '\x48', '\x1c', '\x00', '\x38', '\x29', '\x9a', - '\xe8', '\x96', '\xff', '\x1d', '\x44', '\xfe', '\x0f', '\x05', - '\x75', '\x86', '\x6f', '\x2e', '\x4e', '\x1b', '\x00', '\x38', - '\x6f', '\x1e', '\x26', '\x1c', '\x00', '\x38', '\x09', '\x11', - '\xa0', '\x0b', '\x4c', '\x30', '\x7b', '\x86', '\x62', '\xaa', - '\x3f', '\xbd', '\x60', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x26', '\x1b', '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', - '\x00', '\x38', '\x70', '\x86', '\x09', '\x11', '\xe0', '\x0a', - '\x22', '\x00', '\x0f', '\x05', '\x05', '\x11', '\x29', '\x0a', - '\x01', '\x11', '\x6d', '\xda', '\x62', '\x99', '\x59', '\x9a', - '\x4d', '\x05', '\xd9', '\x9a', '\xff', '\x2d', '\x9a', '\xfd', - '\x0f', '\x05', '\x02', '\x02', '\x09', '\x11', '\xe0', '\x0a', - '\xe3', '\x10', '\x0f', '\x05', '\x6f', '\xae', '\x36', '\x1b', - '\x00', '\x38', '\x3f', '\xbd', '\x1a', '\x05', '\x00', '\x38', - '\x0f', '\x2c', '\x6c', '\x00', '\x01', '\x52', '\xc1', '\x52', - '\xa5', '\x80', '\x15', '\x12', '\x7a', '\x86', '\xbe', '\x8f', - '\x3e', '\x0d', '\x00', '\x00', '\x7f', '\xb6', '\x0f', '\x05', - '\x00', '\x00', '\x00', '\x00', '\x0d', '\x0a', '\x0d', '\x0a', - '\x44', '\x65', '\x76', '\x69', '\x63', '\x65', '\x20', '\x49', - '\x44', '\x20', '\x3d', '\x20', '\x00', '\x00', '\x43', '\x68', - '\x65', '\x63', '\x6b', '\x73', '\x75', '\x6d', '\x20', '\x6f', - '\x66', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x6c', '\x6f', - '\x61', '\x64', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', - '\x00', '\x00', '\x57', '\x61', '\x69', '\x74', '\x69', '\x6e', - '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6c', '\x6f', - '\x61', '\x64', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', - '\x0d', '\x0a', '\x00', '\x00', '\x47', '\x6f', '\x74', '\x20', - '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x69', '\x6e', '\x66', - '\x6f', '\x2e', '\x0d', '\x0a', '\x00', '\x00', '\x50', '\x41', - '\x43', '\x4b', '\x45', '\x54', '\x5f', '\x49', '\x4e', '\x46', - '\x4f', '\x0d', '\x0a', '\x00', '\x53', '\x45', '\x54', '\x5f', - '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', - '\x0d', '\x0a', '\x00', '\x00', '\x47', '\x45', '\x54', '\x5f', - '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', - '\x0d', '\x0a', '\x00', '\x00', '\x50', '\x41', '\x55', '\x53', - '\x45', '\x5f', '\x4c', '\x4f', '\x4f', '\x50', '\x0d', '\x0a', - '\x00', '\x00', '\x4d', '\x45', '\x4d', '\x5f', '\x56', '\x45', - '\x52', '\x49', '\x46', '\x59', '\x0d', '\x0a', '\x00', '\x00', - '\x76', '\x65', '\x72', '\x69', '\x66', '\x79', '\x20', '\x66', - '\x61', '\x69', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x00', - '\x4d', '\x45', '\x4d', '\x5f', '\x54', '\x45', '\x53', '\x54', - '\x0d', '\x0a', '\x00', '\x00', '\x23', '\x23', '\x23', '\x20', - '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', - '\x65', '\x73', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', - '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', - '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x6d', - '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', '\x65', - '\x73', '\x74', '\x2e', '\x0d', '\x0a', '\x00', '\x4d', '\x45', - '\x4d', '\x5f', '\x44', '\x55', '\x4d', '\x50', '\x0d', '\x0a', - '\x00', '\x00', '\x4d', '\x45', '\x4d', '\x5f', '\x43', '\x4c', - '\x45', '\x41', '\x52', '\x0d', '\x0a', '\x00', '\x46', '\x4c', - '\x41', '\x53', '\x48', '\x0d', '\x0a', '\x00', '\x4a', '\x55', - '\x4d', '\x50', '\x0d', '\x0a', '\x00', '\x00', '\x45', '\x4e', - '\x44', '\x0d', '\x0a', '\x00', '\x23', '\x23', '\x23', '\x20', - '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', - '\x74', '\x79', '\x70', '\x65', '\x3a', '\x20', '\x00', '\x00', - '\x43', '\x68', '\x65', '\x63', '\x6b', '\x73', '\x75', '\x6d', - '\x20', '\x6f', '\x66', '\x20', '\x66', '\x69', '\x6c', '\x65', - '\x20', '\x69', '\x73', '\x20', '\x00', '\x00', '\x23', '\x23', - '\x23', '\x20', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', - '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x31', '\x20', - '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', - '\x74', '\x20', '\x00', '\x00', '\x23', '\x23', '\x23', '\x20', - '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', - '\x65', '\x73', '\x74', '\x20', '\x32', '\x20', '\x66', '\x61', - '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', - '\x00', '\x00', '\x20', '\x3a', '\x00', '\x00', '\x38', '\x4d', - '\x62', '\x20', '\x42', '\x42', '\x00', '\x00', '\x38', '\x4d', - '\x62', '\x20', '\x54', '\x42', '\x00', '\x00', '\x31', '\x36', - '\x4d', '\x62', '\x20', '\x42', '\x42', '\x00', '\x31', '\x36', - '\x4d', '\x62', '\x20', '\x54', '\x42', '\x00', '\x33', '\x32', - '\x4d', '\x62', '\x20', '\x54', '\x42', '\x00', '\x55', '\x6e', - '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', - '\x64', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6c', - '\x65', '\x61', '\x76', '\x65', '\x21', '\x0a', '\x00', '\x00', - '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x31', '\x20', - '\x78', '\x20', '\x43', '\x46', '\x49', '\x20', '\x61', '\x74', - '\x20', '\x00', '\x54', '\x6f', '\x6f', '\x20', '\x6d', '\x61', - '\x6e', '\x79', '\x20', '\x72', '\x65', '\x67', '\x69', '\x6f', - '\x6e', '\x73', '\x20', '\x6f', '\x6e', '\x20', '\x63', '\x68', - '\x69', '\x70', '\x21', '\x0a', '\x00', '\x00', '\x4e', '\x6f', - '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x20', - '\x78', '\x31', '\x36', '\x20', '\x61', '\x74', '\x20', '\x00', - '\x4e', '\x6f', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', - '\x6c', '\x65', '\x61', '\x76', '\x65', '\x64', '\x20', '\x78', - '\x31', '\x36', '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', - '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x00', '\x00', - '\x31', '\x00', '\x32', '\x00', '\x20', '\x78', '\x20', '\x00', - '\x46', '\x61', '\x74', '\x61', '\x6c', '\x3a', '\x20', '\x66', - '\x6c', '\x61', '\x73', '\x68', '\x20', '\x69', '\x73', '\x20', - '\x74', '\x6f', '\x6f', '\x20', '\x73', '\x6d', '\x61', '\x6c', - '\x6c', '\x2e', '\x0a', '\x00', '\x53', '\x65', '\x63', '\x74', - '\x6f', '\x72', '\x20', '\x65', '\x72', '\x61', '\x73', '\x65', - '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x0a', '\x00', - '\x45', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x61', '\x74', - '\x20', '\x00', '\x3a', '\x20', '\x4e', '\x6f', '\x20', '\x6e', - '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x77', - '\x72', '\x69', '\x74', '\x65', '\x0a', '\x00', '\x3a', '\x20', - '\x45', '\x72', '\x61', '\x73', '\x69', '\x6e', '\x67', '\x20', - '\x00', '\x00', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', - '\x0a', '\x00', '\x3a', '\x20', '\x57', '\x72', '\x69', '\x74', - '\x69', '\x6e', '\x67', '\x20', '\x00', '\x00', '\x3a', '\x20', - '\x56', '\x65', '\x72', '\x69', '\x66', '\x79', '\x69', '\x6e', - '\x67', '\x2e', '\x2e', '\x2e', '\x00', '\x00', '\x4f', '\x4b', - '\x0a', '\x00', '\x0e', '\x1a', '\x00', '\x38', '\x16', '\x1a', - '\x00', '\x38', '\x1e', '\x1a', '\x00', '\x38', '\x26', '\x1a', - '\x00', '\x38', '\x2e', '\x1a', '\x00', '\x38', '\x00', '\x00', - '\x00', '\x80', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x84', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x54', '\x68', '\x69', '\x73', '\x20', '\x62', '\x6f', '\x6f', - '\x74', '\x6c', '\x6f', '\x61', '\x64', '\x65', '\x72', '\x20', - '\x77', '\x61', '\x73', '\x20', '\x62', '\x75', '\x69', '\x6c', - '\x74', '\x20', '\x62', '\x79', '\x20', '\x72', '\x6f', '\x6f', - '\x74', '\x20', '\x6f', '\x6e', '\x20', '\x57', '\x65', '\x64', - '\x20', '\x4d', '\x61', '\x79', '\x20', '\x31', '\x36', '\x20', - '\x32', '\x31', '\x3a', '\x33', '\x31', '\x3a', '\x34', '\x31', - '\x20', '\x43', '\x45', '\x53', '\x54', '\x20', '\x32', '\x30', - '\x30', '\x37', '\x2e', '\x0d', '\x0a', '\x00' -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/net_noleds_ima.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/net_noleds_ima.c deleted file mode 100644 index d5e03d1f29..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/net_noleds_ima.c +++ /dev/null @@ -1,873 +0,0 @@ - -/* cconv 1.2 12/16/97, Copyright (C) 1997, Axis Communications AB */ - -const char net_noleds_ima[] = -{ - '\x0f', '\x05', '\x0f', '\x05', '\x6f', '\xee', '\x00', '\x1f', - '\x00', '\x38', '\x3f', '\x0d', '\x08', '\x01', '\x00', '\x38', - '\x78', '\x56', '\x34', '\x12', '\x21', '\x43', '\x65', '\x87', - '\x6f', '\xde', '\x20', '\x00', '\x00', '\xb0', '\x5f', '\x9c', - '\x65', '\x6f', '\xed', '\x9b', '\x5f', '\x9c', '\x25', '\x2f', - '\x7f', '\x0d', '\xf0', '\x17', '\x00', '\x38', '\xe9', '\x9b', - '\xed', '\x9b', '\x3f', '\x0d', '\x28', '\x01', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x7f', '\x0d', '\x92', '\x1c', - '\x00', '\x38', '\x70', '\x8a', '\x6f', '\x9e', '\x20', '\x00', - '\x00', '\xb0', '\x69', '\x9a', '\x79', '\x67', '\x7f', '\x0d', - '\x46', '\x1c', '\x00', '\x38', '\xe9', '\x9b', '\x6f', '\x9e', - '\x22', '\x00', '\x00', '\xb0', '\x59', '\x9a', '\x59', '\x94', - '\x7f', '\x0d', '\xae', '\x1c', '\x00', '\x38', '\xe9', '\x9b', - '\x6f', '\x9e', '\x04', '\x00', '\x00', '\xb0', '\x69', '\x9a', - '\x06', '\x93', '\xe1', '\x93', '\x81', '\x92', '\x7f', '\x0d', - '\x96', '\x1c', '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', - '\x58', '\x1c', '\x00', '\x38', '\x70', '\x4a', '\x3f', '\xbd', - '\x28', '\x02', '\x00', '\x38', '\x3f', '\xbd', '\x30', '\x04', - '\x00', '\x38', '\x3f', '\xbd', '\xcc', '\x01', '\x00', '\x38', - '\x6a', '\xa6', '\xf7', '\x30', '\x0f', '\x05', '\x6f', '\x9e', - '\x00', '\x01', '\x00', '\x38', '\x69', '\x9a', '\x7f', '\x0d', - '\x92', '\x1c', '\x00', '\x38', '\xe9', '\x9a', '\x24', '\x80', - '\x0f', '\x05', '\x6f', '\x9e', '\x96', '\x1c', '\x00', '\x38', - '\x49', '\x9a', '\xcf', '\x9e', '\x01', '\x00', '\xd3', '\x20', - '\x0f', '\x05', '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', - '\x4d', '\x9a', '\x38', '\x93', '\x41', '\x93', '\xcd', '\x9b', - '\xc1', '\xe0', '\x0f', '\x05', '\x3e', '\xbe', '\x3f', '\x0d', - '\x80', '\x05', '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', - '\x3f', '\xbd', '\x62', '\x03', '\x00', '\x38', '\x6a', '\xa6', - '\x16', '\x20', '\x41', '\x92', '\x3f', '\xbd', '\xf4', '\x01', - '\x00', '\x38', '\x6a', '\xa6', '\x0a', '\x30', '\x79', '\x86', - '\x3f', '\xbd', '\x30', '\x04', '\x00', '\x38', '\x79', '\x86', - '\x69', '\xa6', '\x3e', '\x0d', '\x84', '\xe2', '\x6f', '\x9e', - '\x22', '\x00', '\x00', '\xb0', '\x59', '\x9a', '\x59', '\x94', - '\xee', '\x9b', '\x6f', '\xce', '\xae', '\x1c', '\x00', '\x38', - '\x6c', '\x9a', '\x6e', '\xda', '\xad', '\x96', '\xb9', '\x96', - '\xdf', '\x9c', '\x80', '\x25', '\x0a', '\xd0', '\x0f', '\x05', - '\x6e', '\x9a', '\xec', '\x9b', '\x04', '\xe0', '\x41', '\xa2', - '\x7a', '\x86', '\x7f', '\xb6', '\x04', '\xe2', '\x00', '\x00', - '\x88', '\xe2', '\xfe', '\x1b', '\x6f', '\x9e', '\x8c', '\x00', - '\x00', '\xb0', '\x79', '\x8a', '\x69', '\x9a', '\x7f', '\x0d', - '\x90', '\x00', '\x00', '\xb0', '\xe9', '\x9b', '\x6f', '\x9e', - '\x01', '\x40', '\x8c', '\x00', '\x7f', '\x0d', '\x80', '\x00', - '\x00', '\xb0', '\xe9', '\x9b', '\x6f', '\xce', '\x01', '\x00', - '\x01', '\x40', '\x7f', '\x0d', '\x84', '\x00', '\x00', '\xb0', - '\xec', '\xcb', '\x6f', '\xde', '\x8c', '\x00', '\x01', '\x00', - '\x7f', '\x0d', '\x88', '\x00', '\x00', '\xb0', '\xed', '\xdb', - '\x41', '\x12', '\x7f', '\x0d', '\x94', '\x00', '\x00', '\xb0', - '\xe1', '\x1b', '\x7f', '\x0d', '\xa0', '\x00', '\x00', '\xb0', - '\x70', '\x8a', '\x5f', '\x9c', '\x02', '\x01', '\x7f', '\x0d', - '\x9c', '\x00', '\x00', '\xb0', '\xe9', '\x9b', '\x43', '\xc2', - '\x7f', '\x0d', '\x98', '\x00', '\x00', '\xb0', '\xec', '\xcb', - '\x44', '\xd2', '\x7f', '\x0d', '\xd0', '\x01', '\x00', '\xb0', - '\xcd', '\xdb', '\x6f', '\x0e', '\xd4', '\x01', '\x00', '\xb0', - '\xc0', '\xdb', '\x6f', '\xbe', '\x14', '\x1c', '\x00', '\x38', - '\x6b', '\x96', '\x4f', '\xcc', '\x26', '\x00', '\xd9', '\xcf', - '\x79', '\x4a', '\x6f', '\xde', '\x4a', '\x1c', '\x00', '\x38', - '\x04', '\xb1', '\xed', '\xdb', '\x6f', '\x9e', '\x6c', '\x1c', - '\x00', '\x38', '\x08', '\xb1', '\xe9', '\x9b', '\x6d', '\x96', - '\x5f', '\xce', '\xdc', '\x05', '\xd9', '\xcf', '\x47', '\xc2', - '\xd9', '\xcb', '\x6f', '\x9e', '\x04', '\x01', '\x00', '\x38', - '\x69', '\x9a', '\x08', '\xd1', '\xe9', '\x9b', '\x6f', '\xce', - '\x2a', '\x1c', '\x00', '\x38', '\x6f', '\x9e', '\x00', '\x8c', - '\x40', '\x02', '\x79', '\x67', '\x6c', '\xd6', '\xed', '\x9f', - '\x5f', '\x9e', '\x00', '\x01', '\x79', '\x27', '\xdd', '\x9b', - '\x6c', '\xa6', '\x86', '\xa2', '\x4f', '\x9c', '\x40', '\x00', - '\x79', '\x27', '\x06', '\xc1', '\xd9', '\x9b', '\x6f', '\x9e', - '\x00', '\x03', '\xaa', '\xaa', '\x79', '\x67', '\x08', '\xc1', - '\xe9', '\x9b', '\x6f', '\x9e', '\x56', '\x88', '\x8c', '\x40', - '\x79', '\x67', '\x0c', '\xc1', '\xe9', '\x9b', '\x7e', '\x92', - '\x79', '\x67', '\x10', '\xc1', '\xe9', '\x9b', '\x14', '\xc1', - '\x70', '\x8a', '\x18', '\xc1', '\x70', '\x8a', '\x6f', '\xde', - '\x9e', '\x1c', '\x00', '\x38', '\x6d', '\x96', '\x4f', '\xcc', - '\x26', '\x00', '\xd9', '\xcf', '\x47', '\xc2', '\xd9', '\xcb', - '\x08', '\xd1', '\xea', '\xab', '\x7f', '\x0d', '\x5a', '\x1c', - '\x00', '\x38', '\x70', '\x0a', '\x7f', '\x0d', '\x9a', '\x1c', - '\x00', '\x38', '\x70', '\x8a', '\x7f', '\x0d', '\xa4', '\x01', - '\x00', '\xb0', '\xeb', '\xbb', '\xc0', '\x1b', '\x7f', '\xb6', - '\xbe', '\x1f', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xfe', '\x0b', '\x6f', '\x0e', '\x4a', '\x1c', '\x00', '\x38', - '\x0e', '\x01', '\x5d', '\x9e', '\x81', '\x93', '\xb4', '\xa0', - '\x7a', '\x86', '\x7d', '\x4a', '\x6f', '\x9e', '\x14', '\x1c', - '\x00', '\x38', '\x7f', '\x0d', '\xa4', '\x01', '\x00', '\xb0', - '\xe9', '\x9b', '\x6f', '\xde', '\x86', '\x1c', '\x00', '\x38', - '\x6d', '\xda', '\x7d', '\x67', '\x6f', '\x9e', '\x9a', '\x1c', - '\x00', '\x38', '\x69', '\x9a', '\x01', '\x92', '\xe9', '\xd6', - '\x8a', '\x20', '\x41', '\xa2', '\x41', '\x92', '\x7f', '\x0d', - '\x96', '\x1c', '\x00', '\x38', '\xc9', '\x9b', '\x6f', '\x9e', - '\x20', '\x00', '\x00', '\xb0', '\x69', '\x9a', '\xf0', '\x93', - '\x7f', '\x0d', '\xae', '\x1c', '\x00', '\x38', '\xe9', '\x9b', - '\x6f', '\xae', '\x92', '\x1c', '\x00', '\x38', '\x0c', '\x01', - '\x5b', '\xb8', '\x6a', '\xda', '\x2b', '\xd6', '\x84', '\xd2', - '\xea', '\xdb', '\x08', '\x01', '\x6c', '\x9e', '\x2b', '\x96', - '\x84', '\x92', '\xec', '\x9b', '\x60', '\xc6', '\x6f', '\xbe', - '\x00', '\x01', '\x00', '\x38', '\x6b', '\x9a', '\xad', '\x96', - '\x84', '\x92', '\xdf', '\x9c', '\xdb', '\x05', '\x0a', '\x90', - '\x0f', '\x05', '\x6b', '\x9a', '\x9a', '\x9a', '\x06', '\xe0', - '\x04', '\x92', '\x5f', '\x9e', '\xdc', '\x05', '\xdc', '\x9b', - '\x6f', '\xce', '\x4a', '\x1c', '\x00', '\x38', '\x5c', '\xda', - '\x5d', '\x94', '\x26', '\x92', '\xcf', '\x9c', '\x3f', '\x00', - '\x04', '\x90', '\x0f', '\x05', '\x5a', '\xd2', '\xdc', '\xdb', - '\x6f', '\xde', '\x9a', '\x1c', '\x00', '\x38', '\x6d', '\x9a', - '\x01', '\x92', '\xed', '\x9b', '\x3f', '\xbd', '\x30', '\x04', - '\x00', '\x38', '\x41', '\xa2', '\xbe', '\x0f', '\x3e', '\x0d', - '\x6f', '\x9e', '\x5a', '\x1c', '\x00', '\x38', '\x89', '\x0b', - '\x44', '\x20', '\x41', '\xc2', '\xc9', '\xcb', '\x6f', '\x9e', - '\x04', '\x00', '\x00', '\xb0', '\x69', '\x9a', '\x06', '\x93', - '\xc4', '\x92', '\x1e', '\x20', '\x0f', '\x05', '\x6f', '\x9e', - '\x24', '\x1c', '\x00', '\x38', '\x6f', '\xde', '\xdc', '\x00', - '\x00', '\x38', '\x6d', '\xda', '\xe9', '\xdf', '\x6f', '\xce', - '\xe0', '\x00', '\x00', '\x38', '\x5c', '\xca', '\x16', '\xe0', - '\xd9', '\xcb', '\x6f', '\xde', '\x24', '\x1c', '\x00', '\x38', - '\x6f', '\x9e', '\x72', '\x1c', '\x00', '\x38', '\x69', '\xce', - '\xed', '\xcf', '\x59', '\x9a', '\xdd', '\x9b', '\x6f', '\xde', - '\x24', '\x1c', '\x00', '\x38', '\x6f', '\x9e', '\x9a', '\x1c', - '\x00', '\x38', '\x69', '\x9a', '\x79', '\x67', '\x1a', '\xd1', - '\xe9', '\x9b', '\x42', '\x92', '\x79', '\x67', '\x1e', '\xd1', - '\xe9', '\x9b', '\x6f', '\x9e', '\x9e', '\x1c', '\x00', '\x38', - '\x47', '\xd2', '\x02', '\x91', '\xdd', '\xdb', '\x4f', '\xcc', - '\x26', '\x00', '\xd9', '\xcb', '\x3f', '\x0d', '\xb2', '\x04', - '\x00', '\x38', '\x6f', '\x9e', '\x9e', '\x1c', '\x00', '\x38', - '\x7f', '\x0d', '\xa0', '\x01', '\x00', '\xb0', '\xe9', '\x9b', - '\x41', '\x92', '\x7f', '\x0d', '\xd0', '\x01', '\x00', '\xb0', - '\xc9', '\x9b', '\x6f', '\x9e', '\xa0', '\x01', '\x00', '\xb0', - '\x69', '\x9a', '\xf7', '\x20', '\x0f', '\x05', '\x7f', '\xb6', - '\x0f', '\x05', '\x6f', '\x9e', '\x9e', '\x1c', '\x00', '\x38', - '\x6f', '\xce', '\x5c', '\x1c', '\x00', '\x38', '\x04', '\x91', - '\xec', '\xcb', '\x02', '\x91', '\x70', '\x4a', '\x8a', '\x0b', - '\x0c', '\x30', '\x7d', '\x86', '\x01', '\xd2', '\x4a', '\xd5', - '\x80', '\x0b', '\xf9', '\x20', '\x0f', '\x05', '\x7f', '\x0d', - '\x42', '\x1c', '\x00', '\x38', '\x70', '\x8a', '\x6f', '\x9e', - '\x5c', '\x1c', '\x00', '\x38', '\x47', '\xc2', '\x02', '\x91', - '\xdc', '\xcb', '\x08', '\x91', '\xea', '\xab', '\x01', '\xd2', - '\xd9', '\xdb', '\x3f', '\x0d', '\xb2', '\x04', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', '\xee', '\xab', - '\x6f', '\x9e', '\x9e', '\x1c', '\x00', '\x38', '\x6f', '\xde', - '\x5c', '\x1c', '\x00', '\x38', '\x04', '\x91', '\xed', '\xdb', - '\x02', '\x91', '\x70', '\x4a', '\x4b', '\xb6', '\x04', '\x20', - '\x46', '\x92', '\x45', '\x92', '\x79', '\x67', '\x7f', '\x0d', - '\x42', '\x1c', '\x00', '\x38', '\xe9', '\x9b', '\x79', '\x86', - '\x01', '\x92', '\xdf', '\x9c', '\x00', '\x40', '\xf9', '\x20', - '\x0f', '\x05', '\x6e', '\x9a', '\x79', '\x67', '\xee', '\x9b', - '\x6f', '\x9e', '\x5c', '\x1c', '\x00', '\x38', '\x47', '\xd2', - '\x02', '\x91', '\xdd', '\xdb', '\x08', '\x91', '\xee', '\xeb', - '\x44', '\xd2', '\xd9', '\xdb', '\x3f', '\xbd', '\xb2', '\x04', - '\x00', '\x38', '\x04', '\xe2', '\x3e', '\x0d', '\x00', '\x00', - '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', '\xfe', '\x0b', - '\x6f', '\x0e', '\xda', '\x04', '\x00', '\x38', '\x6f', '\xae', - '\xf4', '\x17', '\x00', '\x38', '\xb0', '\xb9', '\x6f', '\xae', - '\x46', '\x1c', '\x00', '\x38', '\x6a', '\xaa', '\x7a', '\x67', - '\x41', '\xb2', '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', - '\x6f', '\xae', '\xc0', '\x1b', '\x00', '\x38', '\xb0', '\xb9', - '\x6f', '\x9e', '\xf0', '\x00', '\x00', '\x38', '\xef', '\x9e', - '\x06', '\x1c', '\x00', '\x38', '\x0e', '\x30', '\x70', '\x86', - '\x09', '\x0c', '\xef', '\x9e', '\x06', '\x1c', '\x00', '\x38', - '\xf7', '\x20', '\x0f', '\x05', '\x6f', '\xae', '\x06', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\x60', '\xa6', '\x41', '\xb2', '\x3f', '\xbd', '\x20', '\x05', - '\x00', '\x38', '\x3f', '\xbd', '\xf6', '\x05', '\x00', '\x38', - '\x3f', '\x0d', '\x28', '\x01', '\x00', '\x38', '\xbe', '\x0f', - '\x3e', '\x0d', '\xff', '\xe0', '\x0f', '\x05', '\xfc', '\xe1', - '\x7e', '\xbe', '\x84', '\xe2', '\xfe', '\x0b', '\x6f', '\x0e', - '\xda', '\x04', '\x00', '\x38', '\x6f', '\xae', '\x22', '\x18', - '\x00', '\x38', '\xb0', '\xb9', '\x3f', '\xbd', '\x30', '\x04', - '\x00', '\x38', '\x6f', '\xae', '\x00', '\x1f', '\x00', '\x38', - '\x5f', '\xbc', '\xec', '\x01', '\x3f', '\xbd', '\x74', '\x09', - '\x00', '\x38', '\x6f', '\xae', '\x3c', '\x18', '\x00', '\x38', - '\xb0', '\xb9', '\x3f', '\xbd', '\x3a', '\x06', '\x00', '\x38', - '\xbe', '\x0f', '\x3e', '\xbe', '\x3f', '\x0d', '\xf2', '\x05', - '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', '\x98', '\xe2', - '\xfe', '\x4b', '\x6f', '\xde', '\x00', '\x1f', '\x00', '\x38', - '\x6d', '\x9a', '\x79', '\x67', '\xed', '\x9f', '\xef', '\xde', - '\xec', '\x20', '\x00', '\x38', '\xf3', '\x20', '\x0f', '\x05', - '\x6f', '\x3e', '\x00', '\x1f', '\x00', '\x38', '\xa3', '\x0b', - '\xff', '\x3d', '\xfe', '\x02', '\x0f', '\x05', '\x63', '\x9a', - '\x81', '\x92', '\xcf', '\x9d', '\x0b', '\x00', '\x5f', '\x95', - '\x3f', '\xf8', '\x54', '\x02', '\x22', '\x01', '\x18', '\x00', - '\x62', '\x00', '\x90', '\x00', '\x96', '\x01', '\xc8', '\x01', - '\xe4', '\x00', '\x00', '\x02', '\xb8', '\x00', '\x9a', '\x02', - '\xce', '\x02', '\x6f', '\xae', '\x4e', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x6f', '\x0e', - '\x20', '\x05', '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x6f', '\x0e', '\x9a', '\x1c', - '\x00', '\x38', '\x60', '\x9a', '\x81', '\x92', '\xe0', '\x9b', - '\x3f', '\xbd', '\x30', '\x04', '\x00', '\x38', '\x60', '\x9a', - '\x01', '\x92', '\xe0', '\x9b', '\x62', '\xaa', '\x61', '\xba', - '\x3f', '\xbd', '\x74', '\x09', '\x00', '\x38', '\xff', '\xed', - '\x88', '\x02', '\x0c', '\x32', '\x6f', '\xae', '\x5c', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\x6f', '\x0e', '\x20', '\x05', '\x00', '\x38', '\x04', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x61', '\x1a', - '\x72', '\x09', '\xe1', '\x1b', '\xff', '\xed', '\x5a', '\x02', - '\x0c', '\x32', '\x6f', '\xae', '\x6c', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x6f', '\x1e', - '\x20', '\x05', '\x00', '\x38', '\x04', '\x31', '\x60', '\xae', - '\x41', '\xb2', '\xb1', '\xb9', '\x60', '\xaa', '\x6a', '\xaa', - '\x41', '\xb2', '\xb1', '\xb9', '\xff', '\xed', '\x32', '\x02', - '\x08', '\x32', '\x6f', '\xae', '\x7c', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x04', '\x31', - '\x60', '\xae', '\x41', '\xb2', '\x3f', '\xbd', '\x20', '\x05', - '\x00', '\x38', '\x60', '\xaa', '\xff', '\x3d', '\xc0', '\x01', - '\x0f', '\x05', '\x81', '\xa2', '\xfd', '\x20', '\x0f', '\x05', - '\xff', '\xed', '\x06', '\x02', '\x08', '\x32', '\x6f', '\x4e', - '\xda', '\x04', '\x00', '\x38', '\x6f', '\xae', '\x8a', '\x18', - '\x00', '\x38', '\xb4', '\xb9', '\x6f', '\x0e', '\x20', '\x05', - '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x62', '\x2a', '\x62', '\x2a', '\xe1', '\x2a', - '\xff', '\x3d', '\xb8', '\x01', '\x0f', '\x05', '\x6f', '\xae', - '\x98', '\x18', '\x00', '\x38', '\xb4', '\xb9', '\xff', '\xed', - '\xd0', '\x01', '\x0f', '\x05', '\x6f', '\x4e', '\xda', '\x04', - '\x00', '\x38', '\x6f', '\xae', '\xa8', '\x18', '\x00', '\x38', - '\xb4', '\xb9', '\x6f', '\x2e', '\x20', '\x05', '\x00', '\x38', - '\x04', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb2', '\xb9', - '\x08', '\x31', '\x60', '\xae', '\x41', '\xb2', '\xb2', '\xb9', - '\x61', '\xaa', '\x60', '\xba', '\x6e', '\xc6', '\x14', '\xc2', - '\x3f', '\xbd', '\x72', '\x0a', '\x00', '\x38', '\x6a', '\xa6', - '\x30', '\x20', '\x0f', '\x05', '\x6f', '\xae', '\xb4', '\x18', - '\x00', '\x38', '\xb4', '\xb9', '\x14', '\xe1', '\x6a', '\xaa', - '\x41', '\xb2', '\xb2', '\xb9', '\x14', '\xe1', '\x6a', '\xaa', - '\x6a', '\xb6', '\x0f', '\xbc', '\x40', '\x00', '\x8f', '\xac', - '\x40', '\x00', '\x3c', '\xa3', '\x3c', '\xb3', '\x3f', '\xbd', - '\x1a', '\x0b', '\x00', '\x38', '\xff', '\xed', '\x6a', '\x01', - '\x0f', '\x05', '\x6f', '\xae', '\xd0', '\x18', '\x00', '\x38', - '\xb4', '\xb9', '\xff', '\xed', '\x54', '\x01', '\x0c', '\x32', - '\x6f', '\xae', '\xe6', '\x18', '\x00', '\x38', '\x3f', '\xbd', - '\xda', '\x04', '\x00', '\x38', '\x6f', '\x0e', '\x20', '\x05', - '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x62', '\xaa', '\x61', '\xba', '\x3f', '\xbd', - '\x1a', '\x0b', '\x00', '\x38', '\xff', '\xed', '\x22', '\x01', - '\x0c', '\x32', '\x6f', '\xae', '\xf2', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x6f', '\x0e', - '\x20', '\x05', '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x62', '\xaa', '\xe1', '\xaa', - '\xda', '\x90', '\x0f', '\x05', '\x7a', '\x0e', '\x08', '\x31', - '\xea', '\xaa', '\xf9', '\x80', '\x0f', '\x05', '\xea', '\xe0', - '\x0c', '\x32', '\x6f', '\xae', '\xfe', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x6f', '\x0e', - '\x20', '\x05', '\x00', '\x38', '\x04', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x64', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x0c', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x6f', '\x0e', '\xba', '\x14', - '\x00', '\x38', '\x61', '\xaa', '\x64', '\xba', '\x62', '\xca', - '\xb0', '\xb9', '\x6a', '\xa6', '\xac', '\x30', '\x10', '\x32', - '\xc3', '\xa2', '\xae', '\x20', '\x7a', '\x86', '\x62', '\xca', - '\xef', '\xcd', '\x00', '\x00', '\x01', '\x00', '\x64', '\xba', - '\xb0', '\xb9', '\x9e', '\xe0', '\x0f', '\x05', '\x6f', '\xde', - '\x24', '\x1c', '\x00', '\x38', '\x6d', '\x9a', '\x7f', '\x0d', - '\xc0', '\x01', '\x00', '\xb0', '\xe9', '\x9b', '\x04', '\xd1', - '\x59', '\x98', '\x7f', '\x0d', '\xc4', '\x01', '\x00', '\xb0', - '\xe9', '\x9b', '\x6f', '\x1e', '\xda', '\x04', '\x00', '\x38', - '\x6f', '\xae', '\x06', '\x19', '\x00', '\x38', '\xb1', '\xb9', - '\x04', '\x31', '\x60', '\xae', '\x41', '\xb2', '\x3f', '\xbd', - '\x20', '\x05', '\x00', '\x38', '\x6f', '\xae', '\x0e', '\x19', - '\x00', '\x38', '\xb1', '\xb9', '\x60', '\x9a', '\xb9', '\x09', - '\x50', '\xe0', '\x08', '\x32', '\x6f', '\xae', '\x82', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\x6f', '\x0e', '\x20', '\x05', '\x00', '\x38', '\x04', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x61', '\x1a', - '\x61', '\x9a', '\x08', '\x30', '\x81', '\x92', '\xe1', '\x9b', - '\x20', '\xe0', '\x62', '\x3a', '\x1c', '\xe0', '\x0c', '\x32', - '\x6f', '\xae', '\x14', '\x19', '\x00', '\x38', '\x3f', '\xbd', - '\xda', '\x04', '\x00', '\x38', '\x63', '\xaa', '\x41', '\xb2', - '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', '\x0a', '\xe0', - '\x0f', '\x05', '\xa3', '\x0b', '\xff', '\x2d', '\x06', '\xfd', - '\x0f', '\x05', '\x6f', '\xae', '\x0e', '\x19', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\xbe', '\x4f', - '\x04', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', - '\x8c', '\xe2', '\xfe', '\x2b', '\x6a', '\x26', '\x6b', '\x06', - '\x7f', '\x0d', '\x92', '\x1c', '\x00', '\x38', '\x70', '\x8a', - '\x7f', '\x0d', '\x04', '\x01', '\x00', '\x38', '\xea', '\xab', - '\x6f', '\x9e', '\x96', '\x1c', '\x00', '\x38', '\x49', '\x9a', - '\xcf', '\x9e', '\x01', '\x00', '\x86', '\x20', '\x0f', '\x05', - '\x6f', '\xde', '\x4a', '\x1c', '\x00', '\x38', '\x08', '\xd1', - '\xea', '\xab', '\x7f', '\x0d', '\x00', '\x01', '\x00', '\x38', - '\xeb', '\xbb', '\x6b', '\x96', '\x04', '\x92', '\xdf', '\x9d', - '\xdc', '\x05', '\xdd', '\x9b', '\x6f', '\x9e', '\xa4', '\x01', - '\x00', '\xb0', '\x69', '\xda', '\x6f', '\xde', '\x14', '\x1c', - '\x00', '\x38', '\xe9', '\xdb', '\x6f', '\xde', '\xd4', '\x01', - '\x00', '\xb0', '\x4d', '\x9a', '\x38', '\x93', '\x44', '\x93', - '\xcd', '\x9b', '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', - '\x4d', '\x9a', '\x07', '\x93', '\xcf', '\x9e', '\x04', '\x00', - '\xf7', '\x30', '\x0f', '\x05', '\x4d', '\x9a', '\x38', '\x93', - '\x41', '\x93', '\xcd', '\x9b', '\x3f', '\xbd', '\xcc', '\x01', - '\x00', '\x38', '\x6a', '\xa6', '\xf7', '\x30', '\x0f', '\x05', - '\x6f', '\xce', '\x92', '\x1c', '\x00', '\x38', '\xec', '\x0a', - '\x10', '\x80', '\x0f', '\x05', '\x6f', '\xde', '\xd4', '\x01', - '\x00', '\xb0', '\x4d', '\x9a', '\x38', '\x93', '\x41', '\x93', - '\xcd', '\x9b', '\xec', '\x0a', '\xd7', '\x90', '\x71', '\x86', - '\x22', '\xe0', '\x62', '\x96', '\x7f', '\x0d', '\x92', '\x1c', - '\x00', '\x38', '\xeb', '\xba', '\x14', '\x80', '\x71', '\x86', - '\x3f', '\xbd', '\xcc', '\x01', '\x00', '\x38', '\x7f', '\x0d', - '\x92', '\x1c', '\x00', '\x38', '\xe0', '\x0a', '\xf1', '\x90', - '\x71', '\x86', '\x62', '\x96', '\x20', '\x96', '\xe9', '\x26', - '\x0e', '\x30', '\x62', '\xd6', '\x0d', '\x1c', '\x62', '\x96', - '\x20', '\x96', '\xe9', '\xd6', '\xf7', '\x20', '\x0f', '\x05', - '\x6f', '\xae', '\x28', '\x19', '\x00', '\x38', '\x3f', '\xbd', - '\xda', '\x04', '\x00', '\x38', '\x61', '\xa6', '\x41', '\xb2', - '\xbe', '\x2f', '\x3e', '\xbe', '\x3f', '\x0d', '\x20', '\x05', - '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', '\x8c', '\xe2', - '\xfe', '\x2b', '\x6b', '\x06', '\x6c', '\x26', '\xeb', '\xa6', - '\x40', '\x00', '\x6a', '\xc6', '\xe0', '\xc6', '\x32', '\x00', - '\x71', '\x86', '\x6c', '\xb6', '\x6c', '\x96', '\x79', '\x87', - '\x61', '\xd6', '\xc3', '\xd3', '\xed', '\x97', '\x49', '\xd6', - '\xcb', '\x9b', '\x4b', '\x9a', '\xcd', '\x96', '\x0c', '\x30', - '\x7d', '\x87', '\x6f', '\xae', '\x3e', '\x19', '\x00', '\x38', - '\x40', '\xe0', '\xe2', '\xbb', '\xcb', '\xdf', '\x01', '\x12', - '\xc4', '\x12', '\x06', '\x30', '\xe0', '\xb6', '\xd7', '\x10', - '\x6c', '\x96', '\x04', '\xc2', '\xe0', '\xc6', '\xc5', '\x10', - '\x0f', '\x05', '\xe0', '\xa6', '\x4e', '\x00', '\x6a', '\xc6', - '\xe0', '\xc6', '\x40', '\x00', '\x71', '\x86', '\x6c', '\xa6', - '\x61', '\x96', '\xc3', '\x93', '\x6c', '\xd6', '\xe9', '\xd7', - '\x4a', '\x9a', '\xcd', '\x96', '\x22', '\x30', '\x01', '\x12', - '\x81', '\x12', '\xe2', '\xab', '\x6f', '\xae', '\x5c', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\x62', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', '\x20', '\x05', - '\x00', '\x38', '\x7a', '\x86', '\xbe', '\x2f', '\x3e', '\x0d', - '\xc4', '\x12', '\x08', '\x30', '\x01', '\xa2', '\xe0', '\xa6', - '\xc9', '\x10', '\x61', '\x96', '\x04', '\xc2', '\xe0', '\xc6', - '\xb7', '\x10', '\x0f', '\x05', '\x41', '\xa2', '\xbe', '\x2f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x94', '\xe2', - '\xfe', '\x4b', '\x6b', '\x26', '\xeb', '\xa6', '\x5a', '\x90', - '\x6a', '\x06', '\x60', '\xa6', '\x7b', '\x86', '\x3f', '\xbd', - '\x20', '\x05', '\x00', '\x38', '\x6f', '\xae', '\x7a', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\xe2', '\x06', '\x2a', '\x90', '\x74', '\x86', '\x60', '\x16', - '\x60', '\x36', '\x6f', '\xae', '\xd0', '\x19', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x63', '\xae', - '\x7b', '\x86', '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', - '\x01', '\x42', '\xc4', '\x42', '\x08', '\x30', '\x04', '\x12', - '\xe2', '\x16', '\xdf', '\x80', '\x0f', '\x05', '\x6f', '\xae', - '\x38', '\x18', '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', - '\x00', '\x38', '\x10', '\x02', '\xe2', '\x06', '\xad', '\x80', - '\x60', '\xa6', '\xbe', '\x4f', '\x3e', '\x0d', '\x00', '\x00', - '\x05', '\xa1', '\x49', '\x98', '\xc2', '\x92', '\x0a', '\x30', - '\xc4', '\x92', '\x0e', '\x30', '\x0f', '\x05', '\x7f', '\xb6', - '\x7a', '\x86', '\x6a', '\xb9', '\x5a', '\xa8', '\x7f', '\xb6', - '\x0f', '\x05', '\x6a', '\xb9', '\x6a', '\xaa', '\x7f', '\xb6', - '\x0f', '\x05', '\x6a', '\xd6', '\x05', '\xa1', '\x4a', '\xaa', - '\x4a', '\x94', '\xc2', '\x92', '\x0a', '\x30', '\xc4', '\x92', - '\x10', '\x30', '\x0f', '\x05', '\x7f', '\xb6', '\x7a', '\x86', - '\x5c', '\xca', '\x6d', '\xb9', '\xdc', '\xcb', '\x7f', '\xb6', - '\x4a', '\xa4', '\x6c', '\xca', '\x6d', '\xb9', '\xec', '\xcb', - '\x4a', '\xa4', '\x7f', '\xb6', '\x0f', '\x05', '\xfc', '\xe1', - '\x7e', '\xbe', '\x84', '\xe2', '\xee', '\xbb', '\x04', '\xa1', - '\x49', '\x9a', '\xcf', '\x9e', '\x01', '\x00', '\x06', '\x20', - '\x0f', '\x05', '\x24', '\xe0', '\xc1', '\xc3', '\xcf', '\x9e', - '\x02', '\x00', '\x0c', '\x20', '\x6b', '\x96', '\xd0', '\x93', - '\x69', '\xb7', '\xee', '\xbb', '\x12', '\xe0', '\xc2', '\xc3', - '\x6f', '\xae', '\xa6', '\x19', '\x00', '\x38', '\x3f', '\xbd', - '\xda', '\x04', '\x00', '\x38', '\x0c', '\xe0', '\x0f', '\x05', - '\x6c', '\xb6', '\x6e', '\xc6', '\x3f', '\xbd', '\xaa', '\x0b', - '\x00', '\x38', '\x04', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x84', '\xe2', '\xfe', '\x0b', '\x6a', '\x06', - '\x4f', '\xbc', '\xaa', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\xd6', '\x0b', '\x00', '\x38', '\x60', '\xa6', - '\x4f', '\xbc', '\x55', '\x00', '\x5f', '\xcc', '\xaa', '\x02', - '\xbe', '\x0f', '\x3e', '\xbe', '\x3f', '\x0d', '\xd6', '\x0b', - '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', '\x90', '\xe2', - '\xfe', '\x3b', '\x6a', '\x26', '\x04', '\xa1', '\x49', '\x9a', - '\xcf', '\x9e', '\x02', '\x00', '\x42', '\x20', '\x6b', '\x36', - '\x6f', '\x0e', '\x88', '\x0b', '\x00', '\x38', '\xb0', '\xb9', - '\x6a', '\x16', '\x62', '\xa6', '\x63', '\xb6', '\xb0', '\xb9', - '\x61', '\xd6', '\xf0', '\xd3', '\x1f', '\xdf', '\x40', '\x00', - '\x6a', '\x96', '\xf0', '\x93', '\x1f', '\x9f', '\x40', '\x00', - '\xe9', '\xd6', '\x14', '\x20', '\x7c', '\x86', '\x2f', '\x1f', - '\x40', '\x00', '\x00', '\x00', '\x2f', '\xaf', '\x40', '\x00', - '\x00', '\x00', '\xea', '\x16', '\x04', '\x30', '\x0f', '\x05', - '\x41', '\xc2', '\x6c', '\xa6', '\xbe', '\x3f', '\x3e', '\x0d', - '\x6f', '\x1e', '\x88', '\x0b', '\x00', '\x38', '\xb1', '\xb9', - '\x4a', '\x04', '\x0f', '\x0f', '\x40', '\x00', '\x62', '\xa6', - '\x63', '\xb6', '\xb1', '\xb9', '\x2f', '\xaf', '\x40', '\x00', - '\x00', '\x00', '\xea', '\x06', '\x3a', '\x25', '\xbe', '\x3f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\xa8', '\xe2', - '\xfe', '\x8b', '\x6a', '\x36', '\x04', '\xa1', '\x44', '\x9e', - '\xcf', '\x9e', '\x02', '\x00', '\x04', '\x20', '\x41', '\x72', - '\x42', '\x72', '\x6f', '\x2e', '\xd6', '\x0b', '\x00', '\x38', - '\x4f', '\xbc', '\x98', '\x00', '\x4f', '\xcc', '\x55', '\x00', - '\xb2', '\xb9', '\x50', '\xb2', '\xe7', '\xb4', '\x6f', '\x1e', - '\x88', '\x0b', '\x00', '\x38', '\x63', '\xa6', '\xb1', '\xb9', - '\xcf', '\xae', '\x51', '\x00', '\xff', '\x2d', '\x9c', '\x01', - '\x63', '\xa6', '\x51', '\xb2', '\xe7', '\xb4', '\xb1', '\xb9', - '\xcf', '\xae', '\x52', '\x00', '\xff', '\x2d', '\x8c', '\x01', - '\x63', '\xa6', '\x52', '\xb2', '\xe7', '\xb4', '\xb1', '\xb9', - '\xcf', '\xae', '\x59', '\x00', '\xff', '\x2d', '\x7c', '\x01', - '\x63', '\xa6', '\x24', '\xe1', '\x70', '\x8a', '\x6f', '\xae', - '\xc0', '\x19', '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', - '\x00', '\x38', '\x63', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x20', '\x05', '\x00', '\x38', '\x4f', '\xbc', '\x27', '\x00', - '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', '\x41', '\x92', - '\xea', '\x94', '\x06', '\x32', '\xe3', '\x9b', '\x86', '\x32', - '\x4f', '\xbc', '\x2c', '\x00', '\xe7', '\xb4', '\x63', '\xa6', - '\xb1', '\xb9', '\x6a', '\x86', '\x55', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x06', '\x6a', '\xb6', - '\x04', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\xcf', '\xae', '\x30', '\x00', '\x3e', '\x20', '\x63', '\xa6', - '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\xb2', '\xb9', '\x63', '\xa6', '\x3f', '\xbd', '\x1e', '\x0c', - '\x00', '\x38', '\x63', '\xa6', '\x4f', '\xbc', '\x90', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\xb2', '\xb9', '\x44', '\xb8', - '\x2b', '\xb6', '\x63', '\xa6', '\xb1', '\xb9', '\x4a', '\x54', - '\x0f', '\x5f', '\x80', '\xff', '\x63', '\xa6', '\x4f', '\xbc', - '\x98', '\x00', '\x4f', '\xcc', '\x55', '\x00', '\xb2', '\xb9', - '\x10', '\xe0', '\x0f', '\x05', '\x0f', '\x02', '\xe7', '\x04', - '\x60', '\xb6', '\xb1', '\xb9', '\xcf', '\xae', '\x03', '\x00', - '\x35', '\x35', '\x0a', '\x31', '\xd8', '\x8b', '\xc8', '\x82', - '\x12', '\xd0', '\x68', '\x46', '\x6f', '\xae', '\xd2', '\x19', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\xd2', '\xe0', '\x7a', '\x86', '\x65', '\x56', '\x94', '\x20', - '\x81', '\x42', '\x90', '\xe0', '\x74', '\x86', '\xc2', '\x03', - '\x60', '\xb6', '\x2f', '\xb2', '\xe7', '\xb4', '\x6f', '\x1e', - '\x88', '\x0b', '\x00', '\x38', '\x63', '\xa6', '\xb1', '\xb9', - '\x6a', '\x66', '\x60', '\xb6', '\x30', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\xc8', '\xa3', '\x6a', '\x67', - '\xc8', '\x63', '\x60', '\xb6', '\x2d', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x26', '\x2e', '\x02', - '\xe7', '\x04', '\x63', '\xa6', '\x60', '\xb6', '\xb1', '\xb9', - '\xc8', '\xa3', '\x6a', '\x27', '\x65', '\x56', '\x0a', '\x30', - '\x01', '\x22', '\x68', '\x96', '\xa4', '\x96', '\x04', '\xe0', - '\x81', '\x92', '\x64', '\x96', '\x19', '\x95', '\x63', '\xd6', - '\x2d', '\x95', '\x6d', '\x96', '\x24', '\xe1', '\x6d', '\xda', - '\x0c', '\x91', '\xed', '\xdb', '\x10', '\x91', '\xe6', '\x6b', - '\x14', '\x91', '\xe2', '\x2b', '\x62', '\x26', '\x10', '\xd0', - '\x0f', '\x05', '\x24', '\xe1', '\x29', '\x6a', '\x24', '\xe1', - '\xe9', '\x9b', '\x81', '\x22', '\xf5', '\x20', '\x0f', '\x05', - '\x24', '\xe1', '\x6d', '\xda', '\x06', '\x31', '\xed', '\xda', - '\x1e', '\x30', '\x65', '\x56', '\x06', '\x30', '\x01', '\x42', - '\x81', '\x42', '\x81', '\x42', '\x65', '\x56', '\x0c', '\x30', - '\xe8', '\x46', '\x64', '\x46', '\x69', '\xa0', '\x64', '\x06', - '\x08', '\xe0', '\x63', '\xa6', '\x61', '\xb0', '\x64', '\x06', - '\x63', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', - '\x55', '\x05', '\x3f', '\xbd', '\xd6', '\x0b', '\x00', '\x38', - '\x12', '\xe0', '\x41', '\xa2', '\x4f', '\xbc', '\xf0', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\xd6', '\x0b', - '\x00', '\x38', '\x7a', '\x86', '\xbe', '\x8f', '\x04', '\xe2', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x90', '\xe2', - '\xfe', '\x3b', '\x06', '\xa1', '\xa0', '\x0b', '\xff', '\x2d', - '\x16', '\x04', '\x6a', '\x26', '\x3f', '\xbd', '\xc2', '\x0c', - '\x00', '\x38', '\x6a', '\xa6', '\xff', '\x2d', '\x86', '\x03', - '\x41', '\xa2', '\x62', '\xa6', '\x3f', '\xbd', '\x1e', '\x0c', - '\x00', '\x38', '\x62', '\xa6', '\x4f', '\xbc', '\x90', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\xd6', '\x0b', - '\x00', '\x38', '\x6f', '\x1e', '\x88', '\x0b', '\x00', '\x38', - '\x62', '\xa6', '\x7b', '\x86', '\xb1', '\xb9', '\x6a', '\x36', - '\x04', '\x21', '\x40', '\xbe', '\x4b', '\xb4', '\x2b', '\xb6', - '\x62', '\xa6', '\xb1', '\xb9', '\x42', '\x92', '\xc0', '\x9a', - '\x1c', '\x20', '\x63', '\xc6', '\xf0', '\xc3', '\x53', '\x94', - '\xe9', '\xc6', '\x14', '\x20', '\x63', '\x06', '\x6a', '\xd6', - '\xf0', '\xd3', '\x5a', '\x94', '\xe9', '\xd6', '\x0a', '\x20', - '\xd0', '\x03', '\x6c', '\x36', '\x6d', '\xa6', '\x63', '\x06', - '\xd0', '\x03', '\x6a', '\x07', '\x62', '\xa6', '\x4f', '\xbc', - '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', - '\xd6', '\x0b', '\x00', '\x38', '\xef', '\x0e', '\xc0', '\x00', - '\x1f', '\x00', '\xff', '\x3d', '\x48', '\x02', '\x0f', '\x05', - '\x60', '\x90', '\x0f', '\x05', '\xef', '\x0e', '\xc4', '\x22', - '\x01', '\x00', '\xb0', '\x30', '\x0f', '\x05', '\x20', '\x90', - '\x0f', '\x05', '\xef', '\x0e', '\x58', '\x22', '\x01', '\x00', - '\xff', '\x3d', '\x5a', '\x01', '\x0f', '\x05', '\xef', '\x0e', - '\x5b', '\x22', '\x01', '\x00', '\xff', '\x3d', '\x4e', '\x01', - '\x0f', '\x05', '\xff', '\xed', '\xb6', '\x02', '\x0f', '\x05', - '\xef', '\x0e', '\xda', '\x22', '\x01', '\x00', '\xff', '\x3d', - '\x9c', '\x01', '\x0f', '\x05', '\x14', '\x90', '\x0f', '\x05', - '\xef', '\x0e', '\xd6', '\x22', '\x01', '\x00', '\xff', '\x3d', - '\x8c', '\x01', '\x0f', '\x05', '\xff', '\xed', '\x94', '\x02', - '\x0f', '\x05', '\xef', '\x0e', '\x49', '\x22', '\x04', '\x00', - '\xc4', '\x30', '\x0f', '\x05', '\xff', '\xed', '\x84', '\x02', - '\x0f', '\x05', '\xef', '\x0e', '\xd7', '\x00', '\x20', '\x00', - '\xff', '\x3d', '\x6a', '\x01', '\x0f', '\x05', '\x20', '\x90', - '\x0f', '\x05', '\xef', '\x0e', '\xc2', '\x00', '\x1f', '\x00', - '\xff', '\x3d', '\x00', '\x02', '\x0f', '\x05', '\xef', '\x0e', - '\xc9', '\x00', '\x1f', '\x00', '\xff', '\x3d', '\x18', '\x02', - '\x0f', '\x05', '\xff', '\xed', '\x56', '\x02', '\x0f', '\x05', - '\xef', '\x0e', '\x4f', '\x00', '\x98', '\x00', '\xff', '\x3d', - '\x3c', '\x01', '\x0f', '\x05', '\x12', '\x90', '\x0f', '\x05', - '\xef', '\x0e', '\x43', '\x00', '\x98', '\x00', '\x76', '\x30', - '\x0f', '\x05', '\xff', '\xed', '\x36', '\x02', '\x0f', '\x05', - '\xef', '\x0e', '\xc2', '\x00', '\x98', '\x00', '\xff', '\x2d', - '\x2a', '\x02', '\x0f', '\x05', '\x6f', '\x1e', '\xb6', '\x1a', - '\x00', '\x38', '\x61', '\x1a', '\x6f', '\xde', '\x00', '\x00', - '\x20', '\x00', '\x06', '\x21', '\xed', '\xdb', '\x0c', '\x21', - '\x70', '\x8a', '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', - '\x10', '\x21', '\xe9', '\x9b', '\x5f', '\xd2', '\x14', '\x21', - '\xed', '\xdb', '\x6f', '\x9e', '\x00', '\x00', '\x1f', '\x00', - '\x18', '\x21', '\xe9', '\x9b', '\x1f', '\xdc', '\xe1', '\x7f', - '\x1c', '\x21', '\xed', '\xdb', '\x41', '\x92', '\x20', '\x21', - '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x80', '\x1f', '\x00', - '\x24', '\x21', '\xed', '\xdb', '\x5f', '\xdc', '\x00', '\x20', - '\x28', '\x21', '\xed', '\xdb', '\x42', '\xd2', '\x2c', '\x21', - '\xed', '\xdb', '\x6f', '\xde', '\x00', '\xc0', '\x1f', '\x00', - '\xff', '\xed', '\x16', '\x01', '\x0f', '\x05', '\x6f', '\x1e', - '\xb2', '\x1a', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x5f', '\x9c', '\x00', '\x40', - '\x10', '\x21', '\xe9', '\x9b', '\x41', '\xd2', '\x14', '\x21', - '\xed', '\xdb', '\x18', '\x21', '\xe9', '\x9b', '\x5f', '\x9c', - '\x00', '\x20', '\x1c', '\x21', '\xe9', '\x9b', '\x42', '\x92', - '\x20', '\x21', '\xe9', '\x9b', '\x1f', '\x9c', '\xfe', '\x7f', - '\x24', '\x21', '\xe9', '\x9b', '\x28', '\x21', '\xe9', '\x9b', - '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\x9e', '\x00', '\x00', - '\x01', '\x00', '\x30', '\x21', '\xe9', '\x9b', '\x34', '\x21', - '\xe9', '\x9b', '\x58', '\xe0', '\x5f', '\xd2', '\x6f', '\x1e', - '\xaa', '\x1a', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x10', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x5f', '\x9c', '\x00', '\x40', - '\x10', '\x21', '\xe9', '\x9b', '\x41', '\xd2', '\x14', '\x21', - '\xed', '\xdb', '\x18', '\x21', '\xe9', '\x9b', '\x5f', '\x9c', - '\x00', '\x20', '\x1c', '\x21', '\xe9', '\x9b', '\x42', '\x92', - '\x20', '\x21', '\xe9', '\x9b', '\x1f', '\x9c', '\xfe', '\x7f', - '\x24', '\x21', '\xe9', '\x9b', '\x28', '\x21', '\xe9', '\x9b', - '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\x9e', '\x00', '\x00', - '\x01', '\x00', '\x30', '\x21', '\xe9', '\x9b', '\x34', '\x21', - '\xe9', '\x9b', '\x4f', '\xd2', '\x38', '\x21', '\xed', '\xdb', - '\xff', '\xed', '\x3e', '\x01', '\x0f', '\x05', '\x6f', '\x1e', - '\xae', '\x1a', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x10', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\xde', '\x00', '\x00', - '\x01', '\x00', '\x10', '\x21', '\xed', '\xdb', '\x4f', '\x92', - '\x14', '\x21', '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x00', - '\x0f', '\x00', '\x18', '\x21', '\xed', '\xdb', '\x1f', '\x9c', - '\xf1', '\x7f', '\x1c', '\x21', '\xe9', '\x9b', '\x41', '\x92', - '\x20', '\x21', '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x80', - '\x0f', '\x00', '\x24', '\x21', '\xed', '\xdb', '\x5f', '\xdc', - '\x00', '\x20', '\x28', '\x21', '\xed', '\xdb', '\x42', '\xd2', - '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\xde', '\x00', '\xc0', - '\x0f', '\x00', '\x30', '\x21', '\xed', '\xdb', '\x5f', '\xdc', - '\x00', '\x40', '\x34', '\x21', '\xed', '\xdb', '\x38', '\x21', - '\xe9', '\x9b', '\xce', '\xe0', '\x0f', '\x05', '\x6f', '\x1e', - '\xb2', '\x1a', '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', - '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', '\xe9', '\x9b', - '\x0c', '\x21', '\x70', '\x8a', '\x5f', '\xdc', '\x00', '\x20', - '\x10', '\x21', '\xed', '\xdb', '\x48', '\x92', '\x14', '\x21', - '\xe9', '\x9b', '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', - '\x18', '\x21', '\xe9', '\x9b', '\x1c', '\x21', '\xe9', '\x9b', - '\x62', '\xe0', '\x5f', '\xd2', '\x6f', '\x1e', '\xb6', '\x1a', - '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', - '\x20', '\x00', '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', - '\x70', '\x8a', '\x6f', '\xde', '\x00', '\x00', '\x01', '\x00', - '\x10', '\x21', '\xed', '\xdb', '\x26', '\xe0', '\x5f', '\x92', - '\x6f', '\x1e', '\xba', '\x1a', '\x00', '\x38', '\x61', '\x1a', - '\x6f', '\x9e', '\x00', '\x00', '\x40', '\x00', '\x06', '\x21', - '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\xde', - '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', '\xed', '\xdb', - '\x4f', '\x9c', '\x3f', '\x00', '\x14', '\x21', '\xe9', '\x9b', - '\x6f', '\xde', '\x00', '\x00', '\x1f', '\x00', '\x18', '\x21', - '\xed', '\xdb', '\x5f', '\x9c', '\x00', '\x20', '\x1c', '\x21', - '\xe9', '\x9b', '\x48', '\xd2', '\x20', '\x21', '\xed', '\xdb', - '\x30', '\xe0', '\x0f', '\x05', '\x04', '\x21', '\x49', '\x9a', - '\x6f', '\xae', '\xee', '\x19', '\x00', '\x38', '\xcf', '\x9e', - '\x01', '\x00', '\x08', '\x30', '\x0f', '\x05', '\x6f', '\xae', - '\x00', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', - '\x00', '\x38', '\x62', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x20', '\x05', '\x00', '\x38', '\x7a', '\x86', '\xbe', '\x3f', - '\x3e', '\x0d', '\x6f', '\x3e', '\xda', '\x04', '\x00', '\x38', - '\x6f', '\xae', '\x18', '\x1a', '\x00', '\x38', '\xb3', '\xb9', - '\x04', '\x21', '\x40', '\x9e', '\xcf', '\x9e', '\x01', '\x00', - '\x0c', '\x20', '\x42', '\xd2', '\x6f', '\xae', '\x20', '\x1a', - '\x00', '\x38', '\xb3', '\xb9', '\x42', '\xd2', '\xc0', '\xda', - '\x32', '\x20', '\x47', '\xc2', '\x06', '\x21', '\x6d', '\x9e', - '\xc1', '\x93', '\xed', '\x9b', '\x62', '\xd6', '\x0c', '\xd1', - '\x69', '\x9a', '\xc1', '\x93', '\x0c', '\xd1', '\xe9', '\x9b', - '\x10', '\xd1', '\x69', '\x9a', '\xc1', '\x93', '\x10', '\xd1', - '\xe9', '\x9b', '\x81', '\xc2', '\xe9', '\x60', '\x0c', '\xd2', - '\x6f', '\xae', '\x22', '\x1a', '\x00', '\x38', '\x3f', '\xbd', - '\xda', '\x04', '\x00', '\x38', '\x6f', '\x0e', '\xda', '\x04', - '\x00', '\x38', '\x6f', '\xae', '\x24', '\x1a', '\x00', '\x38', - '\xb0', '\xb9', '\x61', '\xa6', '\xb0', '\xb9', '\x6f', '\xae', - '\x56', '\x19', '\x00', '\x38', '\xb0', '\xb9', '\x62', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', - '\x41', '\xa2', '\xbe', '\x3f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x8c', '\xe2', '\xfe', '\x2b', '\x6a', '\x16', - '\x6b', '\x26', '\x6f', '\x0e', '\x1e', '\x0c', '\x00', '\x38', - '\xb0', '\xb9', '\x61', '\xa6', '\x4f', '\xbc', '\x80', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\xd6', '\x0b', - '\x00', '\x38', '\x61', '\xa6', '\xb0', '\xb9', '\x04', '\x11', - '\x49', '\x9a', '\xcf', '\x9e', '\x02', '\x00', '\x10', '\x20', - '\x0f', '\x05', '\x6f', '\x9e', '\x30', '\x00', '\x30', '\x00', - '\x61', '\x29', '\xe9', '\x9b', '\xbe', '\x2f', '\x3e', '\x0d', - '\x4f', '\x9c', '\x30', '\x00', '\x61', '\x29', '\xd9', '\x9b', - '\xbe', '\x2f', '\x3e', '\x0d', '\x84', '\xe2', '\xfe', '\x0b', - '\x06', '\xa1', '\xeb', '\xba', '\x10', '\x10', '\x0f', '\x05', - '\x7a', '\x86', '\x7f', '\xb6', '\xbe', '\x0f', '\x10', '\xa1', - '\x6a', '\xaa', '\x7f', '\xb6', '\xbe', '\x0f', '\x70', '\x86', - '\x0c', '\xa1', '\xeb', '\xba', '\x22', '\x10', '\x7d', '\x86', - '\x14', '\xa1', '\xed', '\xda', '\x10', '\x00', '\x79', '\x86', - '\x10', '\xa1', '\x6c', '\xca', '\x01', '\x92', '\x14', '\xa1', - '\xe9', '\x9a', '\xf9', '\x10', '\x2c', '\xd6', '\x0c', '\xa1', - '\x29', '\xda', '\xe9', '\xb6', '\xd1', '\x10', '\x0f', '\x05', - '\x01', '\x02', '\xc7', '\x02', '\xd3', '\x80', '\x0c', '\xa2', - '\x7a', '\x86', '\x7f', '\xb6', '\xbe', '\x0f', '\x84', '\xe2', - '\xfe', '\x0b', '\x6a', '\x06', '\x6b', '\xa6', '\x6d', '\xb6', - '\x7d', '\x86', '\xeb', '\xd6', '\x48', '\xa0', '\x0f', '\x05', - '\x60', '\x9a', '\x2d', '\x96', '\x49', '\xa5', '\x59', '\x9a', - '\x4c', '\xd5', '\xd9', '\x9a', '\x32', '\x30', '\x02', '\xd2', - '\x82', '\xd2', '\x6b', '\x96', '\x2a', '\x96', '\xe9', '\xa6', - '\x20', '\x00', '\x6a', '\xc6', '\x60', '\xc9', '\x59', '\x9a', - '\xdf', '\x9e', '\xff', '\xff', '\x0a', '\x30', '\x02', '\xc2', - '\x82', '\xc2', '\x42', '\xa2', '\x7f', '\xb6', '\xbe', '\x0f', - '\x6b', '\x96', '\x2a', '\x96', '\xe9', '\xc6', '\xe5', '\x10', - '\x0f', '\x05', '\x41', '\xa2', '\x7f', '\xb6', '\xbe', '\x0f', - '\xeb', '\xd6', '\xbd', '\xb0', '\x0f', '\x05', '\x7a', '\x86', - '\x7f', '\xb6', '\xbe', '\x0f', '\xfc', '\xe1', '\x7e', '\xbe', - '\x90', '\xe2', '\xfe', '\x3b', '\x73', '\x86', '\x72', '\x86', - '\x6f', '\x0e', '\xbe', '\x1a', '\x00', '\x38', '\x41', '\x12', - '\x04', '\x01', '\xc1', '\x1b', '\xcf', '\x1e', '\x01', '\x00', - '\x04', '\x30', '\x42', '\x92', '\x44', '\x92', '\x05', '\x01', - '\xc9', '\x9b', '\x60', '\xa6', '\x3f', '\xbd', '\xb2', '\x0e', - '\x00', '\x38', '\x6a', '\xa6', '\x0c', '\x20', '\x0f', '\x05', - '\xc1', '\x13', '\xcf', '\x1e', '\x03', '\x00', '\xd9', '\x80', - '\x0f', '\x05', '\x06', '\x01', '\x23', '\x3a', '\x0f', '\x0c', - '\x6c', '\x00', '\x01', '\x22', '\xc1', '\x22', '\xc7', '\x80', - '\x63', '\xa6', '\xbe', '\x3f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x98', '\xe2', '\xfe', '\x5b', '\x6a', '\x16', - '\x6b', '\x56', '\x6c', '\x36', '\x70', '\x86', '\xed', '\x06', - '\x74', '\xa0', '\x6d', '\x46', '\x05', '\x11', '\x49', '\x9a', - '\xcf', '\x9e', '\x02', '\x00', '\x12', '\x20', '\x0f', '\x05', - '\x43', '\x05', '\x59', '\x9a', '\xdf', '\x9e', '\xff', '\xff', - '\x54', '\x30', '\x42', '\x22', '\x05', '\x11', '\x49', '\x9a', - '\xcf', '\x9e', '\x04', '\x00', '\x0e', '\x20', '\x61', '\xa6', - '\x43', '\x05', '\x69', '\x9a', '\xff', '\x92', '\x3e', '\x30', - '\x44', '\x22', '\x61', '\xa6', '\x3f', '\xbd', '\x1e', '\x0c', - '\x00', '\x38', '\x61', '\xa6', '\x4f', '\xbc', '\xa0', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\xd6', '\x0b', - '\x00', '\x38', '\x65', '\xb6', '\x20', '\xb6', '\x63', '\xc6', - '\x20', '\xc6', '\x61', '\xa6', '\x3f', '\xbd', '\xaa', '\x0b', - '\x00', '\x38', '\x6a', '\x26', '\x61', '\xa6', '\x65', '\xb6', - '\x20', '\xb6', '\x3f', '\xbd', '\x4a', '\x0c', '\x00', '\x38', - '\x6a', '\xa6', '\xf3', '\x20', '\x61', '\xa6', '\x22', '\x06', - '\xe4', '\x06', '\x91', '\xb0', '\x0f', '\x05', '\xbe', '\x5f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\xa4', '\xe2', - '\xfe', '\x8b', '\x6a', '\x16', '\x6b', '\x06', '\x6c', '\x86', - '\x3f', '\xbd', '\xdc', '\x13', '\x00', '\x38', '\x6a', '\x96', - '\x1a', '\x30', '\x41', '\xa2', '\x60', '\xd6', '\x28', '\xd6', - '\xe9', '\xd6', '\x14', '\x80', '\x0f', '\x05', '\x6f', '\xae', - '\x28', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', - '\x00', '\x38', '\x42', '\xa2', '\xbe', '\x8f', '\x3e', '\x0d', - '\x6f', '\xce', '\xc4', '\x1a', '\x00', '\x38', '\x6c', '\xca', - '\xec', '\x06', '\x1e', '\x10', '\xec', '\xd6', '\x6f', '\x9e', - '\x96', '\x1b', '\x00', '\x38', '\x09', '\x91', '\x70', '\x8a', - '\x16', '\x91', '\xe1', '\x1b', '\xac', '\x06', '\x1a', '\x91', - '\xe0', '\x0b', '\x1e', '\x91', '\xe8', '\x8b', '\x74', '\xe0', - '\x0f', '\x05', '\x5a', '\x80', '\x6c', '\x96', '\x6f', '\xde', - '\x96', '\x1b', '\x00', '\x38', '\x01', '\xd1', '\xe1', '\x1b', - '\x05', '\xd1', '\xe0', '\x0b', '\xa0', '\x96', '\x09', '\xd1', - '\xe9', '\x9b', '\x29', '\x16', '\x16', '\xd1', '\xe1', '\x1b', - '\x1a', '\xd1', '\x70', '\x8a', '\x68', '\xc6', '\xa9', '\xc6', - '\x1e', '\xd1', '\xec', '\xcb', '\x46', '\xe0', '\x0f', '\x05', - '\x6f', '\xae', '\x44', '\x1a', '\x00', '\x38', '\x3f', '\xbd', - '\xda', '\x04', '\x00', '\x38', '\x44', '\xa2', '\xbe', '\x8f', - '\x3e', '\x0d', '\x6f', '\xae', '\x58', '\x1a', '\x00', '\x38', - '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', '\x60', '\xa6', - '\x41', '\xb2', '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', - '\x43', '\xa2', '\xbe', '\x8f', '\x3e', '\x0d', '\x6f', '\x9e', - '\x96', '\x1b', '\x00', '\x38', '\x01', '\x91', '\xe1', '\x1b', - '\x05', '\x91', '\xe0', '\x0b', '\x09', '\x91', '\xe8', '\x8b', - '\x1e', '\x91', '\x70', '\x8a', '\x6f', '\xce', '\x96', '\x1b', - '\x00', '\x38', '\x7c', '\x0a', '\x0d', '\xc1', '\x70', '\x8a', - '\x11', '\xc1', '\x70', '\x8a', '\x15', '\xc1', '\x79', '\x0e', - '\x7f', '\x0d', '\xb8', '\x1b', '\x00', '\x38', '\x70', '\x8a', - '\x7f', '\x0d', '\xbc', '\x1b', '\x00', '\x38', '\x70', '\x8a', - '\x0d', '\x91', '\xe8', '\x8a', '\xff', '\x8d', '\xc0', '\x01', - '\x75', '\x86', '\x65', '\x56', '\x04', '\x20', '\x6c', '\xd6', - '\x15', '\xd2', '\x65', '\x96', '\x29', '\x55', '\x65', '\x36', - '\x23', '\x95', '\x09', '\xd1', '\x69', '\x9a', '\x24', '\x30', - '\x2c', '\x36', '\x0d', '\xd1', '\xe9', '\x9a', '\x1c', '\x80', - '\x0f', '\x05', '\x09', '\x31', '\x69', '\x9a', '\x10', '\x30', - '\x0f', '\x05', '\x83', '\x0b', '\x0a', '\x20', '\x0f', '\x05', - '\x0d', '\x31', '\xe9', '\x9a', '\x06', '\x20', '\x0f', '\x05', - '\x65', '\x56', '\x35', '\x35', '\x11', '\x31', '\x63', '\x3a', - '\xca', '\x32', '\x4d', '\x90', '\x65', '\x96', '\x29', '\x55', - '\x65', '\x36', '\x23', '\x95', '\x2f', '\x3e', '\x96', '\x1b', - '\x00', '\x38', '\x05', '\x31', '\x64', '\x4a', '\x0d', '\x31', - '\x69', '\x9a', '\x29', '\x46', '\x01', '\x31', '\x27', '\x9a', - '\x65', '\xa6', '\xc3', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\x2f', '\xae', '\xbe', '\x1a', - '\x00', '\x38', '\x64', '\xb6', '\x3f', '\xbd', '\x2c', '\x13', - '\x00', '\x38', '\x83', '\x0b', '\x24', '\x30', '\x6a', '\x66', - '\x65', '\xa6', '\xc3', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\x2f', '\xae', '\xbe', '\x1a', - '\x00', '\x38', '\x64', '\xb6', '\x3f', '\xbd', '\x4a', '\x0c', - '\x00', '\x38', '\x6a', '\xa6', '\xe5', '\x20', '\x65', '\xa6', - '\x73', '\x0a', '\x65', '\x26', '\xc3', '\x23', '\xa5', '\x26', - '\xc2', '\x23', '\xa5', '\x26', '\xc2', '\x23', '\x2f', '\x2e', - '\xbe', '\x1a', '\x00', '\x38', '\x62', '\xa6', '\x4f', '\xbc', - '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', - '\xd6', '\x0b', '\x00', '\x38', '\x62', '\xa6', '\x64', '\xb6', - '\x67', '\xc6', '\x66', '\xd6', '\x3f', '\xbd', '\x7e', '\x13', - '\x00', '\x38', '\x4a', '\xa6', '\x28', '\x20', '\x7b', '\x86', - '\x0d', '\x31', '\x69', '\xde', '\x26', '\xd6', '\xe9', '\xdb', - '\x11', '\x31', '\x70', '\x8a', '\x62', '\xaa', '\x24', '\xa6', - '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x62', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', - '\x00', '\x38', '\xaa', '\xe0', '\x0f', '\x05', '\xcf', '\xae', - '\x01', '\x00', '\x4c', '\x30', '\x0f', '\x05', '\xcf', '\xae', - '\x02', '\x00', '\x46', '\x20', '\x65', '\xa6', '\x62', '\xaa', - '\x24', '\xa6', '\x6f', '\x1e', '\x20', '\x05', '\x00', '\x38', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\x0e', '\xda', '\x04', - '\x00', '\x38', '\x6f', '\xae', '\x76', '\x1a', '\x00', '\x38', - '\xb0', '\xb9', '\x66', '\xa6', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\xae', '\x82', '\x1a', '\x00', '\x38', '\xb0', '\xb9', - '\x62', '\xa6', '\x64', '\xb6', '\x3f', '\xbd', '\xde', '\x12', - '\x00', '\x38', '\x41', '\x92', '\xc3', '\x9b', '\x11', '\x31', - '\x6d', '\x9e', '\x01', '\x92', '\x58', '\xe0', '\xed', '\x9b', - '\x65', '\xa6', '\xc3', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\x6f', '\xad', '\xbe', '\x1a', - '\x00', '\x38', '\x62', '\xae', '\x24', '\xa6', '\x6f', '\x1e', - '\x20', '\x05', '\x00', '\x38', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\x0e', '\xda', '\x04', '\x00', '\x38', '\x6f', '\xae', - '\x8a', '\x1a', '\x00', '\x38', '\xb0', '\xb9', '\x66', '\xa6', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\xae', '\x82', '\x1a', - '\x00', '\x38', '\xb0', '\xb9', '\x62', '\xa6', '\x64', '\xb6', - '\x67', '\xc6', '\x66', '\xd6', '\x3f', '\xbd', '\x2e', '\x14', - '\x00', '\x38', '\x0d', '\x31', '\x6d', '\x9e', '\x26', '\x96', - '\xed', '\x9b', '\x11', '\x31', '\x70', '\x8a', '\x6f', '\xce', - '\x96', '\x1b', '\x00', '\x38', '\x0d', '\xc1', '\x69', '\x9a', - '\x7f', '\x0d', '\xb8', '\x1b', '\x00', '\x38', '\x29', '\x9a', - '\xe8', '\x96', '\xff', '\x1d', '\x44', '\xfe', '\x0f', '\x05', - '\x75', '\x86', '\x6f', '\x2e', '\xbe', '\x1a', '\x00', '\x38', - '\x6f', '\x1e', '\x96', '\x1b', '\x00', '\x38', '\x09', '\x11', - '\xa0', '\x0b', '\x4c', '\x30', '\x7b', '\x86', '\x62', '\xaa', - '\x3f', '\xbd', '\x20', '\x05', '\x00', '\x38', '\x6f', '\xae', - '\x96', '\x1a', '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', - '\x00', '\x38', '\x70', '\x86', '\x09', '\x11', '\xe0', '\x0a', - '\x22', '\x00', '\x0f', '\x05', '\x05', '\x11', '\x29', '\x0a', - '\x01', '\x11', '\x6d', '\xda', '\x62', '\x99', '\x59', '\x9a', - '\x4d', '\x05', '\xd9', '\x9a', '\xff', '\x2d', '\x9a', '\xfd', - '\x0f', '\x05', '\x02', '\x02', '\x09', '\x11', '\xe0', '\x0a', - '\xe3', '\x10', '\x0f', '\x05', '\x6f', '\xae', '\xa6', '\x1a', - '\x00', '\x38', '\x3f', '\xbd', '\xda', '\x04', '\x00', '\x38', - '\x0f', '\x2c', '\x6c', '\x00', '\x01', '\x52', '\xc1', '\x52', - '\xa5', '\x80', '\x15', '\x12', '\x7a', '\x86', '\xbe', '\x8f', - '\x3e', '\x0d', '\x00', '\x00', '\x7f', '\xb6', '\x0f', '\x05', - '\x00', '\x00', '\x00', '\x00', '\x0d', '\x0a', '\x0d', '\x0a', - '\x44', '\x65', '\x76', '\x69', '\x63', '\x65', '\x20', '\x49', - '\x44', '\x20', '\x3d', '\x20', '\x00', '\x00', '\x43', '\x68', - '\x65', '\x63', '\x6b', '\x73', '\x75', '\x6d', '\x20', '\x6f', - '\x66', '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x6c', '\x6f', - '\x61', '\x64', '\x65', '\x72', '\x20', '\x69', '\x73', '\x20', - '\x00', '\x00', '\x57', '\x61', '\x69', '\x74', '\x69', '\x6e', - '\x67', '\x20', '\x66', '\x6f', '\x72', '\x20', '\x6c', '\x6f', - '\x61', '\x64', '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', - '\x0d', '\x0a', '\x00', '\x00', '\x47', '\x6f', '\x74', '\x20', - '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x69', '\x6e', '\x66', - '\x6f', '\x2e', '\x0d', '\x0a', '\x00', '\x00', '\x50', '\x41', - '\x43', '\x4b', '\x45', '\x54', '\x5f', '\x49', '\x4e', '\x46', - '\x4f', '\x0d', '\x0a', '\x00', '\x53', '\x45', '\x54', '\x5f', - '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', - '\x0d', '\x0a', '\x00', '\x00', '\x47', '\x45', '\x54', '\x5f', - '\x52', '\x45', '\x47', '\x49', '\x53', '\x54', '\x45', '\x52', - '\x0d', '\x0a', '\x00', '\x00', '\x50', '\x41', '\x55', '\x53', - '\x45', '\x5f', '\x4c', '\x4f', '\x4f', '\x50', '\x0d', '\x0a', - '\x00', '\x00', '\x4d', '\x45', '\x4d', '\x5f', '\x56', '\x45', - '\x52', '\x49', '\x46', '\x59', '\x0d', '\x0a', '\x00', '\x00', - '\x76', '\x65', '\x72', '\x69', '\x66', '\x79', '\x20', '\x66', - '\x61', '\x69', '\x6c', '\x65', '\x64', '\x0d', '\x0a', '\x00', - '\x4d', '\x45', '\x4d', '\x5f', '\x54', '\x45', '\x53', '\x54', - '\x0d', '\x0a', '\x00', '\x00', '\x23', '\x23', '\x23', '\x20', - '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', - '\x65', '\x73', '\x74', '\x20', '\x66', '\x61', '\x69', '\x6c', - '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', - '\x50', '\x61', '\x73', '\x73', '\x65', '\x64', '\x20', '\x6d', - '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', '\x65', - '\x73', '\x74', '\x2e', '\x0d', '\x0a', '\x00', '\x4d', '\x45', - '\x4d', '\x5f', '\x44', '\x55', '\x4d', '\x50', '\x0d', '\x0a', - '\x00', '\x00', '\x4d', '\x45', '\x4d', '\x5f', '\x43', '\x4c', - '\x45', '\x41', '\x52', '\x0d', '\x0a', '\x00', '\x46', '\x4c', - '\x41', '\x53', '\x48', '\x0d', '\x0a', '\x00', '\x4a', '\x55', - '\x4d', '\x50', '\x0d', '\x0a', '\x00', '\x00', '\x45', '\x4e', - '\x44', '\x0d', '\x0a', '\x00', '\x23', '\x23', '\x23', '\x20', - '\x55', '\x6e', '\x6b', '\x6e', '\x6f', '\x77', '\x6e', '\x20', - '\x74', '\x79', '\x70', '\x65', '\x3a', '\x20', '\x00', '\x00', - '\x43', '\x68', '\x65', '\x63', '\x6b', '\x73', '\x75', '\x6d', - '\x20', '\x6f', '\x66', '\x20', '\x66', '\x69', '\x6c', '\x65', - '\x20', '\x69', '\x73', '\x20', '\x00', '\x00', '\x23', '\x23', - '\x23', '\x20', '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', - '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', '\x31', '\x20', - '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', - '\x74', '\x20', '\x00', '\x00', '\x23', '\x23', '\x23', '\x20', - '\x4d', '\x65', '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', - '\x65', '\x73', '\x74', '\x20', '\x32', '\x20', '\x66', '\x61', - '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', - '\x00', '\x00', '\x20', '\x3a', '\x00', '\x00', '\x38', '\x4d', - '\x62', '\x20', '\x42', '\x42', '\x00', '\x00', '\x38', '\x4d', - '\x62', '\x20', '\x54', '\x42', '\x00', '\x00', '\x31', '\x36', - '\x4d', '\x62', '\x20', '\x42', '\x42', '\x00', '\x31', '\x36', - '\x4d', '\x62', '\x20', '\x54', '\x42', '\x00', '\x33', '\x32', - '\x4d', '\x62', '\x20', '\x54', '\x42', '\x00', '\x55', '\x6e', - '\x73', '\x75', '\x70', '\x70', '\x6f', '\x72', '\x74', '\x65', - '\x64', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', '\x6c', - '\x65', '\x61', '\x76', '\x65', '\x21', '\x0a', '\x00', '\x00', - '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x31', '\x20', - '\x78', '\x20', '\x43', '\x46', '\x49', '\x20', '\x61', '\x74', - '\x20', '\x00', '\x54', '\x6f', '\x6f', '\x20', '\x6d', '\x61', - '\x6e', '\x79', '\x20', '\x72', '\x65', '\x67', '\x69', '\x6f', - '\x6e', '\x73', '\x20', '\x6f', '\x6e', '\x20', '\x63', '\x68', - '\x69', '\x70', '\x21', '\x0a', '\x00', '\x00', '\x4e', '\x6f', - '\x20', '\x73', '\x69', '\x6e', '\x67', '\x6c', '\x65', '\x20', - '\x78', '\x31', '\x36', '\x20', '\x61', '\x74', '\x20', '\x00', - '\x4e', '\x6f', '\x20', '\x69', '\x6e', '\x74', '\x65', '\x72', - '\x6c', '\x65', '\x61', '\x76', '\x65', '\x64', '\x20', '\x78', - '\x31', '\x36', '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', - '\x46', '\x6f', '\x75', '\x6e', '\x64', '\x20', '\x00', '\x00', - '\x31', '\x00', '\x32', '\x00', '\x20', '\x78', '\x20', '\x00', - '\x46', '\x61', '\x74', '\x61', '\x6c', '\x3a', '\x20', '\x66', - '\x6c', '\x61', '\x73', '\x68', '\x20', '\x69', '\x73', '\x20', - '\x74', '\x6f', '\x6f', '\x20', '\x73', '\x6d', '\x61', '\x6c', - '\x6c', '\x2e', '\x0a', '\x00', '\x53', '\x65', '\x63', '\x74', - '\x6f', '\x72', '\x20', '\x65', '\x72', '\x61', '\x73', '\x65', - '\x20', '\x65', '\x72', '\x72', '\x6f', '\x72', '\x0a', '\x00', - '\x45', '\x72', '\x72', '\x6f', '\x72', '\x20', '\x61', '\x74', - '\x20', '\x00', '\x3a', '\x20', '\x4e', '\x6f', '\x20', '\x6e', - '\x65', '\x65', '\x64', '\x20', '\x74', '\x6f', '\x20', '\x77', - '\x72', '\x69', '\x74', '\x65', '\x0a', '\x00', '\x3a', '\x20', - '\x45', '\x72', '\x61', '\x73', '\x69', '\x6e', '\x67', '\x20', - '\x00', '\x00', '\x20', '\x62', '\x79', '\x74', '\x65', '\x73', - '\x0a', '\x00', '\x3a', '\x20', '\x57', '\x72', '\x69', '\x74', - '\x69', '\x6e', '\x67', '\x20', '\x00', '\x00', '\x3a', '\x20', - '\x56', '\x65', '\x72', '\x69', '\x66', '\x79', '\x69', '\x6e', - '\x67', '\x2e', '\x2e', '\x2e', '\x00', '\x00', '\x4f', '\x4b', - '\x0a', '\x00', '\x7e', '\x19', '\x00', '\x38', '\x86', '\x19', - '\x00', '\x38', '\x8e', '\x19', '\x00', '\x38', '\x96', '\x19', - '\x00', '\x38', '\x9e', '\x19', '\x00', '\x38', '\x00', '\x00', - '\x00', '\x80', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x84', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x54', '\x68', '\x69', '\x73', '\x20', '\x62', '\x6f', '\x6f', - '\x74', '\x6c', '\x6f', '\x61', '\x64', '\x65', '\x72', '\x20', - '\x77', '\x61', '\x73', '\x20', '\x62', '\x75', '\x69', '\x6c', - '\x74', '\x20', '\x62', '\x79', '\x20', '\x72', '\x6f', '\x6f', - '\x74', '\x20', '\x6f', '\x6e', '\x20', '\x57', '\x65', '\x64', - '\x20', '\x4d', '\x61', '\x79', '\x20', '\x31', '\x36', '\x20', - '\x32', '\x31', '\x3a', '\x33', '\x31', '\x3a', '\x34', '\x33', - '\x20', '\x43', '\x45', '\x53', '\x54', '\x20', '\x32', '\x30', - '\x30', '\x37', '\x2e', '\x0d', '\x0a', '\x00' -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/network.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/network.c deleted file mode 100644 index 7c77d5e528..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/network.c +++ /dev/null @@ -1,706 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : network.c -*! -*! DESCRIPTION: Network boot stuff for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! 1996 Ronny Raneup Initial version -*! 2002 05 02 Ronny Ranerup Moved it into this file -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999, 2000, 2001, 2002 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ - -/************************** Include files ********************************/ - -#include <stdio.h> -#include <pcap.h> -#include <conf.h> /* from configure */ - -#include <e100boot.h> -#include <common.h> -#include <network.h> - -/************************** Constants and macros *************************/ - -#define CRC_LEN 4 - -/************************** Type definitions *****************************/ - -/************************** Global variables *****************************/ - -udword highest_ack_received; -udword last_ack_received = -1; -int new_ack = FALSE; -int got_new_packet = FALSE; - -unsigned char dst_addr_of_device[] = { 0x01, 0x40, 0x8c, 0x00, 0x01, 0x00 }; -unsigned char src_addr_of_device[] = { 0x02, 0x40, 0x8c, 0x00, 0x01, 0x00 }; -unsigned char eth_addr_local[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -struct sockaddr sock_addr; -int sock_fd; -int pPacket = 0; -pcap_t *pd; - -pcap_handler handler; - -struct packet_buf first_rec_packet; -struct packet_buf *last_rec_packet = &first_rec_packet; - -int promisc = 1; /* promiscuous mode */ -int all_ids = TRUE; - -int both_addresses = FALSE; -int p_packet_bpl = 8; -int printPacketType = CHAR; - -unsigned int id; -int one_id_only = TRUE; - -unsigned char buf[10000]; /* pcap buffer */ - -const struct pcap_pkthdr *hdrG; - -char host1[MAX_STRING_LEN]; /* name of ethernet host */ -char host2[MAX_STRING_LEN]; /* name of ethernet host */ - -/************************** Function prototypes **************************/ - -int timeout (struct timeval *tvThen, int ms); -int InitSendSocket (char *device_name); -int highest_seq_received (void); -struct packet_buf* ack_on_seq (int seq); -struct packet_buf* packet_with_seq (int seq); -struct timeval timeval_subtract (struct timeval *x, struct timeval *y); -void GetNextPacket (void); -void PrintPacket (const unsigned char *p, int size, int type); - -/**************************************************************************** -*# -*# FUNCTION NAME: net_init -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2002 05 02 ronny Initial version -*# -*#***************************************************************************/ -void -net_init(void) -{ - static char *dev; - static char errBuf[1000]; - - GetLocalEthAddr(); - first_rec_packet.data = malloc(PACKET_SIZE); - - if ((dev = pcap_lookupdev(errBuf)) == NULL) { - printf("Error %s\n", errBuf); - if (errno == EPERM) - { - printf("Make sure this program is executed with root privileges.\n"); - } - - exit(EXIT_FAILURE); - } - - if ((pd = pcap_open_live(device, 200, promisc, 10, errBuf)) == NULL) { - printf("Error %s\n", errBuf); - if (errno == EPERM) - { - printf("Make sure this program is executed with root privileges.\n"); - } - - exit(EXIT_FAILURE); - } - - handler = (pcap_handler) Handler; - - InitSendSocket(device); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: NetBoot -*# -*# DESCRIPTION: The main network boot routine. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 01 07 ronny Initial version -*# 2002 05 02 ronny Fixed segv bug -*# -*#***************************************************************************/ - -void -NetBoot(void) -{ - struct packet_buf *p; - struct timeval tv; - - gettimeofday(&tv, NULL); - - p = create_packet(0); - SendToDevice(p->data, p->size); - - while(1) { - static int all_trans = FALSE; - - if (got_new_packet) { - got_new_packet = FALSE; - - if (new_ack && first_packet) { - if (db4) { - printf("* got ACK %d.\n", last_ack_received); - printf("* ACK wanted %d.\n", first_packet->seq); - } - if (last_ack_received == first_packet->seq) { - if (!(p = create_packet(first_packet->seq+1))) { - //break; - } - first_packet = free_packet(first_packet); - } - } - } - - if (new_ack || timeout(&tv, 500)) { - if (p) { - SendToDevice(p->data, p->size); - } - new_ack = FALSE; - gettimeofday(&tv, NULL); - } - - GetNextPacket(); - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetNextPacket -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -GetNextPacket(void) -{ - int ret; - - if (db2) printf("> GetNextPacket\n"); - - /* got_new_packet = FALSE;*/ - if ((ret = pcap_dispatch(pd, 1, handler, buf)) == -1) { - pcap_perror(pd, "Error in pcap_dispatch"); - exit(EXIT_FAILURE); - } - - if (db2) printf("< GetNextPacket\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: Handler -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -Handler(unsigned char *buf, const struct pcap_pkthdr *hdr, - const unsigned char *p) -{ - const unsigned char *src = &p[6]; - const unsigned char *dst = &p[0]; - struct packet_header_T *h = (struct packet_header_T*)p; - - if (db2) printf("> Handler\n"); - got_new_packet = TRUE; - if ((!memcmp(src, eth_addr_local, 6) && !memcmp(dst, dst_addr_of_device, 6)) - || (!memcmp(src, src_addr_of_device, 6) && !memcmp(dst, eth_addr_local, 6))) { - if (db1) printf("#RX######################################################\n"); - if (db1) printf("Length: %u(0x%x)\n", (udword)hdr->len, (udword)hdr->len); - if (pPacket) PrintPacket(p, hdr->caplen, printPacketType); - DecodeSvintoBoot(p); - /* should clean up this... */ - if ((ntohl(h->type) == ACK)) { - if (all_ids || (ntohl(h->id) == id)) { - if (all_ids && one_id_only) { - if (ntohl(h->id) == 0) { - all_ids = FALSE; - id = ntohl(h->id); - printf("Booting device with random id %8.8x.\n", id); - } - } - } - else { - printf("Got ACK from a new id, %8.8lx. Ignoring.\n", - (unsigned long)ntohl(h->id)); - return; - } - new_ack = TRUE; - last_ack_received = ntohl(h->seq); - if (last_ack_received > highest_ack_received) { - highest_ack_received = last_ack_received; - } - } - - if (db1) printf("#########################################################\n"); - - } - if (db2) printf("< Handler\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: ack_on_seq -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980817 ronny Initial version -*# -*#***************************************************************************/ - -struct packet_buf * -packet_with_seq(int seq) -{ - static int last_seq = 0; - struct packet_buf *p = first_packet; - struct packet_header_T *h; - - if (seq < last_seq) { - p = first_packet; - } - - while(p) { - h = (struct packet_header_T*)p->data; - if (ntohl(h->seq) == seq) { - return(p); - } - p = p->next; - } - return(NULL); -} - -struct packet_buf * -ack_on_seq(int seq) -{ - struct packet_buf *p = &first_rec_packet; - struct packet_header_T *h; - - if (db1) printf("***> ack_on_seq: %d.\n", seq); - - while (p) { - /* printf("\nPacket at %x.\n", p);*/ - /* DecodeSvintoBoot(p->data);*/ - h = (struct packet_header_T*)p->data; - if ( (ntohl(h->type) == ACK) && (ntohl(h->seq) == seq) ) { - if (all_ids || ntohl(h->id) == id) { - printf("***< ack_on_seq %d, ok.\n", seq); - return(p); - } - } - p = p->next; - } - if (db1) printf("***< ack_on_seq, no.\n"); - return(NULL); -} - -int -highest_seq_received(void) -{ - struct packet_buf *p = &first_rec_packet; - struct packet_header_T *h; - int highest_seq = -1; - - if (db1) printf("***> highest_seq_received\n"); - - while (p) { - /* printf("\nPacket at %x.\n", p);*/ - /* DecodeSvintoBoot(p->data);*/ - h = (struct packet_header_T*)p->data; - if ((ntohl(h->type) == ACK) && (all_ids || (ntohl(h->id) == id))) { - if ((int)ntohl(h->seq) > highest_seq) { - highest_seq = ntohl(h->seq); - if (db4) printf("Highest seq: %d\n", highest_seq); - } - } - p = p->next; - } - - if (db1) printf("***< highest_seq_received: %d\n", highest_seq); - return(highest_seq); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: PrintPacket -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -PrintPacket(const unsigned char *p, int size, int type) -{ - int i; - - /* printf("size %d\n", size);*/ - for (i = 0; i != size; i++) { - if (i % p_packet_bpl == 0) - printf("\n%-4.4d: ", i); - if (type == UDEC) - printf("%-3d ", p[i]); - else if (type == HEX) - printf("%-2.2x ", p[i]); - else if (type == CHAR) { - if (isprint(p[i])) - printf("%-3c ", p[i]); - else - printf("%-3d ", p[i]); - } - else if (type == ASCII) { - if (isprint(p[i])) - printf("%c", p[i]); - else - printf("."); - } - } - printf("\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: DecodeSvintoBoot -*# -*# PARAMETERS: -*# -*# DESCRIPTION: Decodes packets that follow the e100boot protocol. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -DecodeSvintoBoot(const unsigned char *p) -{ - char *str; - volatile struct packet_header_T *ph = (struct packet_header_T*)p; - - /* printf("size %d \n", sizeof(struct packet_header_T));*/ - - if (db4) printf("\n>DecodeSvintoBoot. Packet at 0x%x\n", (unsigned int)p); - if (db1) { - printf("%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x -> ", p[6],p[7],p[8],p[9],p[10], p[11]); - printf("%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x\n", p[0],p[1],p[2],p[3],p[4], p[5]); - - printf("length : %4.4lx\n", (long)ntohs(ph->length)); - printf("snap1 : %8.8lx\n", (long)ntohl(ph->snap1)); - printf("snap2 : %8.8lx\n", (long)ntohl(ph->snap2)); - - switch (ntohl(ph->tag)) { - case 0xffffffff: - str = "(host > ETRAX)"; - break; - case 0xfffffffe: - str = "(host < ETRAX)"; - break; - default: - str = "(unknown)"; - break; - } - printf("tag : %8.8lx %s\n", (unsigned long)ntohl(ph->tag), str); - printf("seq : %8.8lx\n", (unsigned long)ntohl(ph->seq)); - } - - switch (ntohl(ph->type)) { - - case STRING: - str = "(STRING)"; - fprintf(stderr, "%s", &p[sizeof(struct packet_header_T)]); - find_string((char*)&p[sizeof(struct packet_header_T)]); - break; - - case NET_INT: { - char search_str[20]; - - str = "(NET_INT)"; - sprintf(search_str, "0x%8.8x", ntohl(*(udword*)&p[sizeof(struct packet_header_T)])); - fprintf(stderr, search_str); - find_string(search_str); - break; - } - - case NET_INT_NL: { - char search_str[20]; - - str = "(NET_INT_NL)"; - sprintf(search_str, "0x%8.8x\n", ntohl(*(udword*)&p[sizeof(struct packet_header_T)])); - fprintf(stderr, search_str); - find_string(search_str); - break; - } - - case ACK: - str = "(ACK)"; - break; - - case BOOT_PACKET: - str = "(bootpacket)"; - break; - - case BOOT_CMDS: - str = "(bootcmds)"; - break; - - default: - str = "(unknown)"; - break; - } - - if (db1) { - printf("(type : %8.8lx %s)\n", (unsigned long)ntohl(ph->type), str); - printf("(id : %8.8lx)\n", (unsigned long)ntohl(ph->id)); - id = ntohl(ph->id); - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetLocalEthAddr -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980818 ronny Initial version -*# -*#***************************************************************************/ - -void -GetLocalEthAddr(void) -{ - int fd; - struct ifreq ifr; - - if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - perror("socket (GetLocalEthAddr)"); - exit(EXIT_FAILURE); - } - - strcpy(ifr.ifr_name, device); - if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) { - perror("ioctl"); - exit(EXIT_FAILURE); - } - - memcpy(eth_addr_local, ifr.ifr_hwaddr.sa_data, 6); - if (db1) printf("Ethernet adress for device %s is %2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x\n", - device, - eth_addr_local[0], - eth_addr_local[1], - eth_addr_local[2], - eth_addr_local[3], - eth_addr_local[4], - eth_addr_local[5]); - shutdown(fd, 2); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: SendToDevice -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980818 ronny Initial version -*# -*#***************************************************************************/ - -void -SendToDevice(unsigned char *data, int data_len) -{ - char fName[MAX_STRING_LEN]; - FILE *fd; - struct packet_header_T *h = (struct packet_header_T*) data; - - if (db1) printf("***> SendToDevice\n"); - - if (db2) printf("Sending %d bytes at 0x%x to %s.\n", data_len, (unsigned int)data, device); - if (db1) printf("#TX######################################################\n"); - if (db1) DecodeSvintoBoot(data); - - if (db1) printf("#########################################################\n"); - if (toFiles || cmdsOnly) { - if (cmdsOnly) { /* use a simpler name */ - sprintf(fName, "e100boot.cmds"); - } - else { - sprintf(fName, "e100boot.seq%lu", (unsigned long)ntohl(h->seq)); - } - if (db2) printf("Writing packet to file '%s'.\n", fName); - if ((fd = fopen(fName, "w+")) == NULL) { - printf("Cannot open/create '%s'. %s.\n", fName, strerror(errno)); - exit(EXIT_FAILURE); - } - fwrite(data, data_len, 1, fd); - fclose(fd); - } - else if (sendto(sock_fd, data, data_len, 0, &sock_addr, sizeof(sock_addr)) < 0) { - perror("Sendto failed:"); - exit(EXIT_FAILURE); - } - - if (db1) printf("<*** SendToDevice\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: InitSendSocket -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980818 ronny Initial version -*#***************************************************************************/ - -int -InitSendSocket(char *device_name) -{ - if ((sock_fd = socket(AF_INET, SOCK_PACKET, htons(ETH_P_ALL))) < 0) { - perror("Socket call failed:"); - exit(EXIT_FAILURE); - } - - fcntl(sock_fd, F_SETFL, O_NDELAY); - - sock_addr.sa_family = AF_INET; - strcpy(sock_addr.sa_data, device_name); - - return sock_fd; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: timeout -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980817 ronny Initial version -*# -*#***************************************************************************/ - -int -timeout(struct timeval *tvThen, int ms) -{ - struct timeval tvNow; - struct timeval tvDiff; - - (void) gettimeofday(&tvNow, NULL); - tvDiff = timeval_subtract(&tvNow, tvThen); - if (db4) printf("sec %d.%d\n", (int)tvDiff.tv_sec, (int)tvDiff.tv_usec); - if (ms * 1000 < (tvDiff.tv_sec * 1000000 + tvDiff.tv_usec)) { - if (db4) printf("TIMEOUT\n"); - return(TRUE); - } - - return(FALSE); -} - -/**************************************************************************** - *# - *# FUNCTION NAME: timeval_subtract - *# - *# PARAMETERS: - *# - *# DESCRIPTION: Subtract x-y, and return result. - *# - *# DATE NAME CHANGES - *# ---- ---- ------- - *# 970128 ronny Initial version - *# - *#***************************************************************************/ - -struct timeval -timeval_subtract(struct timeval *x, struct timeval *y) -{ - struct timeval diff; - - diff.tv_sec = x->tv_sec - y->tv_sec; - diff.tv_usec = x->tv_usec - y->tv_usec; - - if (diff.tv_usec < 0) { - diff.tv_sec--; - diff.tv_usec = 1000000 + diff.tv_usec; - } - - return diff; -} diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/network.h b/target/linux/etrax-2.6/image/e100boot/src/sbl/network.h deleted file mode 100644 index c01a9869b3..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/network.h +++ /dev/null @@ -1,42 +0,0 @@ - -extern unsigned char dst_addr_of_device[]; -extern unsigned char src_addr_of_device[]; -extern unsigned char eth_addr_local[]; - -extern int pPacket; - -extern int promisc; - -extern char host1[MAX_STRING_LEN]; -extern char host2[MAX_STRING_LEN]; - -extern int both_addresses; -extern int printPacketType; -extern int p_packet_bpl; - - -#define UDEC 0 -#define CHAR 1 -#define ASCII 2 -#define HEX 3 - -#define SIZE_OF_HEADER (sizeof(struct packet_header_T)) -#define DATA_SIZE 1460 -#define SNAP1 0xaaaa0300 -#define SNAP2 0x408c8856 -#define SERVER_TAG 0xffffffff -#define CLIENT_TAG 0xfffffffe - -#define SIZE_OF_FIRST_HEADER (SIZE_OF_HEADER-8) -#define PACKET_SIZE (DATA_SIZE + SIZE_OF_HEADER) -#define SIZE_OF_BOOT_CMDS ((IO_BUF_END-IO_BUF_START)-CRC_LEN) - -#define BOOT_ADDRESS 0x380000f4 - - -void NetBoot (void); -void SendToDevice (unsigned char *data, int data_len); -void Handler (unsigned char *buf, const struct pcap_pkthdr *hdr, const unsigned char *p); -void GetLocalEthAddr (void); -void net_init (void); -void DecodeSvintoBoot (const unsigned char *p); diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/reg_des.h b/target/linux/etrax-2.6/image/e100boot/src/sbl/reg_des.h deleted file mode 100644 index dcc0133bc1..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/reg_des.h +++ /dev/null @@ -1,141 +0,0 @@ -struct reg_des { - char *name; - unsigned int addr; -} reg_des[] = { - { "R_WAITSTATES", 0xb0000000 }, - { "R_BUS_CONFIG", 0xb0000004 }, - { "R_BUS_STATUS", 0xb0000004 }, - { "R_DRAM_TIMING", 0xb0000008 }, - { "R_SDRAM_TIMING", 0xb0000008 }, - { "R_DRAM_CONFIG", 0xb000000c }, - { "R_SDRAM_CONFIG", 0xb000000c }, - { "R_EXT_DMA_0_CMD", 0xb0000010 }, - { "R_EXT_DMA_0_STAT", 0xb0000010 }, - { "R_EXT_DMA_0_ADDR", 0xb0000014 }, - { "R_EXT_DMA_1_CMD", 0xb0000018 }, - { "R_EXT_DMA_1_STAT", 0xb0000018 }, - { "R_EXT_DMA_1_ADDR", 0xb000001c }, - { "R_TIMER_CTRL", 0xb0000020 }, - { "R_TIMER_DATA", 0xb0000020 }, - { "R_WATCHDOG", 0xb0000024 }, - { "R_SHARED_RAM_CONFIG", 0xb0000040 }, - { "R_SHARED_RAM_ADDR", 0xb0000044 }, - { "R_GEN_CONFIG", 0xb000002c }, - { "R_PORT_G_DATA", 0xb0000028 }, - { "R_PORT_PA_SET", 0xb0000030 }, - { "R_PORT_PA_READ", 0xb0000030 }, - { "R_PORT_PB_SET", 0xb0000038 }, - { "R_PORT_PB_READ", 0xb0000038 }, - { "R_SERIAL0_CTRL", 0xb0000060 }, - { "R_SERIAL0_READ", 0xb0000060 }, - { "R_SERIAL0_XOFF", 0xb0000064 }, - { "R_SERIAL1_CTRL", 0xb0000068 }, - { "R_SERIAL1_READ", 0xb0000068 }, - { "R_SERIAL1_XOFF", 0xb000006c }, - { "R_SERIAL2_CTRL", 0xb0000070 }, - { "R_SERIAL2_READ", 0xb0000070 }, - { "R_SERIAL2_XOFF", 0xb0000074 }, - { "R_SERIAL3_CTRL", 0xb0000078 }, - { "R_SERIAL3_READ", 0xb0000078 }, - { "R_SERIAL3_XOFF", 0xb000007c }, - { "R_NETWORK_SA_0", 0xb0000080 }, - { "R_NETWORK_SA_1", 0xb0000084 }, - { "R_NETWORK_SA_2", 0xb0000088 }, - { "R_NETWORK_GA_0", 0xb000008c }, - { "R_NETWORK_GA_1", 0xb0000090 }, - { "R_NETWORK_REC_CONFIG", 0xb0000094 }, - { "R_NETWORK_GEN_CONFIG", 0xb0000098 }, - { "R_NETWORK_TR_CTRL", 0xb000009c }, - { "R_NETWORK_MGM_CTRL", 0xb00000a0 }, - { "R_NETWORK_STAT", 0xb00000a0 }, - { "R_REC_COUNTERS", 0xb00000a4 }, - { "R_TR_COUNTERS", 0xb00000a8 }, - { "R_PHY_COUNTERS", 0xb00000ac }, - { "R_PAR0_CTRL_DATA", 0xb0000040 }, - { "R_PAR0_STATUS_DATA", 0xb0000040 }, - { "R_PAR0_CONFIG", 0xb0000044 }, - { "R_PAR0_DELAY", 0xb0000048 }, - { "R_PAR1_CTRL_DATA", 0xb0000050 }, - { "R_PAR1_STATUS_DATA", 0xb0000050 }, - { "R_PAR1_CONFIG", 0xb0000054 }, - { "R_PAR1_DELAY", 0xb0000058 }, - { "R_ATA_CTRL_DATA", 0xb0000040 }, - { "R_ATA_STATUS_DATA", 0xb0000040 }, - { "R_ATA_CONFIG", 0xb0000044 }, - { "R_ATA_TRANSFER_CNT", 0xb0000048 }, - { "R_SCSI0_CTRL", 0xb0000044 }, - { "R_SCSI0_CMD_DATA", 0xb0000040 }, - { "R_SCSI0_STATUS", 0xb0000048 }, - { "R_SCSI1_CTRL", 0xb0000054 }, - { "R_SCSI1_CMD_DATA", 0xb0000050 }, - { "R_SCSI1_STATUS", 0xb0000058 }, - { "R_IRQ_MASK0_RD", 0xb00000c0 }, - { "R_IRQ_MASK0_CLR", 0xb00000c0 }, - { "R_IRQ_READ0", 0xb00000c4 }, - { "R_IRQ_MASK0_SET", 0xb00000c4 }, - { "R_IRQ_MASK1_RD", 0xb00000c8 }, - { "R_IRQ_MASK1_CLR", 0xb00000c8 }, - { "R_IRQ_READ1", 0xb00000cc }, - { "R_IRQ_MASK1_SET", 0xb00000cc }, - { "R_IRQ_MASK2_RD", 0xb00000d0 }, - { "R_IRQ_MASK2_CLR", 0xb00000d0 }, - { "R_IRQ_READ2", 0xb00000d4 }, - { "R_IRQ_MASK2_SET", 0xb00000d4 }, - { "R_VECT_MASK_RD", 0xb00000d8 }, - { "R_VECT_MASK_CLR", 0xb00000d8 }, - { "R_VECT_READ", 0xb00000dc }, - { "R_VECT_MASK_SET", 0xb00000dc }, - { "R_SET_EOP", 0xb000003c }, - { "R_DMA_CH0_HWSW", 0xb0000100 }, - { "R_DMA_CH0_DESCR", 0xb000010c }, - { "R_DMA_CH0_NEXT", 0xb0000104 }, - { "R_DMA_CH0_BUF", 0xb0000108 }, - { "R_DMA_CH0_FIRST", 0xb00001a0 }, - { "R_DMA_CH1_HWSW", 0xb0000110 }, - { "R_DMA_CH1_DESCR", 0xb000011c }, - { "R_DMA_CH1_NEXT", 0xb0000114 }, - { "R_DMA_CH1_BUF", 0xb0000118 }, - { "R_DMA_CH1_FIRST", 0xb00001a4 }, - { "R_DMA_CH2_HWSW", 0xb0000120 }, - { "R_DMA_CH2_DESCR", 0xb000012c }, - { "R_DMA_CH2_NEXT", 0xb0000124 }, - { "R_DMA_CH2_BUF", 0xb0000128 }, - { "R_DMA_CH2_FIRST", 0xb00001a8 }, - { "R_DMA_CH3_HWSW", 0xb0000130 }, - { "R_DMA_CH3_DESCR", 0xb000013c }, - { "R_DMA_CH3_NEXT", 0xb0000134 }, - { "R_DMA_CH3_BUF", 0xb0000138 }, - { "R_DMA_CH3_FIRST", 0xb00001ac }, - { "R_DMA_CH4_HWSW", 0xb0000140 }, - { "R_DMA_CH4_DESCR", 0xb000014c }, - { "R_DMA_CH4_NEXT", 0xb0000144 }, - { "R_DMA_CH4_BUF", 0xb0000148 }, - { "R_DMA_CH4_FIRST", 0xb00001b0 }, - { "R_DMA_CH5_HWSW", 0xb0000150 }, - { "R_DMA_CH5_DESCR", 0xb000015c }, - { "R_DMA_CH5_NEXT", 0xb0000154 }, - { "R_DMA_CH5_BUF", 0xb0000158 }, - { "R_DMA_CH5_FIRST", 0xb00001b4 }, - { "R_DMA_CH6_HWSW", 0xb0000160 }, - { "R_DMA_CH6_DESCR", 0xb000016c }, - { "R_DMA_CH6_NEXT", 0xb0000164 }, - { "R_DMA_CH6_BUF", 0xb0000168 }, - { "R_DMA_CH6_FIRST", 0xb00001b8 }, - { "R_DMA_CH7_HWSW", 0xb0000170 }, - { "R_DMA_CH7_DESCR", 0xb000017c }, - { "R_DMA_CH7_NEXT", 0xb0000174 }, - { "R_DMA_CH7_BUF", 0xb0000178 }, - { "R_DMA_CH7_FIRST", 0xb00001bc }, - { "R_DMA_CH8_HWSW", 0xb0000180 }, - { "R_DMA_CH8_DESCR", 0xb000018c }, - { "R_DMA_CH8_NEXT", 0xb0000184 }, - { "R_DMA_CH8_BUF", 0xb0000188 }, - { "R_DMA_CH8_FIRST", 0xb00001c0 }, - { "R_DMA_CH9_HWSW", 0xb0000190 }, - { "R_DMA_CH9_DESCR", 0xb000019c }, - { "R_DMA_CH9_NEXT", 0xb0000194 }, - { "R_DMA_CH9_BUF", 0xb0000198 }, - { "R_DMA_CH9_FIRST", 0xb00001c4 }, - { "R_TEST_MODE", 0xb00000fc }, - { NULL, 0 } -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/ser_ima.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/ser_ima.c deleted file mode 100644 index 2aa50d2422..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/ser_ima.c +++ /dev/null @@ -1,825 +0,0 @@ - -/* cconv 1.2 12/16/97, Copyright (C) 1997, Axis Communications AB */ - -const char ser_ima[] = -{ - '\x0f', '\x05', '\x0f', '\x05', '\x6f', '\xee', '\x00', '\x1f', - '\x00', '\x38', '\x3f', '\x0d', '\x08', '\x01', '\x00', '\x38', - '\x78', '\x56', '\x34', '\x12', '\x21', '\x43', '\x65', '\x87', - '\x6f', '\xde', '\x20', '\x00', '\x00', '\xb0', '\x5f', '\x9c', - '\x65', '\x6f', '\xed', '\x9b', '\x5f', '\x9c', '\x25', '\x2f', - '\x7f', '\x0d', '\x6c', '\x16', '\x00', '\x38', '\xe9', '\x9b', - '\xed', '\x9b', '\x3f', '\x0d', '\x28', '\x01', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x7e', '\x92', '\x7f', '\x0d', - '\x31', '\x00', '\x00', '\xb0', '\xc9', '\x9b', '\x7f', '\x0d', - '\x30', '\x00', '\x00', '\xb0', '\x70', '\x0a', '\x7f', '\x92', - '\x7f', '\x0d', '\x6c', '\x16', '\x00', '\x38', '\xc9', '\x9b', - '\x7f', '\x0d', '\x39', '\x00', '\x00', '\xb0', '\xc9', '\x9b', - '\x7f', '\x0d', '\x38', '\x00', '\x00', '\xb0', '\xc9', '\x9b', - '\x7f', '\x0d', '\x0e', '\x1b', '\x00', '\x38', '\x70', '\x8a', - '\x6f', '\x9e', '\x20', '\x00', '\x00', '\xb0', '\x69', '\x9a', - '\x79', '\x67', '\x7f', '\x0d', '\xc2', '\x1a', '\x00', '\x38', - '\xe9', '\x9b', '\x6f', '\x9e', '\x22', '\x00', '\x00', '\xb0', - '\x59', '\x9a', '\x59', '\x94', '\x7f', '\x0d', '\x2a', '\x1b', - '\x00', '\x38', '\xe9', '\x9b', '\x6f', '\x9e', '\x04', '\x00', - '\x00', '\xb0', '\x69', '\x9a', '\x06', '\x93', '\xe1', '\x93', - '\x81', '\x92', '\x7f', '\x0d', '\x12', '\x1b', '\x00', '\x38', - '\xc9', '\x9b', '\x7f', '\x0d', '\xd4', '\x1a', '\x00', '\x38', - '\x70', '\x4a', '\x3f', '\xbd', '\x68', '\x02', '\x00', '\x38', - '\x3f', '\xbd', '\xec', '\x02', '\x00', '\x38', '\x3f', '\xbd', - '\x0c', '\x02', '\x00', '\x38', '\x6a', '\xa6', '\xf7', '\x30', - '\x0f', '\x05', '\x6f', '\x9e', '\x00', '\x01', '\x00', '\x38', - '\x69', '\x9a', '\x7f', '\x0d', '\x0e', '\x1b', '\x00', '\x38', - '\xe9', '\x9a', '\x24', '\x80', '\x0f', '\x05', '\x6f', '\x9e', - '\x12', '\x1b', '\x00', '\x38', '\x49', '\x9a', '\xcf', '\x9e', - '\x01', '\x00', '\xd3', '\x20', '\x0f', '\x05', '\x6f', '\xde', - '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', '\x38', '\x93', - '\x41', '\x93', '\xcd', '\x9b', '\xc1', '\xe0', '\x0f', '\x05', - '\x4f', '\x9e', '\x55', '\x00', '\x7f', '\x0d', '\x6c', '\x16', - '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', '\x30', '\x00', - '\x00', '\xb0', '\xc9', '\x9b', '\x3e', '\xbe', '\x3f', '\x0d', - '\xac', '\x03', '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', - '\x3f', '\xbd', '\xa8', '\x02', '\x00', '\x38', '\x6a', '\xa6', - '\x16', '\x20', '\x41', '\x92', '\x3f', '\xbd', '\x34', '\x02', - '\x00', '\x38', '\x6a', '\xa6', '\x0a', '\x30', '\x79', '\x86', - '\x3f', '\xbd', '\xec', '\x02', '\x00', '\x38', '\x79', '\x86', - '\x69', '\xa6', '\x3e', '\x0d', '\x84', '\xe2', '\x6f', '\x9e', - '\x22', '\x00', '\x00', '\xb0', '\x59', '\x9a', '\x59', '\x94', - '\xee', '\x9b', '\x6f', '\xce', '\x2a', '\x1b', '\x00', '\x38', - '\x6c', '\x9a', '\x6e', '\xda', '\xad', '\x96', '\xb9', '\x96', - '\xdf', '\x9c', '\x80', '\x25', '\x0a', '\xd0', '\x0f', '\x05', - '\x6e', '\x9a', '\xec', '\x9b', '\x04', '\xe0', '\x41', '\xa2', - '\x7a', '\x86', '\x7f', '\xb6', '\x04', '\xe2', '\x00', '\x00', - '\x6f', '\x9e', '\x6c', '\x16', '\x00', '\x38', '\x79', '\x8a', - '\x7f', '\x0d', '\x64', '\x00', '\x00', '\xb0', '\x70', '\x8a', - '\x4f', '\xde', '\x55', '\x00', '\x7f', '\x0d', '\x63', '\x00', - '\x00', '\xb0', '\xcd', '\xdb', '\x0b', '\xd2', '\x7f', '\x0d', - '\x62', '\x00', '\x00', '\xb0', '\xcd', '\xdb', '\xa0', '\xd2', - '\xc9', '\xdb', '\x7f', '\x0d', '\x61', '\x00', '\x00', '\xb0', - '\xcd', '\xdb', '\x41', '\x92', '\x7f', '\x0d', '\x14', '\x1b', - '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\xb6', '\x0f', '\x05', - '\x6f', '\x9e', '\x60', '\x00', '\x00', '\xb0', '\x69', '\x9a', - '\x59', '\xb4', '\x1f', '\xbf', '\xff', '\x01', '\x88', '\x93', - '\x2e', '\xa0', '\x0f', '\x05', '\x6f', '\xce', '\x0e', '\x1b', - '\x00', '\x38', '\x6c', '\x9a', '\x6f', '\xde', '\x04', '\x01', - '\x00', '\x38', '\x6d', '\x99', '\xcb', '\xbb', '\x01', '\x92', - '\xec', '\x9b', '\x6f', '\x9e', '\x22', '\x00', '\x00', '\xb0', - '\x49', '\x9a', '\x49', '\x94', '\x7f', '\x0d', '\x2a', '\x1b', - '\x00', '\x38', '\xe9', '\x9b', '\x7f', '\xb6', '\x41', '\xa2', - '\x7f', '\xb6', '\x7a', '\x86', '\x6f', '\x9e', '\x61', '\x00', - '\x00', '\xb0', '\x49', '\x9a', '\x85', '\x93', '\xf5', '\xa0', - '\x0f', '\x05', '\x4f', '\x9e', '\x2b', '\x00', '\x7f', '\x0d', - '\x6c', '\x16', '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', - '\x60', '\x00', '\x00', '\xb0', '\xc9', '\x9b', '\x7f', '\xb6', - '\x0f', '\x05', '\x8a', '\x0b', '\x28', '\x30', '\x0f', '\x05', - '\x6f', '\x9e', '\x61', '\x00', '\x00', '\xb0', '\x49', '\x9a', - '\x85', '\x93', '\x14', '\xa0', '\x0f', '\x05', '\x6f', '\x9e', - '\x6c', '\x16', '\x00', '\x38', '\x4a', '\xde', '\xc9', '\xdb', - '\x7f', '\x0d', '\x60', '\x00', '\x00', '\xb0', '\xcd', '\xdb', - '\x8a', '\x0b', '\xdd', '\x20', '\x0f', '\x05', '\x7f', '\xb6', - '\x0f', '\x05', '\xfc', '\xe1', '\x7e', '\xbe', '\x8e', '\xe2', - '\x4f', '\x9e', '\x30', '\x00', '\x01', '\xe1', '\xc9', '\x9b', - '\x4f', '\xde', '\x78', '\x00', '\x02', '\xe1', '\xcd', '\xdb', - '\x4d', '\x92', '\x0b', '\xe1', '\xc9', '\x9b', '\x4a', '\xd2', - '\x0c', '\xe1', '\xcd', '\xdb', '\x0d', '\xe1', '\x70', '\x0a', - '\x4b', '\xb6', '\x06', '\x20', '\x7c', '\x86', '\x0b', '\xe1', - '\x70', '\x0a', '\x6c', '\x96', '\xc2', '\x93', '\x6a', '\xb6', - '\xe9', '\xb7', '\x4b', '\xd6', '\x0f', '\xd3', '\xcf', '\xde', - '\x09', '\x00', '\x04', '\x80', '\x49', '\x92', '\x07', '\xd2', - '\xac', '\x96', '\x4e', '\xb2', '\x2e', '\xb6', '\x2b', '\x96', - '\x30', '\xd2', '\xf3', '\x91', '\xcd', '\xdb', '\x01', '\xc2', - '\xc8', '\xc2', '\xd9', '\x20', '\x6c', '\x96', '\x6e', '\xa6', - '\x01', '\xa2', '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', - '\x0e', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', - '\x84', '\xe2', '\xfe', '\x0b', '\x4f', '\x9e', '\xaa', '\xff', - '\x7f', '\x0d', '\x6c', '\x16', '\x00', '\x38', '\xc9', '\x9b', - '\x7f', '\x0d', '\x30', '\x00', '\x00', '\xb0', '\xc9', '\x9b', - '\x6f', '\x0e', '\x12', '\x03', '\x00', '\x38', '\x6f', '\xae', - '\x70', '\x16', '\x00', '\x38', '\xb0', '\xb9', '\x6f', '\xae', - '\xc2', '\x1a', '\x00', '\x38', '\x6a', '\xaa', '\x7a', '\x67', - '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', '\x00', '\x38', - '\x6f', '\xae', '\x3c', '\x1a', '\x00', '\x38', '\xb0', '\xb9', - '\x6f', '\x9e', '\xf0', '\x00', '\x00', '\x38', '\xef', '\x9e', - '\x82', '\x1a', '\x00', '\x38', '\x0e', '\x30', '\x70', '\x86', - '\x09', '\x0c', '\xef', '\x9e', '\x82', '\x1a', '\x00', '\x38', - '\xf7', '\x20', '\x0f', '\x05', '\x6f', '\xae', '\x82', '\x16', - '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', - '\x60', '\xa6', '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', - '\x00', '\x38', '\x3f', '\xbd', '\x74', '\x04', '\x00', '\x38', - '\x3f', '\x0d', '\x28', '\x01', '\x00', '\x38', '\xbe', '\x0f', - '\x3e', '\x0d', '\x84', '\xe2', '\x4f', '\x9e', '\x55', '\x00', - '\x7f', '\x0d', '\x6c', '\x16', '\x00', '\x38', '\xc9', '\x9b', - '\x7f', '\x0d', '\x30', '\x00', '\x00', '\xb0', '\xc9', '\x9b', - '\x6f', '\x9e', '\x30', '\x00', '\x00', '\xb0', '\x69', '\xda', - '\x7d', '\x87', '\x7f', '\x0d', '\x6c', '\x16', '\x00', '\x38', - '\xcd', '\xdb', '\xc9', '\xdb', '\x7e', '\x8a', '\x6e', '\x9a', - '\xef', '\x9e', '\x80', '\x84', '\x1e', '\x00', '\xe1', '\x30', - '\x0f', '\x05', '\x6e', '\x9a', '\x01', '\x92', '\xee', '\x9b', - '\xed', '\xe0', '\x0f', '\x05', '\xfc', '\xe1', '\x7e', '\xbe', - '\x84', '\xe2', '\xfe', '\x0b', '\x6f', '\x0e', '\x12', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x9e', '\x16', '\x00', '\x38', - '\xb0', '\xb9', '\x3f', '\xbd', '\xec', '\x02', '\x00', '\x38', - '\x6f', '\xae', '\x00', '\x1f', '\x00', '\x38', '\x5f', '\xbc', - '\xec', '\x01', '\x3f', '\xbd', '\xf2', '\x07', '\x00', '\x38', - '\x6f', '\xae', '\xb8', '\x16', '\x00', '\x38', '\xb0', '\xb9', - '\x3f', '\xbd', '\xb8', '\x04', '\x00', '\x38', '\xbe', '\x0f', - '\x3e', '\xbe', '\x3f', '\x0d', '\x32', '\x04', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x98', '\xe2', '\xfe', '\x4b', - '\x6f', '\xde', '\x00', '\x1f', '\x00', '\x38', '\x6d', '\x9a', - '\x79', '\x67', '\xed', '\x9f', '\xef', '\xde', '\xec', '\x20', - '\x00', '\x38', '\xf3', '\x20', '\x0f', '\x05', '\x6f', '\x3e', - '\x00', '\x1f', '\x00', '\x38', '\xa3', '\x0b', '\xff', '\x3d', - '\xfe', '\x02', '\x0f', '\x05', '\x63', '\x9a', '\x81', '\x92', - '\xcf', '\x9d', '\x0b', '\x00', '\x5f', '\x95', '\x3f', '\xf8', - '\x54', '\x02', '\x22', '\x01', '\x18', '\x00', '\x62', '\x00', - '\x90', '\x00', '\x96', '\x01', '\xc8', '\x01', '\xe4', '\x00', - '\x00', '\x02', '\xb8', '\x00', '\x9a', '\x02', '\xce', '\x02', - '\x6f', '\xae', '\xca', '\x16', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x6f', '\x0e', '\x42', '\x03', - '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x6f', '\x0e', '\x16', '\x1b', '\x00', '\x38', - '\x60', '\x9a', '\x81', '\x92', '\xe0', '\x9b', '\x3f', '\xbd', - '\xec', '\x02', '\x00', '\x38', '\x60', '\x9a', '\x01', '\x92', - '\xe0', '\x9b', '\x62', '\xaa', '\x61', '\xba', '\x3f', '\xbd', - '\xf2', '\x07', '\x00', '\x38', '\xff', '\xed', '\x88', '\x02', - '\x0c', '\x32', '\x6f', '\xae', '\xd8', '\x16', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x6f', '\x0e', - '\x42', '\x03', '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x61', '\x1a', '\x72', '\x09', - '\xe1', '\x1b', '\xff', '\xed', '\x5a', '\x02', '\x0c', '\x32', - '\x6f', '\xae', '\xe8', '\x16', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x6f', '\x1e', '\x42', '\x03', - '\x00', '\x38', '\x04', '\x31', '\x60', '\xae', '\x41', '\xb2', - '\xb1', '\xb9', '\x60', '\xaa', '\x6a', '\xaa', '\x41', '\xb2', - '\xb1', '\xb9', '\xff', '\xed', '\x32', '\x02', '\x08', '\x32', - '\x6f', '\xae', '\xf8', '\x16', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x04', '\x31', '\x60', '\xae', - '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', '\x00', '\x38', - '\x60', '\xaa', '\xff', '\x3d', '\xc0', '\x01', '\x0f', '\x05', - '\x81', '\xa2', '\xfd', '\x20', '\x0f', '\x05', '\xff', '\xed', - '\x06', '\x02', '\x08', '\x32', '\x6f', '\x4e', '\x12', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x06', '\x17', '\x00', '\x38', - '\xb4', '\xb9', '\x6f', '\x0e', '\x42', '\x03', '\x00', '\x38', - '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x62', '\x2a', '\x62', '\x2a', '\xe1', '\x2a', '\xff', '\x3d', - '\xb8', '\x01', '\x0f', '\x05', '\x6f', '\xae', '\x14', '\x17', - '\x00', '\x38', '\xb4', '\xb9', '\xff', '\xed', '\xd0', '\x01', - '\x0f', '\x05', '\x6f', '\x4e', '\x12', '\x03', '\x00', '\x38', - '\x6f', '\xae', '\x24', '\x17', '\x00', '\x38', '\xb4', '\xb9', - '\x6f', '\x2e', '\x42', '\x03', '\x00', '\x38', '\x04', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb2', '\xb9', '\x08', '\x31', - '\x60', '\xae', '\x41', '\xb2', '\xb2', '\xb9', '\x61', '\xaa', - '\x60', '\xba', '\x6e', '\xc6', '\x14', '\xc2', '\x3f', '\xbd', - '\xf0', '\x08', '\x00', '\x38', '\x6a', '\xa6', '\x30', '\x20', - '\x0f', '\x05', '\x6f', '\xae', '\x30', '\x17', '\x00', '\x38', - '\xb4', '\xb9', '\x14', '\xe1', '\x6a', '\xaa', '\x41', '\xb2', - '\xb2', '\xb9', '\x14', '\xe1', '\x6a', '\xaa', '\x6a', '\xb6', - '\x0f', '\xbc', '\x40', '\x00', '\x8f', '\xac', '\x40', '\x00', - '\x3c', '\xa3', '\x3c', '\xb3', '\x3f', '\xbd', '\x98', '\x09', - '\x00', '\x38', '\xff', '\xed', '\x6a', '\x01', '\x0f', '\x05', - '\x6f', '\xae', '\x4c', '\x17', '\x00', '\x38', '\xb4', '\xb9', - '\xff', '\xed', '\x54', '\x01', '\x0c', '\x32', '\x6f', '\xae', - '\x62', '\x17', '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', - '\x00', '\x38', '\x6f', '\x0e', '\x42', '\x03', '\x00', '\x38', - '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x62', '\xaa', '\x61', '\xba', '\x3f', '\xbd', '\x98', '\x09', - '\x00', '\x38', '\xff', '\xed', '\x22', '\x01', '\x0c', '\x32', - '\x6f', '\xae', '\x6e', '\x17', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x6f', '\x0e', '\x42', '\x03', - '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x62', '\xaa', '\xe1', '\xaa', '\xda', '\x90', - '\x0f', '\x05', '\x7a', '\x0e', '\x08', '\x31', '\xea', '\xaa', - '\xf9', '\x80', '\x0f', '\x05', '\xea', '\xe0', '\x0c', '\x32', - '\x6f', '\xae', '\x7a', '\x17', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x6f', '\x0e', '\x42', '\x03', - '\x00', '\x38', '\x04', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x64', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x0c', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x6f', '\x0e', '\x36', '\x13', '\x00', '\x38', - '\x61', '\xaa', '\x64', '\xba', '\x62', '\xca', '\xb0', '\xb9', - '\x6a', '\xa6', '\xac', '\x30', '\x10', '\x32', '\xc3', '\xa2', - '\xae', '\x20', '\x7a', '\x86', '\x62', '\xca', '\xef', '\xcd', - '\x00', '\x00', '\x01', '\x00', '\x64', '\xba', '\xb0', '\xb9', - '\x9e', '\xe0', '\x0f', '\x05', '\x6f', '\xde', '\xa0', '\x1a', - '\x00', '\x38', '\x6d', '\x9a', '\x7f', '\x0d', '\xc0', '\x01', - '\x00', '\xb0', '\xe9', '\x9b', '\x04', '\xd1', '\x59', '\x98', - '\x7f', '\x0d', '\xc4', '\x01', '\x00', '\xb0', '\xe9', '\x9b', - '\x6f', '\x1e', '\x12', '\x03', '\x00', '\x38', '\x6f', '\xae', - '\x82', '\x17', '\x00', '\x38', '\xb1', '\xb9', '\x04', '\x31', - '\x60', '\xae', '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x8a', '\x17', '\x00', '\x38', - '\xb1', '\xb9', '\x60', '\x9a', '\xb9', '\x09', '\x50', '\xe0', - '\x08', '\x32', '\x6f', '\xae', '\xfe', '\x16', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x6f', '\x0e', - '\x42', '\x03', '\x00', '\x38', '\x04', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', '\x62', '\xae', - '\x41', '\xb2', '\xb0', '\xb9', '\x61', '\x1a', '\x61', '\x9a', - '\x08', '\x30', '\x81', '\x92', '\xe1', '\x9b', '\x20', '\xe0', - '\x62', '\x3a', '\x1c', '\xe0', '\x0c', '\x32', '\x6f', '\xae', - '\x90', '\x17', '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', - '\x00', '\x38', '\x63', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x42', '\x03', '\x00', '\x38', '\x0a', '\xe0', '\x0f', '\x05', - '\xa3', '\x0b', '\xff', '\x2d', '\x06', '\xfd', '\x0f', '\x05', - '\x6f', '\xae', '\x8a', '\x17', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\xbe', '\x4f', '\x04', '\xe2', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x8c', '\xe2', - '\xfe', '\x2b', '\x6a', '\x26', '\x6b', '\x06', '\x7f', '\x0d', - '\x0e', '\x1b', '\x00', '\x38', '\x70', '\x8a', '\x7f', '\x0d', - '\x04', '\x01', '\x00', '\x38', '\xea', '\xab', '\x6f', '\x9e', - '\x12', '\x1b', '\x00', '\x38', '\x49', '\x9a', '\xcf', '\x9e', - '\x01', '\x00', '\x86', '\x20', '\x0f', '\x05', '\x6f', '\xde', - '\xc6', '\x1a', '\x00', '\x38', '\x08', '\xd1', '\xea', '\xab', - '\x7f', '\x0d', '\x00', '\x01', '\x00', '\x38', '\xeb', '\xbb', - '\x6b', '\x96', '\x04', '\x92', '\xdf', '\x9d', '\xdc', '\x05', - '\xdd', '\x9b', '\x6f', '\x9e', '\xa4', '\x01', '\x00', '\xb0', - '\x69', '\xda', '\x6f', '\xde', '\x90', '\x1a', '\x00', '\x38', - '\xe9', '\xdb', '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', - '\x4d', '\x9a', '\x38', '\x93', '\x44', '\x93', '\xcd', '\x9b', - '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', - '\x07', '\x93', '\xcf', '\x9e', '\x04', '\x00', '\xf7', '\x30', - '\x0f', '\x05', '\x4d', '\x9a', '\x38', '\x93', '\x41', '\x93', - '\xcd', '\x9b', '\x3f', '\xbd', '\x0c', '\x02', '\x00', '\x38', - '\x6a', '\xa6', '\xf7', '\x30', '\x0f', '\x05', '\x6f', '\xce', - '\x0e', '\x1b', '\x00', '\x38', '\xec', '\x0a', '\x10', '\x80', - '\x0f', '\x05', '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', - '\x4d', '\x9a', '\x38', '\x93', '\x41', '\x93', '\xcd', '\x9b', - '\xec', '\x0a', '\xd7', '\x90', '\x71', '\x86', '\x22', '\xe0', - '\x62', '\x96', '\x7f', '\x0d', '\x0e', '\x1b', '\x00', '\x38', - '\xeb', '\xba', '\x14', '\x80', '\x71', '\x86', '\x3f', '\xbd', - '\x0c', '\x02', '\x00', '\x38', '\x7f', '\x0d', '\x0e', '\x1b', - '\x00', '\x38', '\xe0', '\x0a', '\xf1', '\x90', '\x71', '\x86', - '\x62', '\x96', '\x20', '\x96', '\xe9', '\x26', '\x0e', '\x30', - '\x62', '\xd6', '\x0d', '\x1c', '\x62', '\x96', '\x20', '\x96', - '\xe9', '\xd6', '\xf7', '\x20', '\x0f', '\x05', '\x6f', '\xae', - '\xa4', '\x17', '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', - '\x00', '\x38', '\x61', '\xa6', '\x41', '\xb2', '\xbe', '\x2f', - '\x3e', '\xbe', '\x3f', '\x0d', '\x42', '\x03', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x8c', '\xe2', '\xfe', '\x2b', - '\x6b', '\x06', '\x6c', '\x26', '\xeb', '\xa6', '\x40', '\x00', - '\x6a', '\xc6', '\xe0', '\xc6', '\x32', '\x00', '\x71', '\x86', - '\x6c', '\xb6', '\x6c', '\x96', '\x79', '\x87', '\x61', '\xd6', - '\xc3', '\xd3', '\xed', '\x97', '\x49', '\xd6', '\xcb', '\x9b', - '\x4b', '\x9a', '\xcd', '\x96', '\x0c', '\x30', '\x7d', '\x87', - '\x6f', '\xae', '\xba', '\x17', '\x00', '\x38', '\x40', '\xe0', - '\xe2', '\xbb', '\xcb', '\xdf', '\x01', '\x12', '\xc4', '\x12', - '\x06', '\x30', '\xe0', '\xb6', '\xd7', '\x10', '\x6c', '\x96', - '\x04', '\xc2', '\xe0', '\xc6', '\xc5', '\x10', '\x0f', '\x05', - '\xe0', '\xa6', '\x4e', '\x00', '\x6a', '\xc6', '\xe0', '\xc6', - '\x40', '\x00', '\x71', '\x86', '\x6c', '\xa6', '\x61', '\x96', - '\xc3', '\x93', '\x6c', '\xd6', '\xe9', '\xd7', '\x4a', '\x9a', - '\xcd', '\x96', '\x22', '\x30', '\x01', '\x12', '\x81', '\x12', - '\xe2', '\xab', '\x6f', '\xae', '\xd8', '\x17', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x62', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', '\x00', '\x38', - '\x7a', '\x86', '\xbe', '\x2f', '\x3e', '\x0d', '\xc4', '\x12', - '\x08', '\x30', '\x01', '\xa2', '\xe0', '\xa6', '\xc9', '\x10', - '\x61', '\x96', '\x04', '\xc2', '\xe0', '\xc6', '\xb7', '\x10', - '\x0f', '\x05', '\x41', '\xa2', '\xbe', '\x2f', '\x3e', '\x0d', - '\xfc', '\xe1', '\x7e', '\xbe', '\x94', '\xe2', '\xfe', '\x4b', - '\x6b', '\x26', '\xeb', '\xa6', '\x5a', '\x90', '\x6a', '\x06', - '\x60', '\xa6', '\x7b', '\x86', '\x3f', '\xbd', '\x42', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\xf6', '\x17', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\xe2', '\x06', - '\x2a', '\x90', '\x74', '\x86', '\x60', '\x16', '\x60', '\x36', - '\x6f', '\xae', '\x4c', '\x18', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x63', '\xae', '\x7b', '\x86', - '\x3f', '\xbd', '\x42', '\x03', '\x00', '\x38', '\x01', '\x42', - '\xc4', '\x42', '\x08', '\x30', '\x04', '\x12', '\xe2', '\x16', - '\xdf', '\x80', '\x0f', '\x05', '\x6f', '\xae', '\xb4', '\x16', - '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', - '\x10', '\x02', '\xe2', '\x06', '\xad', '\x80', '\x60', '\xa6', - '\xbe', '\x4f', '\x3e', '\x0d', '\x05', '\xa1', '\x49', '\x98', - '\xc2', '\x92', '\x0a', '\x30', '\xc4', '\x92', '\x0e', '\x30', - '\x0f', '\x05', '\x7f', '\xb6', '\x7a', '\x86', '\x6a', '\xb9', - '\x5a', '\xa8', '\x7f', '\xb6', '\x0f', '\x05', '\x6a', '\xb9', - '\x6a', '\xaa', '\x7f', '\xb6', '\x0f', '\x05', '\x6a', '\xd6', - '\x05', '\xa1', '\x4a', '\xaa', '\x4a', '\x94', '\xc2', '\x92', - '\x0a', '\x30', '\xc4', '\x92', '\x10', '\x30', '\x0f', '\x05', - '\x7f', '\xb6', '\x7a', '\x86', '\x5c', '\xca', '\x6d', '\xb9', - '\xdc', '\xcb', '\x7f', '\xb6', '\x4a', '\xa4', '\x6c', '\xca', - '\x6d', '\xb9', '\xec', '\xcb', '\x4a', '\xa4', '\x7f', '\xb6', - '\x0f', '\x05', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xee', '\xbb', '\x04', '\xa1', '\x49', '\x9a', '\xcf', '\x9e', - '\x01', '\x00', '\x06', '\x20', '\x0f', '\x05', '\x24', '\xe0', - '\xc1', '\xc3', '\xcf', '\x9e', '\x02', '\x00', '\x0c', '\x20', - '\x6b', '\x96', '\xd0', '\x93', '\x69', '\xb7', '\xee', '\xbb', - '\x12', '\xe0', '\xc2', '\xc3', '\x6f', '\xae', '\x22', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', - '\x0c', '\xe0', '\x0f', '\x05', '\x6c', '\xb6', '\x6e', '\xc6', - '\x3f', '\xbd', '\x26', '\x0a', '\x00', '\x38', '\x04', '\xe2', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xfe', '\x0b', '\x6a', '\x06', '\x4f', '\xbc', '\xaa', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\x52', '\x0a', - '\x00', '\x38', '\x60', '\xa6', '\x4f', '\xbc', '\x55', '\x00', - '\x5f', '\xcc', '\xaa', '\x02', '\xbe', '\x0f', '\x3e', '\xbe', - '\x3f', '\x0d', '\x52', '\x0a', '\x00', '\x38', '\xfc', '\xe1', - '\x7e', '\xbe', '\x90', '\xe2', '\xfe', '\x3b', '\x6a', '\x26', - '\x04', '\xa1', '\x49', '\x9a', '\xcf', '\x9e', '\x02', '\x00', - '\x42', '\x20', '\x6b', '\x36', '\x6f', '\x0e', '\x04', '\x0a', - '\x00', '\x38', '\xb0', '\xb9', '\x6a', '\x16', '\x62', '\xa6', - '\x63', '\xb6', '\xb0', '\xb9', '\x61', '\xd6', '\xf0', '\xd3', - '\x1f', '\xdf', '\x40', '\x00', '\x6a', '\x96', '\xf0', '\x93', - '\x1f', '\x9f', '\x40', '\x00', '\xe9', '\xd6', '\x14', '\x20', - '\x7c', '\x86', '\x2f', '\x1f', '\x40', '\x00', '\x00', '\x00', - '\x2f', '\xaf', '\x40', '\x00', '\x00', '\x00', '\xea', '\x16', - '\x04', '\x30', '\x0f', '\x05', '\x41', '\xc2', '\x6c', '\xa6', - '\xbe', '\x3f', '\x3e', '\x0d', '\x6f', '\x1e', '\x04', '\x0a', - '\x00', '\x38', '\xb1', '\xb9', '\x4a', '\x04', '\x0f', '\x0f', - '\x40', '\x00', '\x62', '\xa6', '\x63', '\xb6', '\xb1', '\xb9', - '\x2f', '\xaf', '\x40', '\x00', '\x00', '\x00', '\xea', '\x06', - '\x3a', '\x25', '\xbe', '\x3f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\xa8', '\xe2', '\xfe', '\x8b', '\x6a', '\x36', - '\x04', '\xa1', '\x44', '\x9e', '\xcf', '\x9e', '\x02', '\x00', - '\x04', '\x20', '\x41', '\x72', '\x42', '\x72', '\x6f', '\x2e', - '\x52', '\x0a', '\x00', '\x38', '\x4f', '\xbc', '\x98', '\x00', - '\x4f', '\xcc', '\x55', '\x00', '\xb2', '\xb9', '\x50', '\xb2', - '\xe7', '\xb4', '\x6f', '\x1e', '\x04', '\x0a', '\x00', '\x38', - '\x63', '\xa6', '\xb1', '\xb9', '\xcf', '\xae', '\x51', '\x00', - '\xff', '\x2d', '\x9c', '\x01', '\x63', '\xa6', '\x51', '\xb2', - '\xe7', '\xb4', '\xb1', '\xb9', '\xcf', '\xae', '\x52', '\x00', - '\xff', '\x2d', '\x8c', '\x01', '\x63', '\xa6', '\x52', '\xb2', - '\xe7', '\xb4', '\xb1', '\xb9', '\xcf', '\xae', '\x59', '\x00', - '\xff', '\x2d', '\x7c', '\x01', '\x63', '\xa6', '\x24', '\xe1', - '\x70', '\x8a', '\x6f', '\xae', '\x3c', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x63', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', '\x00', '\x38', - '\x4f', '\xbc', '\x27', '\x00', '\xe7', '\xb4', '\x63', '\xa6', - '\xb1', '\xb9', '\x41', '\x92', '\xea', '\x94', '\x06', '\x32', - '\xe3', '\x9b', '\x86', '\x32', '\x4f', '\xbc', '\x2c', '\x00', - '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x86', - '\x55', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\x6a', '\x06', '\x6a', '\xb6', '\x04', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\xcf', '\xae', '\x30', '\x00', - '\x3e', '\x20', '\x63', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\xb2', '\xb9', '\x63', '\xa6', - '\x3f', '\xbd', '\x9a', '\x0a', '\x00', '\x38', '\x63', '\xa6', - '\x4f', '\xbc', '\x90', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\xb2', '\xb9', '\x44', '\xb8', '\x2b', '\xb6', '\x63', '\xa6', - '\xb1', '\xb9', '\x4a', '\x54', '\x0f', '\x5f', '\x80', '\xff', - '\x63', '\xa6', '\x4f', '\xbc', '\x98', '\x00', '\x4f', '\xcc', - '\x55', '\x00', '\xb2', '\xb9', '\x10', '\xe0', '\x0f', '\x05', - '\x0f', '\x02', '\xe7', '\x04', '\x60', '\xb6', '\xb1', '\xb9', - '\xcf', '\xae', '\x03', '\x00', '\x35', '\x35', '\x0a', '\x31', - '\xd8', '\x8b', '\xc8', '\x82', '\x12', '\xd0', '\x68', '\x46', - '\x6f', '\xae', '\x4e', '\x18', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\xd2', '\xe0', '\x7a', '\x86', - '\x65', '\x56', '\x94', '\x20', '\x81', '\x42', '\x90', '\xe0', - '\x74', '\x86', '\xc2', '\x03', '\x60', '\xb6', '\x2f', '\xb2', - '\xe7', '\xb4', '\x6f', '\x1e', '\x04', '\x0a', '\x00', '\x38', - '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x66', '\x60', '\xb6', - '\x30', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\xc8', '\xa3', '\x6a', '\x67', '\xc8', '\x63', '\x60', '\xb6', - '\x2d', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\x6a', '\x26', '\x2e', '\x02', '\xe7', '\x04', '\x63', '\xa6', - '\x60', '\xb6', '\xb1', '\xb9', '\xc8', '\xa3', '\x6a', '\x27', - '\x65', '\x56', '\x0a', '\x30', '\x01', '\x22', '\x68', '\x96', - '\xa4', '\x96', '\x04', '\xe0', '\x81', '\x92', '\x64', '\x96', - '\x19', '\x95', '\x63', '\xd6', '\x2d', '\x95', '\x6d', '\x96', - '\x24', '\xe1', '\x6d', '\xda', '\x0c', '\x91', '\xed', '\xdb', - '\x10', '\x91', '\xe6', '\x6b', '\x14', '\x91', '\xe2', '\x2b', - '\x62', '\x26', '\x10', '\xd0', '\x0f', '\x05', '\x24', '\xe1', - '\x29', '\x6a', '\x24', '\xe1', '\xe9', '\x9b', '\x81', '\x22', - '\xf5', '\x20', '\x0f', '\x05', '\x24', '\xe1', '\x6d', '\xda', - '\x06', '\x31', '\xed', '\xda', '\x1e', '\x30', '\x65', '\x56', - '\x06', '\x30', '\x01', '\x42', '\x81', '\x42', '\x81', '\x42', - '\x65', '\x56', '\x0c', '\x30', '\xe8', '\x46', '\x64', '\x46', - '\x69', '\xa0', '\x64', '\x06', '\x08', '\xe0', '\x63', '\xa6', - '\x61', '\xb0', '\x64', '\x06', '\x63', '\xa6', '\x4f', '\xbc', - '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', - '\x52', '\x0a', '\x00', '\x38', '\x12', '\xe0', '\x41', '\xa2', - '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\x52', '\x0a', '\x00', '\x38', '\x7a', '\x86', - '\xbe', '\x8f', '\x04', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x90', '\xe2', '\xfe', '\x3b', '\x06', '\xa1', - '\xa0', '\x0b', '\xff', '\x2d', '\x16', '\x04', '\x6a', '\x26', - '\x3f', '\xbd', '\x3e', '\x0b', '\x00', '\x38', '\x6a', '\xa6', - '\xff', '\x2d', '\x86', '\x03', '\x41', '\xa2', '\x62', '\xa6', - '\x3f', '\xbd', '\x9a', '\x0a', '\x00', '\x38', '\x62', '\xa6', - '\x4f', '\xbc', '\x90', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\x52', '\x0a', '\x00', '\x38', '\x6f', '\x1e', - '\x04', '\x0a', '\x00', '\x38', '\x62', '\xa6', '\x7b', '\x86', - '\xb1', '\xb9', '\x6a', '\x36', '\x04', '\x21', '\x40', '\xbe', - '\x4b', '\xb4', '\x2b', '\xb6', '\x62', '\xa6', '\xb1', '\xb9', - '\x42', '\x92', '\xc0', '\x9a', '\x1c', '\x20', '\x63', '\xc6', - '\xf0', '\xc3', '\x53', '\x94', '\xe9', '\xc6', '\x14', '\x20', - '\x63', '\x06', '\x6a', '\xd6', '\xf0', '\xd3', '\x5a', '\x94', - '\xe9', '\xd6', '\x0a', '\x20', '\xd0', '\x03', '\x6c', '\x36', - '\x6d', '\xa6', '\x63', '\x06', '\xd0', '\x03', '\x6a', '\x07', - '\x62', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', - '\x55', '\x05', '\x3f', '\xbd', '\x52', '\x0a', '\x00', '\x38', - '\xef', '\x0e', '\xc0', '\x00', '\x1f', '\x00', '\xff', '\x3d', - '\x48', '\x02', '\x0f', '\x05', '\x60', '\x90', '\x0f', '\x05', - '\xef', '\x0e', '\xc4', '\x22', '\x01', '\x00', '\xb0', '\x30', - '\x0f', '\x05', '\x20', '\x90', '\x0f', '\x05', '\xef', '\x0e', - '\x58', '\x22', '\x01', '\x00', '\xff', '\x3d', '\x5a', '\x01', - '\x0f', '\x05', '\xef', '\x0e', '\x5b', '\x22', '\x01', '\x00', - '\xff', '\x3d', '\x4e', '\x01', '\x0f', '\x05', '\xff', '\xed', - '\xb6', '\x02', '\x0f', '\x05', '\xef', '\x0e', '\xda', '\x22', - '\x01', '\x00', '\xff', '\x3d', '\x9c', '\x01', '\x0f', '\x05', - '\x14', '\x90', '\x0f', '\x05', '\xef', '\x0e', '\xd6', '\x22', - '\x01', '\x00', '\xff', '\x3d', '\x8c', '\x01', '\x0f', '\x05', - '\xff', '\xed', '\x94', '\x02', '\x0f', '\x05', '\xef', '\x0e', - '\x49', '\x22', '\x04', '\x00', '\xc4', '\x30', '\x0f', '\x05', - '\xff', '\xed', '\x84', '\x02', '\x0f', '\x05', '\xef', '\x0e', - '\xd7', '\x00', '\x20', '\x00', '\xff', '\x3d', '\x6a', '\x01', - '\x0f', '\x05', '\x20', '\x90', '\x0f', '\x05', '\xef', '\x0e', - '\xc2', '\x00', '\x1f', '\x00', '\xff', '\x3d', '\x00', '\x02', - '\x0f', '\x05', '\xef', '\x0e', '\xc9', '\x00', '\x1f', '\x00', - '\xff', '\x3d', '\x18', '\x02', '\x0f', '\x05', '\xff', '\xed', - '\x56', '\x02', '\x0f', '\x05', '\xef', '\x0e', '\x4f', '\x00', - '\x98', '\x00', '\xff', '\x3d', '\x3c', '\x01', '\x0f', '\x05', - '\x12', '\x90', '\x0f', '\x05', '\xef', '\x0e', '\x43', '\x00', - '\x98', '\x00', '\x76', '\x30', '\x0f', '\x05', '\xff', '\xed', - '\x36', '\x02', '\x0f', '\x05', '\xef', '\x0e', '\xc2', '\x00', - '\x98', '\x00', '\xff', '\x2d', '\x2a', '\x02', '\x0f', '\x05', - '\x6f', '\x1e', '\x32', '\x19', '\x00', '\x38', '\x61', '\x1a', - '\x6f', '\xde', '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', - '\xed', '\xdb', '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\x9e', - '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', '\xe9', '\x9b', - '\x5f', '\xd2', '\x14', '\x21', '\xed', '\xdb', '\x6f', '\x9e', - '\x00', '\x00', '\x1f', '\x00', '\x18', '\x21', '\xe9', '\x9b', - '\x1f', '\xdc', '\xe1', '\x7f', '\x1c', '\x21', '\xed', '\xdb', - '\x41', '\x92', '\x20', '\x21', '\xe9', '\x9b', '\x6f', '\xde', - '\x00', '\x80', '\x1f', '\x00', '\x24', '\x21', '\xed', '\xdb', - '\x5f', '\xdc', '\x00', '\x20', '\x28', '\x21', '\xed', '\xdb', - '\x42', '\xd2', '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\xde', - '\x00', '\xc0', '\x1f', '\x00', '\xff', '\xed', '\x16', '\x01', - '\x0f', '\x05', '\x6f', '\x1e', '\x2e', '\x19', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x20', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x5f', '\x9c', '\x00', '\x40', '\x10', '\x21', '\xe9', '\x9b', - '\x41', '\xd2', '\x14', '\x21', '\xed', '\xdb', '\x18', '\x21', - '\xe9', '\x9b', '\x5f', '\x9c', '\x00', '\x20', '\x1c', '\x21', - '\xe9', '\x9b', '\x42', '\x92', '\x20', '\x21', '\xe9', '\x9b', - '\x1f', '\x9c', '\xfe', '\x7f', '\x24', '\x21', '\xe9', '\x9b', - '\x28', '\x21', '\xe9', '\x9b', '\x2c', '\x21', '\xed', '\xdb', - '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', '\x30', '\x21', - '\xe9', '\x9b', '\x34', '\x21', '\xe9', '\x9b', '\x58', '\xe0', - '\x5f', '\xd2', '\x6f', '\x1e', '\x26', '\x19', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x10', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x5f', '\x9c', '\x00', '\x40', '\x10', '\x21', '\xe9', '\x9b', - '\x41', '\xd2', '\x14', '\x21', '\xed', '\xdb', '\x18', '\x21', - '\xe9', '\x9b', '\x5f', '\x9c', '\x00', '\x20', '\x1c', '\x21', - '\xe9', '\x9b', '\x42', '\x92', '\x20', '\x21', '\xe9', '\x9b', - '\x1f', '\x9c', '\xfe', '\x7f', '\x24', '\x21', '\xe9', '\x9b', - '\x28', '\x21', '\xe9', '\x9b', '\x2c', '\x21', '\xed', '\xdb', - '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', '\x30', '\x21', - '\xe9', '\x9b', '\x34', '\x21', '\xe9', '\x9b', '\x4f', '\xd2', - '\x38', '\x21', '\xed', '\xdb', '\xff', '\xed', '\x3e', '\x01', - '\x0f', '\x05', '\x6f', '\x1e', '\x2a', '\x19', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x10', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x6f', '\xde', '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', - '\xed', '\xdb', '\x4f', '\x92', '\x14', '\x21', '\xe9', '\x9b', - '\x6f', '\xde', '\x00', '\x00', '\x0f', '\x00', '\x18', '\x21', - '\xed', '\xdb', '\x1f', '\x9c', '\xf1', '\x7f', '\x1c', '\x21', - '\xe9', '\x9b', '\x41', '\x92', '\x20', '\x21', '\xe9', '\x9b', - '\x6f', '\xde', '\x00', '\x80', '\x0f', '\x00', '\x24', '\x21', - '\xed', '\xdb', '\x5f', '\xdc', '\x00', '\x20', '\x28', '\x21', - '\xed', '\xdb', '\x42', '\xd2', '\x2c', '\x21', '\xed', '\xdb', - '\x6f', '\xde', '\x00', '\xc0', '\x0f', '\x00', '\x30', '\x21', - '\xed', '\xdb', '\x5f', '\xdc', '\x00', '\x40', '\x34', '\x21', - '\xed', '\xdb', '\x38', '\x21', '\xe9', '\x9b', '\xce', '\xe0', - '\x0f', '\x05', '\x6f', '\x1e', '\x2e', '\x19', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x20', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x5f', '\xdc', '\x00', '\x20', '\x10', '\x21', '\xed', '\xdb', - '\x48', '\x92', '\x14', '\x21', '\xe9', '\x9b', '\x6f', '\x9e', - '\x00', '\x00', '\x01', '\x00', '\x18', '\x21', '\xe9', '\x9b', - '\x1c', '\x21', '\xe9', '\x9b', '\x62', '\xe0', '\x5f', '\xd2', - '\x6f', '\x1e', '\x32', '\x19', '\x00', '\x38', '\x61', '\x1a', - '\x6f', '\x9e', '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', - '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\xde', - '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', '\xed', '\xdb', - '\x26', '\xe0', '\x5f', '\x92', '\x6f', '\x1e', '\x36', '\x19', - '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', - '\x40', '\x00', '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', - '\x70', '\x8a', '\x6f', '\xde', '\x00', '\x00', '\x01', '\x00', - '\x10', '\x21', '\xed', '\xdb', '\x4f', '\x9c', '\x3f', '\x00', - '\x14', '\x21', '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x00', - '\x1f', '\x00', '\x18', '\x21', '\xed', '\xdb', '\x5f', '\x9c', - '\x00', '\x20', '\x1c', '\x21', '\xe9', '\x9b', '\x48', '\xd2', - '\x20', '\x21', '\xed', '\xdb', '\x30', '\xe0', '\x0f', '\x05', - '\x04', '\x21', '\x49', '\x9a', '\x6f', '\xae', '\x6a', '\x18', - '\x00', '\x38', '\xcf', '\x9e', '\x01', '\x00', '\x08', '\x30', - '\x0f', '\x05', '\x6f', '\xae', '\x7c', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x62', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x42', '\x03', '\x00', '\x38', - '\x7a', '\x86', '\xbe', '\x3f', '\x3e', '\x0d', '\x6f', '\x3e', - '\x12', '\x03', '\x00', '\x38', '\x6f', '\xae', '\x94', '\x18', - '\x00', '\x38', '\xb3', '\xb9', '\x04', '\x21', '\x40', '\x9e', - '\xcf', '\x9e', '\x01', '\x00', '\x0c', '\x20', '\x42', '\xd2', - '\x6f', '\xae', '\x9c', '\x18', '\x00', '\x38', '\xb3', '\xb9', - '\x42', '\xd2', '\xc0', '\xda', '\x32', '\x20', '\x47', '\xc2', - '\x06', '\x21', '\x6d', '\x9e', '\xc1', '\x93', '\xed', '\x9b', - '\x62', '\xd6', '\x0c', '\xd1', '\x69', '\x9a', '\xc1', '\x93', - '\x0c', '\xd1', '\xe9', '\x9b', '\x10', '\xd1', '\x69', '\x9a', - '\xc1', '\x93', '\x10', '\xd1', '\xe9', '\x9b', '\x81', '\xc2', - '\xe9', '\x60', '\x0c', '\xd2', '\x6f', '\xae', '\x9e', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', - '\x6f', '\x0e', '\x12', '\x03', '\x00', '\x38', '\x6f', '\xae', - '\xa0', '\x18', '\x00', '\x38', '\xb0', '\xb9', '\x61', '\xa6', - '\xb0', '\xb9', '\x6f', '\xae', '\xd2', '\x17', '\x00', '\x38', - '\xb0', '\xb9', '\x62', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x42', '\x03', '\x00', '\x38', '\x41', '\xa2', '\xbe', '\x3f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x8c', '\xe2', - '\xfe', '\x2b', '\x6a', '\x16', '\x6b', '\x26', '\x6f', '\x0e', - '\x9a', '\x0a', '\x00', '\x38', '\xb0', '\xb9', '\x61', '\xa6', - '\x4f', '\xbc', '\x80', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\x52', '\x0a', '\x00', '\x38', '\x61', '\xa6', - '\xb0', '\xb9', '\x04', '\x11', '\x49', '\x9a', '\xcf', '\x9e', - '\x02', '\x00', '\x10', '\x20', '\x0f', '\x05', '\x6f', '\x9e', - '\x30', '\x00', '\x30', '\x00', '\x61', '\x29', '\xe9', '\x9b', - '\xbe', '\x2f', '\x3e', '\x0d', '\x4f', '\x9c', '\x30', '\x00', - '\x61', '\x29', '\xd9', '\x9b', '\xbe', '\x2f', '\x3e', '\x0d', - '\x84', '\xe2', '\xfe', '\x0b', '\x06', '\xa1', '\xeb', '\xba', - '\x10', '\x10', '\x0f', '\x05', '\x7a', '\x86', '\x7f', '\xb6', - '\xbe', '\x0f', '\x10', '\xa1', '\x6a', '\xaa', '\x7f', '\xb6', - '\xbe', '\x0f', '\x70', '\x86', '\x0c', '\xa1', '\xeb', '\xba', - '\x22', '\x10', '\x7d', '\x86', '\x14', '\xa1', '\xed', '\xda', - '\x10', '\x00', '\x79', '\x86', '\x10', '\xa1', '\x6c', '\xca', - '\x01', '\x92', '\x14', '\xa1', '\xe9', '\x9a', '\xf9', '\x10', - '\x2c', '\xd6', '\x0c', '\xa1', '\x29', '\xda', '\xe9', '\xb6', - '\xd1', '\x10', '\x0f', '\x05', '\x01', '\x02', '\xc7', '\x02', - '\xd3', '\x80', '\x0c', '\xa2', '\x7a', '\x86', '\x7f', '\xb6', - '\xbe', '\x0f', '\x84', '\xe2', '\xfe', '\x0b', '\x6a', '\x06', - '\x6b', '\xa6', '\x6d', '\xb6', '\x7d', '\x86', '\xeb', '\xd6', - '\x48', '\xa0', '\x0f', '\x05', '\x60', '\x9a', '\x2d', '\x96', - '\x49', '\xa5', '\x59', '\x9a', '\x4c', '\xd5', '\xd9', '\x9a', - '\x32', '\x30', '\x02', '\xd2', '\x82', '\xd2', '\x6b', '\x96', - '\x2a', '\x96', '\xe9', '\xa6', '\x20', '\x00', '\x6a', '\xc6', - '\x60', '\xc9', '\x59', '\x9a', '\xdf', '\x9e', '\xff', '\xff', - '\x0a', '\x30', '\x02', '\xc2', '\x82', '\xc2', '\x42', '\xa2', - '\x7f', '\xb6', '\xbe', '\x0f', '\x6b', '\x96', '\x2a', '\x96', - '\xe9', '\xc6', '\xe5', '\x10', '\x0f', '\x05', '\x41', '\xa2', - '\x7f', '\xb6', '\xbe', '\x0f', '\xeb', '\xd6', '\xbd', '\xb0', - '\x0f', '\x05', '\x7a', '\x86', '\x7f', '\xb6', '\xbe', '\x0f', - '\xfc', '\xe1', '\x7e', '\xbe', '\x90', '\xe2', '\xfe', '\x3b', - '\x73', '\x86', '\x72', '\x86', '\x6f', '\x0e', '\x3a', '\x19', - '\x00', '\x38', '\x41', '\x12', '\x04', '\x01', '\xc1', '\x1b', - '\xcf', '\x1e', '\x01', '\x00', '\x04', '\x30', '\x42', '\x92', - '\x44', '\x92', '\x05', '\x01', '\xc9', '\x9b', '\x60', '\xa6', - '\x3f', '\xbd', '\x2e', '\x0d', '\x00', '\x38', '\x6a', '\xa6', - '\x0c', '\x20', '\x0f', '\x05', '\xc1', '\x13', '\xcf', '\x1e', - '\x03', '\x00', '\xd9', '\x80', '\x0f', '\x05', '\x06', '\x01', - '\x23', '\x3a', '\x0f', '\x0c', '\x6c', '\x00', '\x01', '\x22', - '\xc1', '\x22', '\xc7', '\x80', '\x63', '\xa6', '\xbe', '\x3f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x98', '\xe2', - '\xfe', '\x5b', '\x6a', '\x16', '\x6b', '\x56', '\x6c', '\x36', - '\x70', '\x86', '\xed', '\x06', '\x74', '\xa0', '\x6d', '\x46', - '\x05', '\x11', '\x49', '\x9a', '\xcf', '\x9e', '\x02', '\x00', - '\x12', '\x20', '\x0f', '\x05', '\x43', '\x05', '\x59', '\x9a', - '\xdf', '\x9e', '\xff', '\xff', '\x54', '\x30', '\x42', '\x22', - '\x05', '\x11', '\x49', '\x9a', '\xcf', '\x9e', '\x04', '\x00', - '\x0e', '\x20', '\x61', '\xa6', '\x43', '\x05', '\x69', '\x9a', - '\xff', '\x92', '\x3e', '\x30', '\x44', '\x22', '\x61', '\xa6', - '\x3f', '\xbd', '\x9a', '\x0a', '\x00', '\x38', '\x61', '\xa6', - '\x4f', '\xbc', '\xa0', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\x52', '\x0a', '\x00', '\x38', '\x65', '\xb6', - '\x20', '\xb6', '\x63', '\xc6', '\x20', '\xc6', '\x61', '\xa6', - '\x3f', '\xbd', '\x26', '\x0a', '\x00', '\x38', '\x6a', '\x26', - '\x61', '\xa6', '\x65', '\xb6', '\x20', '\xb6', '\x3f', '\xbd', - '\xc6', '\x0a', '\x00', '\x38', '\x6a', '\xa6', '\xf3', '\x20', - '\x61', '\xa6', '\x22', '\x06', '\xe4', '\x06', '\x91', '\xb0', - '\x0f', '\x05', '\xbe', '\x5f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\xa4', '\xe2', '\xfe', '\x8b', '\x6a', '\x16', - '\x6b', '\x06', '\x6c', '\x86', '\x3f', '\xbd', '\x58', '\x12', - '\x00', '\x38', '\x6a', '\x96', '\x1a', '\x30', '\x41', '\xa2', - '\x60', '\xd6', '\x28', '\xd6', '\xe9', '\xd6', '\x14', '\x80', - '\x0f', '\x05', '\x6f', '\xae', '\xa4', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x42', '\xa2', - '\xbe', '\x8f', '\x3e', '\x0d', '\x6f', '\xce', '\x40', '\x19', - '\x00', '\x38', '\x6c', '\xca', '\xec', '\x06', '\x1e', '\x10', - '\xec', '\xd6', '\x6f', '\x9e', '\x12', '\x1a', '\x00', '\x38', - '\x09', '\x91', '\x70', '\x8a', '\x16', '\x91', '\xe1', '\x1b', - '\xac', '\x06', '\x1a', '\x91', '\xe0', '\x0b', '\x1e', '\x91', - '\xe8', '\x8b', '\x74', '\xe0', '\x0f', '\x05', '\x5a', '\x80', - '\x6c', '\x96', '\x6f', '\xde', '\x12', '\x1a', '\x00', '\x38', - '\x01', '\xd1', '\xe1', '\x1b', '\x05', '\xd1', '\xe0', '\x0b', - '\xa0', '\x96', '\x09', '\xd1', '\xe9', '\x9b', '\x29', '\x16', - '\x16', '\xd1', '\xe1', '\x1b', '\x1a', '\xd1', '\x70', '\x8a', - '\x68', '\xc6', '\xa9', '\xc6', '\x1e', '\xd1', '\xec', '\xcb', - '\x46', '\xe0', '\x0f', '\x05', '\x6f', '\xae', '\xc0', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', - '\x44', '\xa2', '\xbe', '\x8f', '\x3e', '\x0d', '\x6f', '\xae', - '\xd4', '\x18', '\x00', '\x38', '\x3f', '\xbd', '\x12', '\x03', - '\x00', '\x38', '\x60', '\xa6', '\x41', '\xb2', '\x3f', '\xbd', - '\x42', '\x03', '\x00', '\x38', '\x43', '\xa2', '\xbe', '\x8f', - '\x3e', '\x0d', '\x6f', '\x9e', '\x12', '\x1a', '\x00', '\x38', - '\x01', '\x91', '\xe1', '\x1b', '\x05', '\x91', '\xe0', '\x0b', - '\x09', '\x91', '\xe8', '\x8b', '\x1e', '\x91', '\x70', '\x8a', - '\x6f', '\xce', '\x12', '\x1a', '\x00', '\x38', '\x7c', '\x0a', - '\x0d', '\xc1', '\x70', '\x8a', '\x11', '\xc1', '\x70', '\x8a', - '\x15', '\xc1', '\x79', '\x0e', '\x7f', '\x0d', '\x34', '\x1a', - '\x00', '\x38', '\x70', '\x8a', '\x7f', '\x0d', '\x38', '\x1a', - '\x00', '\x38', '\x70', '\x8a', '\x0d', '\x91', '\xe8', '\x8a', - '\xff', '\x8d', '\xc0', '\x01', '\x75', '\x86', '\x65', '\x56', - '\x04', '\x20', '\x6c', '\xd6', '\x15', '\xd2', '\x65', '\x96', - '\x29', '\x55', '\x65', '\x36', '\x23', '\x95', '\x09', '\xd1', - '\x69', '\x9a', '\x24', '\x30', '\x2c', '\x36', '\x0d', '\xd1', - '\xe9', '\x9a', '\x1c', '\x80', '\x0f', '\x05', '\x09', '\x31', - '\x69', '\x9a', '\x10', '\x30', '\x0f', '\x05', '\x83', '\x0b', - '\x0a', '\x20', '\x0f', '\x05', '\x0d', '\x31', '\xe9', '\x9a', - '\x06', '\x20', '\x0f', '\x05', '\x65', '\x56', '\x35', '\x35', - '\x11', '\x31', '\x63', '\x3a', '\xca', '\x32', '\x4d', '\x90', - '\x65', '\x96', '\x29', '\x55', '\x65', '\x36', '\x23', '\x95', - '\x2f', '\x3e', '\x12', '\x1a', '\x00', '\x38', '\x05', '\x31', - '\x64', '\x4a', '\x0d', '\x31', '\x69', '\x9a', '\x29', '\x46', - '\x01', '\x31', '\x27', '\x9a', '\x65', '\xa6', '\xc3', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\x2f', '\xae', '\x3a', '\x19', '\x00', '\x38', '\x64', '\xb6', - '\x3f', '\xbd', '\xa8', '\x11', '\x00', '\x38', '\x83', '\x0b', - '\x24', '\x30', '\x6a', '\x66', '\x65', '\xa6', '\xc3', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\x2f', '\xae', '\x3a', '\x19', '\x00', '\x38', '\x64', '\xb6', - '\x3f', '\xbd', '\xc6', '\x0a', '\x00', '\x38', '\x6a', '\xa6', - '\xe5', '\x20', '\x65', '\xa6', '\x73', '\x0a', '\x65', '\x26', - '\xc3', '\x23', '\xa5', '\x26', '\xc2', '\x23', '\xa5', '\x26', - '\xc2', '\x23', '\x2f', '\x2e', '\x3a', '\x19', '\x00', '\x38', - '\x62', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', - '\x55', '\x05', '\x3f', '\xbd', '\x52', '\x0a', '\x00', '\x38', - '\x62', '\xa6', '\x64', '\xb6', '\x67', '\xc6', '\x66', '\xd6', - '\x3f', '\xbd', '\xfa', '\x11', '\x00', '\x38', '\x4a', '\xa6', - '\x28', '\x20', '\x7b', '\x86', '\x0d', '\x31', '\x69', '\xde', - '\x26', '\xd6', '\xe9', '\xdb', '\x11', '\x31', '\x70', '\x8a', - '\x62', '\xaa', '\x24', '\xa6', '\x3f', '\xbd', '\x42', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\xde', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\xaa', '\xe0', - '\x0f', '\x05', '\xcf', '\xae', '\x01', '\x00', '\x4c', '\x30', - '\x0f', '\x05', '\xcf', '\xae', '\x02', '\x00', '\x46', '\x20', - '\x65', '\xa6', '\x62', '\xaa', '\x24', '\xa6', '\x6f', '\x1e', - '\x42', '\x03', '\x00', '\x38', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\x0e', '\x12', '\x03', '\x00', '\x38', '\x6f', '\xae', - '\xf2', '\x18', '\x00', '\x38', '\xb0', '\xb9', '\x66', '\xa6', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\xae', '\xfe', '\x18', - '\x00', '\x38', '\xb0', '\xb9', '\x62', '\xa6', '\x64', '\xb6', - '\x3f', '\xbd', '\x5a', '\x11', '\x00', '\x38', '\x41', '\x92', - '\xc3', '\x9b', '\x11', '\x31', '\x6d', '\x9e', '\x01', '\x92', - '\x58', '\xe0', '\xed', '\x9b', '\x65', '\xa6', '\xc3', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\x6f', '\xad', '\x3a', '\x19', '\x00', '\x38', '\x62', '\xae', - '\x24', '\xa6', '\x6f', '\x1e', '\x42', '\x03', '\x00', '\x38', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\x0e', '\x12', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x06', '\x19', '\x00', '\x38', - '\xb0', '\xb9', '\x66', '\xa6', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\xae', '\xfe', '\x18', '\x00', '\x38', '\xb0', '\xb9', - '\x62', '\xa6', '\x64', '\xb6', '\x67', '\xc6', '\x66', '\xd6', - '\x3f', '\xbd', '\xaa', '\x12', '\x00', '\x38', '\x0d', '\x31', - '\x6d', '\x9e', '\x26', '\x96', '\xed', '\x9b', '\x11', '\x31', - '\x70', '\x8a', '\x6f', '\xce', '\x12', '\x1a', '\x00', '\x38', - '\x0d', '\xc1', '\x69', '\x9a', '\x7f', '\x0d', '\x34', '\x1a', - '\x00', '\x38', '\x29', '\x9a', '\xe8', '\x96', '\xff', '\x1d', - '\x44', '\xfe', '\x0f', '\x05', '\x75', '\x86', '\x6f', '\x2e', - '\x3a', '\x19', '\x00', '\x38', '\x6f', '\x1e', '\x12', '\x1a', - '\x00', '\x38', '\x09', '\x11', '\xa0', '\x0b', '\x4c', '\x30', - '\x7b', '\x86', '\x62', '\xaa', '\x3f', '\xbd', '\x42', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x12', '\x19', '\x00', '\x38', - '\x3f', '\xbd', '\x12', '\x03', '\x00', '\x38', '\x70', '\x86', - '\x09', '\x11', '\xe0', '\x0a', '\x22', '\x00', '\x0f', '\x05', - '\x05', '\x11', '\x29', '\x0a', '\x01', '\x11', '\x6d', '\xda', - '\x62', '\x99', '\x59', '\x9a', '\x4d', '\x05', '\xd9', '\x9a', - '\xff', '\x2d', '\x9a', '\xfd', '\x0f', '\x05', '\x02', '\x02', - '\x09', '\x11', '\xe0', '\x0a', '\xe3', '\x10', '\x0f', '\x05', - '\x6f', '\xae', '\x22', '\x19', '\x00', '\x38', '\x3f', '\xbd', - '\x12', '\x03', '\x00', '\x38', '\x0f', '\x2c', '\x6c', '\x00', - '\x01', '\x52', '\xc1', '\x52', '\xa5', '\x80', '\x15', '\x12', - '\x7a', '\x86', '\xbe', '\x8f', '\x3e', '\x0d', '\x00', '\x00', - '\x7f', '\xb6', '\x0f', '\x05', '\x00', '\x00', '\x00', '\x00', - '\x0d', '\x0a', '\x0d', '\x0a', '\x44', '\x65', '\x76', '\x69', - '\x63', '\x65', '\x20', '\x49', '\x44', '\x20', '\x3d', '\x20', - '\x00', '\x00', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x73', - '\x75', '\x6d', '\x20', '\x6f', '\x66', '\x20', '\x62', '\x6f', - '\x6f', '\x74', '\x6c', '\x6f', '\x61', '\x64', '\x65', '\x72', - '\x20', '\x69', '\x73', '\x20', '\x00', '\x00', '\x57', '\x61', - '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', - '\x72', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x69', - '\x6e', '\x66', '\x6f', '\x2e', '\x0d', '\x0a', '\x00', '\x00', - '\x47', '\x6f', '\x74', '\x20', '\x6c', '\x6f', '\x61', '\x64', - '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x0d', '\x0a', - '\x00', '\x00', '\x50', '\x41', '\x43', '\x4b', '\x45', '\x54', - '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x0d', '\x0a', '\x00', - '\x53', '\x45', '\x54', '\x5f', '\x52', '\x45', '\x47', '\x49', - '\x53', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x00', '\x00', - '\x47', '\x45', '\x54', '\x5f', '\x52', '\x45', '\x47', '\x49', - '\x53', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x00', '\x00', - '\x50', '\x41', '\x55', '\x53', '\x45', '\x5f', '\x4c', '\x4f', - '\x4f', '\x50', '\x0d', '\x0a', '\x00', '\x00', '\x4d', '\x45', - '\x4d', '\x5f', '\x56', '\x45', '\x52', '\x49', '\x46', '\x59', - '\x0d', '\x0a', '\x00', '\x00', '\x76', '\x65', '\x72', '\x69', - '\x66', '\x79', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', - '\x64', '\x0d', '\x0a', '\x00', '\x4d', '\x45', '\x4d', '\x5f', - '\x54', '\x45', '\x53', '\x54', '\x0d', '\x0a', '\x00', '\x00', - '\x23', '\x23', '\x23', '\x20', '\x4d', '\x65', '\x6d', '\x6f', - '\x72', '\x79', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', - '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', - '\x74', '\x20', '\x00', '\x00', '\x50', '\x61', '\x73', '\x73', - '\x65', '\x64', '\x20', '\x6d', '\x65', '\x6d', '\x6f', '\x72', - '\x79', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x0d', - '\x0a', '\x00', '\x4d', '\x45', '\x4d', '\x5f', '\x44', '\x55', - '\x4d', '\x50', '\x0d', '\x0a', '\x00', '\x00', '\x4d', '\x45', - '\x4d', '\x5f', '\x43', '\x4c', '\x45', '\x41', '\x52', '\x0d', - '\x0a', '\x00', '\x46', '\x4c', '\x41', '\x53', '\x48', '\x0d', - '\x0a', '\x00', '\x4a', '\x55', '\x4d', '\x50', '\x0d', '\x0a', - '\x00', '\x00', '\x45', '\x4e', '\x44', '\x0d', '\x0a', '\x00', - '\x23', '\x23', '\x23', '\x20', '\x55', '\x6e', '\x6b', '\x6e', - '\x6f', '\x77', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', - '\x3a', '\x20', '\x00', '\x00', '\x43', '\x68', '\x65', '\x63', - '\x6b', '\x73', '\x75', '\x6d', '\x20', '\x6f', '\x66', '\x20', - '\x66', '\x69', '\x6c', '\x65', '\x20', '\x69', '\x73', '\x20', - '\x00', '\x00', '\x23', '\x23', '\x23', '\x20', '\x4d', '\x65', - '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', '\x65', '\x73', - '\x74', '\x20', '\x31', '\x20', '\x66', '\x61', '\x69', '\x6c', - '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', - '\x23', '\x23', '\x23', '\x20', '\x4d', '\x65', '\x6d', '\x6f', - '\x72', '\x79', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', - '\x32', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', - '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', '\x20', '\x3a', - '\x00', '\x00', '\x38', '\x4d', '\x62', '\x20', '\x42', '\x42', - '\x00', '\x00', '\x38', '\x4d', '\x62', '\x20', '\x54', '\x42', - '\x00', '\x00', '\x31', '\x36', '\x4d', '\x62', '\x20', '\x42', - '\x42', '\x00', '\x31', '\x36', '\x4d', '\x62', '\x20', '\x54', - '\x42', '\x00', '\x33', '\x32', '\x4d', '\x62', '\x20', '\x54', - '\x42', '\x00', '\x55', '\x6e', '\x73', '\x75', '\x70', '\x70', - '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', - '\x74', '\x65', '\x72', '\x6c', '\x65', '\x61', '\x76', '\x65', - '\x21', '\x0a', '\x00', '\x00', '\x46', '\x6f', '\x75', '\x6e', - '\x64', '\x20', '\x31', '\x20', '\x78', '\x20', '\x43', '\x46', - '\x49', '\x20', '\x61', '\x74', '\x20', '\x00', '\x54', '\x6f', - '\x6f', '\x20', '\x6d', '\x61', '\x6e', '\x79', '\x20', '\x72', - '\x65', '\x67', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x6f', - '\x6e', '\x20', '\x63', '\x68', '\x69', '\x70', '\x21', '\x0a', - '\x00', '\x00', '\x4e', '\x6f', '\x20', '\x73', '\x69', '\x6e', - '\x67', '\x6c', '\x65', '\x20', '\x78', '\x31', '\x36', '\x20', - '\x61', '\x74', '\x20', '\x00', '\x4e', '\x6f', '\x20', '\x69', - '\x6e', '\x74', '\x65', '\x72', '\x6c', '\x65', '\x61', '\x76', - '\x65', '\x64', '\x20', '\x78', '\x31', '\x36', '\x20', '\x61', - '\x74', '\x20', '\x00', '\x00', '\x46', '\x6f', '\x75', '\x6e', - '\x64', '\x20', '\x00', '\x00', '\x31', '\x00', '\x32', '\x00', - '\x20', '\x78', '\x20', '\x00', '\x46', '\x61', '\x74', '\x61', - '\x6c', '\x3a', '\x20', '\x66', '\x6c', '\x61', '\x73', '\x68', - '\x20', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x6f', '\x20', - '\x73', '\x6d', '\x61', '\x6c', '\x6c', '\x2e', '\x0a', '\x00', - '\x53', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x65', - '\x72', '\x61', '\x73', '\x65', '\x20', '\x65', '\x72', '\x72', - '\x6f', '\x72', '\x0a', '\x00', '\x45', '\x72', '\x72', '\x6f', - '\x72', '\x20', '\x61', '\x74', '\x20', '\x00', '\x3a', '\x20', - '\x4e', '\x6f', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', - '\x74', '\x6f', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', - '\x0a', '\x00', '\x3a', '\x20', '\x45', '\x72', '\x61', '\x73', - '\x69', '\x6e', '\x67', '\x20', '\x00', '\x00', '\x20', '\x62', - '\x79', '\x74', '\x65', '\x73', '\x0a', '\x00', '\x3a', '\x20', - '\x57', '\x72', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', - '\x00', '\x00', '\x3a', '\x20', '\x56', '\x65', '\x72', '\x69', - '\x66', '\x79', '\x69', '\x6e', '\x67', '\x2e', '\x2e', '\x2e', - '\x00', '\x00', '\x4f', '\x4b', '\x0a', '\x00', '\xfa', '\x17', - '\x00', '\x38', '\x02', '\x18', '\x00', '\x38', '\x0a', '\x18', - '\x00', '\x38', '\x12', '\x18', '\x00', '\x38', '\x1a', '\x18', - '\x00', '\x38', '\x00', '\x00', '\x00', '\x80', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x84', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x54', '\x68', '\x69', '\x73', - '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x6c', '\x6f', '\x61', - '\x64', '\x65', '\x72', '\x20', '\x77', '\x61', '\x73', '\x20', - '\x62', '\x75', '\x69', '\x6c', '\x74', '\x20', '\x62', '\x79', - '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x20', '\x6f', '\x6e', - '\x20', '\x57', '\x65', '\x64', '\x20', '\x4d', '\x61', '\x79', - '\x20', '\x31', '\x36', '\x20', '\x32', '\x31', '\x3a', '\x33', - '\x31', '\x3a', '\x34', '\x34', '\x20', '\x43', '\x45', '\x53', - '\x54', '\x20', '\x32', '\x30', '\x30', '\x37', '\x2e', '\x0d', - '\x0a', '\x00' -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/ser_noleds_ima.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/ser_noleds_ima.c deleted file mode 100644 index 70c599308c..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/ser_noleds_ima.c +++ /dev/null @@ -1,807 +0,0 @@ - -/* cconv 1.2 12/16/97, Copyright (C) 1997, Axis Communications AB */ - -const char ser_noleds_ima[] = -{ - '\x0f', '\x05', '\x0f', '\x05', '\x6f', '\xee', '\x00', '\x1f', - '\x00', '\x38', '\x3f', '\x0d', '\x08', '\x01', '\x00', '\x38', - '\x78', '\x56', '\x34', '\x12', '\x21', '\x43', '\x65', '\x87', - '\x6f', '\xde', '\x20', '\x00', '\x00', '\xb0', '\x5f', '\x9c', - '\x65', '\x6f', '\xed', '\x9b', '\x5f', '\x9c', '\x25', '\x2f', - '\x7f', '\x0d', '\xdc', '\x15', '\x00', '\x38', '\xe9', '\x9b', - '\xed', '\x9b', '\x3f', '\x0d', '\x28', '\x01', '\x00', '\x38', - '\xfc', '\xe1', '\x7e', '\xbe', '\x7f', '\x0d', '\x7e', '\x1a', - '\x00', '\x38', '\x70', '\x8a', '\x6f', '\x9e', '\x20', '\x00', - '\x00', '\xb0', '\x69', '\x9a', '\x79', '\x67', '\x7f', '\x0d', - '\x32', '\x1a', '\x00', '\x38', '\xe9', '\x9b', '\x6f', '\x9e', - '\x22', '\x00', '\x00', '\xb0', '\x59', '\x9a', '\x59', '\x94', - '\x7f', '\x0d', '\x9a', '\x1a', '\x00', '\x38', '\xe9', '\x9b', - '\x6f', '\x9e', '\x04', '\x00', '\x00', '\xb0', '\x69', '\x9a', - '\x06', '\x93', '\xe1', '\x93', '\x81', '\x92', '\x7f', '\x0d', - '\x82', '\x1a', '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', - '\x44', '\x1a', '\x00', '\x38', '\x70', '\x4a', '\x3f', '\xbd', - '\x28', '\x02', '\x00', '\x38', '\x3f', '\xbd', '\xac', '\x02', - '\x00', '\x38', '\x3f', '\xbd', '\xcc', '\x01', '\x00', '\x38', - '\x6a', '\xa6', '\xf7', '\x30', '\x0f', '\x05', '\x6f', '\x9e', - '\x00', '\x01', '\x00', '\x38', '\x69', '\x9a', '\x7f', '\x0d', - '\x7e', '\x1a', '\x00', '\x38', '\xe9', '\x9a', '\x24', '\x80', - '\x0f', '\x05', '\x6f', '\x9e', '\x82', '\x1a', '\x00', '\x38', - '\x49', '\x9a', '\xcf', '\x9e', '\x01', '\x00', '\xd3', '\x20', - '\x0f', '\x05', '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', - '\x4d', '\x9a', '\x38', '\x93', '\x41', '\x93', '\xcd', '\x9b', - '\xc1', '\xe0', '\x0f', '\x05', '\x3e', '\xbe', '\x3f', '\x0d', - '\x6c', '\x03', '\x00', '\x38', '\xfc', '\xe1', '\x7e', '\xbe', - '\x3f', '\xbd', '\x68', '\x02', '\x00', '\x38', '\x6a', '\xa6', - '\x16', '\x20', '\x41', '\x92', '\x3f', '\xbd', '\xf4', '\x01', - '\x00', '\x38', '\x6a', '\xa6', '\x0a', '\x30', '\x79', '\x86', - '\x3f', '\xbd', '\xac', '\x02', '\x00', '\x38', '\x79', '\x86', - '\x69', '\xa6', '\x3e', '\x0d', '\x84', '\xe2', '\x6f', '\x9e', - '\x22', '\x00', '\x00', '\xb0', '\x59', '\x9a', '\x59', '\x94', - '\xee', '\x9b', '\x6f', '\xce', '\x9a', '\x1a', '\x00', '\x38', - '\x6c', '\x9a', '\x6e', '\xda', '\xad', '\x96', '\xb9', '\x96', - '\xdf', '\x9c', '\x80', '\x25', '\x0a', '\xd0', '\x0f', '\x05', - '\x6e', '\x9a', '\xec', '\x9b', '\x04', '\xe0', '\x41', '\xa2', - '\x7a', '\x86', '\x7f', '\xb6', '\x04', '\xe2', '\x00', '\x00', - '\x6f', '\x9e', '\xdc', '\x15', '\x00', '\x38', '\x79', '\x8a', - '\x7f', '\x0d', '\x64', '\x00', '\x00', '\xb0', '\x70', '\x8a', - '\x4f', '\xde', '\x55', '\x00', '\x7f', '\x0d', '\x63', '\x00', - '\x00', '\xb0', '\xcd', '\xdb', '\x0b', '\xd2', '\x7f', '\x0d', - '\x62', '\x00', '\x00', '\xb0', '\xcd', '\xdb', '\xa0', '\xd2', - '\xc9', '\xdb', '\x7f', '\x0d', '\x61', '\x00', '\x00', '\xb0', - '\xcd', '\xdb', '\x41', '\x92', '\x7f', '\x0d', '\x84', '\x1a', - '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\xb6', '\x0f', '\x05', - '\x6f', '\x9e', '\x60', '\x00', '\x00', '\xb0', '\x69', '\x9a', - '\x59', '\xb4', '\x1f', '\xbf', '\xff', '\x01', '\x88', '\x93', - '\x2e', '\xa0', '\x0f', '\x05', '\x6f', '\xce', '\x7e', '\x1a', - '\x00', '\x38', '\x6c', '\x9a', '\x6f', '\xde', '\x04', '\x01', - '\x00', '\x38', '\x6d', '\x99', '\xcb', '\xbb', '\x01', '\x92', - '\xec', '\x9b', '\x6f', '\x9e', '\x22', '\x00', '\x00', '\xb0', - '\x49', '\x9a', '\x49', '\x94', '\x7f', '\x0d', '\x9a', '\x1a', - '\x00', '\x38', '\xe9', '\x9b', '\x7f', '\xb6', '\x41', '\xa2', - '\x7f', '\xb6', '\x7a', '\x86', '\x6f', '\x9e', '\x61', '\x00', - '\x00', '\xb0', '\x49', '\x9a', '\x85', '\x93', '\xf5', '\xa0', - '\x0f', '\x05', '\x4f', '\x9e', '\x2b', '\x00', '\x7f', '\x0d', - '\xdc', '\x15', '\x00', '\x38', '\xc9', '\x9b', '\x7f', '\x0d', - '\x60', '\x00', '\x00', '\xb0', '\xc9', '\x9b', '\x7f', '\xb6', - '\x0f', '\x05', '\x8a', '\x0b', '\x28', '\x30', '\x0f', '\x05', - '\x6f', '\x9e', '\x61', '\x00', '\x00', '\xb0', '\x49', '\x9a', - '\x85', '\x93', '\x14', '\xa0', '\x0f', '\x05', '\x6f', '\x9e', - '\xdc', '\x15', '\x00', '\x38', '\x4a', '\xde', '\xc9', '\xdb', - '\x7f', '\x0d', '\x60', '\x00', '\x00', '\xb0', '\xcd', '\xdb', - '\x8a', '\x0b', '\xdd', '\x20', '\x0f', '\x05', '\x7f', '\xb6', - '\x0f', '\x05', '\xfc', '\xe1', '\x7e', '\xbe', '\x8e', '\xe2', - '\x4f', '\x9e', '\x30', '\x00', '\x01', '\xe1', '\xc9', '\x9b', - '\x4f', '\xde', '\x78', '\x00', '\x02', '\xe1', '\xcd', '\xdb', - '\x4d', '\x92', '\x0b', '\xe1', '\xc9', '\x9b', '\x4a', '\xd2', - '\x0c', '\xe1', '\xcd', '\xdb', '\x0d', '\xe1', '\x70', '\x0a', - '\x4b', '\xb6', '\x06', '\x20', '\x7c', '\x86', '\x0b', '\xe1', - '\x70', '\x0a', '\x6c', '\x96', '\xc2', '\x93', '\x6a', '\xb6', - '\xe9', '\xb7', '\x4b', '\xd6', '\x0f', '\xd3', '\xcf', '\xde', - '\x09', '\x00', '\x04', '\x80', '\x49', '\x92', '\x07', '\xd2', - '\xac', '\x96', '\x4e', '\xb2', '\x2e', '\xb6', '\x2b', '\x96', - '\x30', '\xd2', '\xf3', '\x91', '\xcd', '\xdb', '\x01', '\xc2', - '\xc8', '\xc2', '\xd9', '\x20', '\x6c', '\x96', '\x6e', '\xa6', - '\x01', '\xa2', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x0e', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', - '\x84', '\xe2', '\xfe', '\x0b', '\x6f', '\x0e', '\xd2', '\x02', - '\x00', '\x38', '\x6f', '\xae', '\xe0', '\x15', '\x00', '\x38', - '\xb0', '\xb9', '\x6f', '\xae', '\x32', '\x1a', '\x00', '\x38', - '\x6a', '\xaa', '\x7a', '\x67', '\x41', '\xb2', '\x3f', '\xbd', - '\x02', '\x03', '\x00', '\x38', '\x6f', '\xae', '\xac', '\x19', - '\x00', '\x38', '\xb0', '\xb9', '\x6f', '\x9e', '\xf0', '\x00', - '\x00', '\x38', '\xef', '\x9e', '\xf2', '\x19', '\x00', '\x38', - '\x0e', '\x30', '\x70', '\x86', '\x09', '\x0c', '\xef', '\x9e', - '\xf2', '\x19', '\x00', '\x38', '\xf7', '\x20', '\x0f', '\x05', - '\x6f', '\xae', '\xf2', '\x15', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\x60', '\xa6', '\x41', '\xb2', - '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', '\x3f', '\xbd', - '\xe2', '\x03', '\x00', '\x38', '\x3f', '\x0d', '\x28', '\x01', - '\x00', '\x38', '\xbe', '\x0f', '\x3e', '\x0d', '\xff', '\xe0', - '\x0f', '\x05', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xfe', '\x0b', '\x6f', '\x0e', '\xd2', '\x02', '\x00', '\x38', - '\x6f', '\xae', '\x0e', '\x16', '\x00', '\x38', '\xb0', '\xb9', - '\x3f', '\xbd', '\xac', '\x02', '\x00', '\x38', '\x6f', '\xae', - '\x00', '\x1f', '\x00', '\x38', '\x5f', '\xbc', '\xec', '\x01', - '\x3f', '\xbd', '\x60', '\x07', '\x00', '\x38', '\x6f', '\xae', - '\x28', '\x16', '\x00', '\x38', '\xb0', '\xb9', '\x3f', '\xbd', - '\x26', '\x04', '\x00', '\x38', '\xbe', '\x0f', '\x3e', '\xbe', - '\x3f', '\x0d', '\xde', '\x03', '\x00', '\x38', '\xfc', '\xe1', - '\x7e', '\xbe', '\x98', '\xe2', '\xfe', '\x4b', '\x6f', '\xde', - '\x00', '\x1f', '\x00', '\x38', '\x6d', '\x9a', '\x79', '\x67', - '\xed', '\x9f', '\xef', '\xde', '\xec', '\x20', '\x00', '\x38', - '\xf3', '\x20', '\x0f', '\x05', '\x6f', '\x3e', '\x00', '\x1f', - '\x00', '\x38', '\xa3', '\x0b', '\xff', '\x3d', '\xfe', '\x02', - '\x0f', '\x05', '\x63', '\x9a', '\x81', '\x92', '\xcf', '\x9d', - '\x0b', '\x00', '\x5f', '\x95', '\x3f', '\xf8', '\x54', '\x02', - '\x22', '\x01', '\x18', '\x00', '\x62', '\x00', '\x90', '\x00', - '\x96', '\x01', '\xc8', '\x01', '\xe4', '\x00', '\x00', '\x02', - '\xb8', '\x00', '\x9a', '\x02', '\xce', '\x02', '\x6f', '\xae', - '\x3a', '\x16', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x6f', '\x0e', '\x02', '\x03', '\x00', '\x38', - '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x6f', '\x0e', '\x86', '\x1a', '\x00', '\x38', '\x60', '\x9a', - '\x81', '\x92', '\xe0', '\x9b', '\x3f', '\xbd', '\xac', '\x02', - '\x00', '\x38', '\x60', '\x9a', '\x01', '\x92', '\xe0', '\x9b', - '\x62', '\xaa', '\x61', '\xba', '\x3f', '\xbd', '\x60', '\x07', - '\x00', '\x38', '\xff', '\xed', '\x88', '\x02', '\x0c', '\x32', - '\x6f', '\xae', '\x48', '\x16', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\x6f', '\x0e', '\x02', '\x03', - '\x00', '\x38', '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x61', '\x1a', '\x72', '\x09', '\xe1', '\x1b', - '\xff', '\xed', '\x5a', '\x02', '\x0c', '\x32', '\x6f', '\xae', - '\x58', '\x16', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x6f', '\x1e', '\x02', '\x03', '\x00', '\x38', - '\x04', '\x31', '\x60', '\xae', '\x41', '\xb2', '\xb1', '\xb9', - '\x60', '\xaa', '\x6a', '\xaa', '\x41', '\xb2', '\xb1', '\xb9', - '\xff', '\xed', '\x32', '\x02', '\x08', '\x32', '\x6f', '\xae', - '\x68', '\x16', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x04', '\x31', '\x60', '\xae', '\x41', '\xb2', - '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', '\x60', '\xaa', - '\xff', '\x3d', '\xc0', '\x01', '\x0f', '\x05', '\x81', '\xa2', - '\xfd', '\x20', '\x0f', '\x05', '\xff', '\xed', '\x06', '\x02', - '\x08', '\x32', '\x6f', '\x4e', '\xd2', '\x02', '\x00', '\x38', - '\x6f', '\xae', '\x76', '\x16', '\x00', '\x38', '\xb4', '\xb9', - '\x6f', '\x0e', '\x02', '\x03', '\x00', '\x38', '\x04', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x62', '\x2a', - '\x62', '\x2a', '\xe1', '\x2a', '\xff', '\x3d', '\xb8', '\x01', - '\x0f', '\x05', '\x6f', '\xae', '\x84', '\x16', '\x00', '\x38', - '\xb4', '\xb9', '\xff', '\xed', '\xd0', '\x01', '\x0f', '\x05', - '\x6f', '\x4e', '\xd2', '\x02', '\x00', '\x38', '\x6f', '\xae', - '\x94', '\x16', '\x00', '\x38', '\xb4', '\xb9', '\x6f', '\x2e', - '\x02', '\x03', '\x00', '\x38', '\x04', '\x31', '\x61', '\xae', - '\x41', '\xb2', '\xb2', '\xb9', '\x08', '\x31', '\x60', '\xae', - '\x41', '\xb2', '\xb2', '\xb9', '\x61', '\xaa', '\x60', '\xba', - '\x6e', '\xc6', '\x14', '\xc2', '\x3f', '\xbd', '\x5e', '\x08', - '\x00', '\x38', '\x6a', '\xa6', '\x30', '\x20', '\x0f', '\x05', - '\x6f', '\xae', '\xa0', '\x16', '\x00', '\x38', '\xb4', '\xb9', - '\x14', '\xe1', '\x6a', '\xaa', '\x41', '\xb2', '\xb2', '\xb9', - '\x14', '\xe1', '\x6a', '\xaa', '\x6a', '\xb6', '\x0f', '\xbc', - '\x40', '\x00', '\x8f', '\xac', '\x40', '\x00', '\x3c', '\xa3', - '\x3c', '\xb3', '\x3f', '\xbd', '\x06', '\x09', '\x00', '\x38', - '\xff', '\xed', '\x6a', '\x01', '\x0f', '\x05', '\x6f', '\xae', - '\xbc', '\x16', '\x00', '\x38', '\xb4', '\xb9', '\xff', '\xed', - '\x54', '\x01', '\x0c', '\x32', '\x6f', '\xae', '\xd2', '\x16', - '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x6f', '\x0e', '\x02', '\x03', '\x00', '\x38', '\x04', '\x31', - '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x08', '\x31', - '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', '\x62', '\xaa', - '\x61', '\xba', '\x3f', '\xbd', '\x06', '\x09', '\x00', '\x38', - '\xff', '\xed', '\x22', '\x01', '\x0c', '\x32', '\x6f', '\xae', - '\xde', '\x16', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x6f', '\x0e', '\x02', '\x03', '\x00', '\x38', - '\x04', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x62', '\xaa', '\xe1', '\xaa', '\xda', '\x90', '\x0f', '\x05', - '\x7a', '\x0e', '\x08', '\x31', '\xea', '\xaa', '\xf9', '\x80', - '\x0f', '\x05', '\xea', '\xe0', '\x0c', '\x32', '\x6f', '\xae', - '\xea', '\x16', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x6f', '\x0e', '\x02', '\x03', '\x00', '\x38', - '\x04', '\x31', '\x61', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x08', '\x31', '\x64', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x0c', '\x31', '\x62', '\xae', '\x41', '\xb2', '\xb0', '\xb9', - '\x6f', '\x0e', '\xa6', '\x12', '\x00', '\x38', '\x61', '\xaa', - '\x64', '\xba', '\x62', '\xca', '\xb0', '\xb9', '\x6a', '\xa6', - '\xac', '\x30', '\x10', '\x32', '\xc3', '\xa2', '\xae', '\x20', - '\x7a', '\x86', '\x62', '\xca', '\xef', '\xcd', '\x00', '\x00', - '\x01', '\x00', '\x64', '\xba', '\xb0', '\xb9', '\x9e', '\xe0', - '\x0f', '\x05', '\x6f', '\xde', '\x10', '\x1a', '\x00', '\x38', - '\x6d', '\x9a', '\x7f', '\x0d', '\xc0', '\x01', '\x00', '\xb0', - '\xe9', '\x9b', '\x04', '\xd1', '\x59', '\x98', '\x7f', '\x0d', - '\xc4', '\x01', '\x00', '\xb0', '\xe9', '\x9b', '\x6f', '\x1e', - '\xd2', '\x02', '\x00', '\x38', '\x6f', '\xae', '\xf2', '\x16', - '\x00', '\x38', '\xb1', '\xb9', '\x04', '\x31', '\x60', '\xae', - '\x41', '\xb2', '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', - '\x6f', '\xae', '\xfa', '\x16', '\x00', '\x38', '\xb1', '\xb9', - '\x60', '\x9a', '\xb9', '\x09', '\x50', '\xe0', '\x08', '\x32', - '\x6f', '\xae', '\x6e', '\x16', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\x6f', '\x0e', '\x02', '\x03', - '\x00', '\x38', '\x04', '\x31', '\x61', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x08', '\x31', '\x62', '\xae', '\x41', '\xb2', - '\xb0', '\xb9', '\x61', '\x1a', '\x61', '\x9a', '\x08', '\x30', - '\x81', '\x92', '\xe1', '\x9b', '\x20', '\xe0', '\x62', '\x3a', - '\x1c', '\xe0', '\x0c', '\x32', '\x6f', '\xae', '\x00', '\x17', - '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x63', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', '\x02', '\x03', - '\x00', '\x38', '\x0a', '\xe0', '\x0f', '\x05', '\xa3', '\x0b', - '\xff', '\x2d', '\x06', '\xfd', '\x0f', '\x05', '\x6f', '\xae', - '\xfa', '\x16', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\xbe', '\x4f', '\x04', '\xe2', '\x3e', '\x0d', - '\xfc', '\xe1', '\x7e', '\xbe', '\x8c', '\xe2', '\xfe', '\x2b', - '\x6a', '\x26', '\x6b', '\x06', '\x7f', '\x0d', '\x7e', '\x1a', - '\x00', '\x38', '\x70', '\x8a', '\x7f', '\x0d', '\x04', '\x01', - '\x00', '\x38', '\xea', '\xab', '\x6f', '\x9e', '\x82', '\x1a', - '\x00', '\x38', '\x49', '\x9a', '\xcf', '\x9e', '\x01', '\x00', - '\x86', '\x20', '\x0f', '\x05', '\x6f', '\xde', '\x36', '\x1a', - '\x00', '\x38', '\x08', '\xd1', '\xea', '\xab', '\x7f', '\x0d', - '\x00', '\x01', '\x00', '\x38', '\xeb', '\xbb', '\x6b', '\x96', - '\x04', '\x92', '\xdf', '\x9d', '\xdc', '\x05', '\xdd', '\x9b', - '\x6f', '\x9e', '\xa4', '\x01', '\x00', '\xb0', '\x69', '\xda', - '\x6f', '\xde', '\x00', '\x1a', '\x00', '\x38', '\xe9', '\xdb', - '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', - '\x38', '\x93', '\x44', '\x93', '\xcd', '\x9b', '\x6f', '\xde', - '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', '\x07', '\x93', - '\xcf', '\x9e', '\x04', '\x00', '\xf7', '\x30', '\x0f', '\x05', - '\x4d', '\x9a', '\x38', '\x93', '\x41', '\x93', '\xcd', '\x9b', - '\x3f', '\xbd', '\xcc', '\x01', '\x00', '\x38', '\x6a', '\xa6', - '\xf7', '\x30', '\x0f', '\x05', '\x6f', '\xce', '\x7e', '\x1a', - '\x00', '\x38', '\xec', '\x0a', '\x10', '\x80', '\x0f', '\x05', - '\x6f', '\xde', '\xd4', '\x01', '\x00', '\xb0', '\x4d', '\x9a', - '\x38', '\x93', '\x41', '\x93', '\xcd', '\x9b', '\xec', '\x0a', - '\xd7', '\x90', '\x71', '\x86', '\x22', '\xe0', '\x62', '\x96', - '\x7f', '\x0d', '\x7e', '\x1a', '\x00', '\x38', '\xeb', '\xba', - '\x14', '\x80', '\x71', '\x86', '\x3f', '\xbd', '\xcc', '\x01', - '\x00', '\x38', '\x7f', '\x0d', '\x7e', '\x1a', '\x00', '\x38', - '\xe0', '\x0a', '\xf1', '\x90', '\x71', '\x86', '\x62', '\x96', - '\x20', '\x96', '\xe9', '\x26', '\x0e', '\x30', '\x62', '\xd6', - '\x0d', '\x1c', '\x62', '\x96', '\x20', '\x96', '\xe9', '\xd6', - '\xf7', '\x20', '\x0f', '\x05', '\x6f', '\xae', '\x14', '\x17', - '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x61', '\xa6', '\x41', '\xb2', '\xbe', '\x2f', '\x3e', '\xbe', - '\x3f', '\x0d', '\x02', '\x03', '\x00', '\x38', '\xfc', '\xe1', - '\x7e', '\xbe', '\x8c', '\xe2', '\xfe', '\x2b', '\x6b', '\x06', - '\x6c', '\x26', '\xeb', '\xa6', '\x40', '\x00', '\x6a', '\xc6', - '\xe0', '\xc6', '\x32', '\x00', '\x71', '\x86', '\x6c', '\xb6', - '\x6c', '\x96', '\x79', '\x87', '\x61', '\xd6', '\xc3', '\xd3', - '\xed', '\x97', '\x49', '\xd6', '\xcb', '\x9b', '\x4b', '\x9a', - '\xcd', '\x96', '\x0c', '\x30', '\x7d', '\x87', '\x6f', '\xae', - '\x2a', '\x17', '\x00', '\x38', '\x40', '\xe0', '\xe2', '\xbb', - '\xcb', '\xdf', '\x01', '\x12', '\xc4', '\x12', '\x06', '\x30', - '\xe0', '\xb6', '\xd7', '\x10', '\x6c', '\x96', '\x04', '\xc2', - '\xe0', '\xc6', '\xc5', '\x10', '\x0f', '\x05', '\xe0', '\xa6', - '\x4e', '\x00', '\x6a', '\xc6', '\xe0', '\xc6', '\x40', '\x00', - '\x71', '\x86', '\x6c', '\xa6', '\x61', '\x96', '\xc3', '\x93', - '\x6c', '\xd6', '\xe9', '\xd7', '\x4a', '\x9a', '\xcd', '\x96', - '\x22', '\x30', '\x01', '\x12', '\x81', '\x12', '\xe2', '\xab', - '\x6f', '\xae', '\x48', '\x17', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\x62', '\xaa', '\x41', '\xb2', - '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', '\x7a', '\x86', - '\xbe', '\x2f', '\x3e', '\x0d', '\xc4', '\x12', '\x08', '\x30', - '\x01', '\xa2', '\xe0', '\xa6', '\xc9', '\x10', '\x61', '\x96', - '\x04', '\xc2', '\xe0', '\xc6', '\xb7', '\x10', '\x0f', '\x05', - '\x41', '\xa2', '\xbe', '\x2f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x94', '\xe2', '\xfe', '\x4b', '\x6b', '\x26', - '\xeb', '\xa6', '\x5a', '\x90', '\x6a', '\x06', '\x60', '\xa6', - '\x7b', '\x86', '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', - '\x6f', '\xae', '\x66', '\x17', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\xe2', '\x06', '\x2a', '\x90', - '\x74', '\x86', '\x60', '\x16', '\x60', '\x36', '\x6f', '\xae', - '\xbc', '\x17', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x63', '\xae', '\x7b', '\x86', '\x3f', '\xbd', - '\x02', '\x03', '\x00', '\x38', '\x01', '\x42', '\xc4', '\x42', - '\x08', '\x30', '\x04', '\x12', '\xe2', '\x16', '\xdf', '\x80', - '\x0f', '\x05', '\x6f', '\xae', '\x24', '\x16', '\x00', '\x38', - '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', '\x10', '\x02', - '\xe2', '\x06', '\xad', '\x80', '\x60', '\xa6', '\xbe', '\x4f', - '\x3e', '\x0d', '\x00', '\x00', '\x05', '\xa1', '\x49', '\x98', - '\xc2', '\x92', '\x0a', '\x30', '\xc4', '\x92', '\x0e', '\x30', - '\x0f', '\x05', '\x7f', '\xb6', '\x7a', '\x86', '\x6a', '\xb9', - '\x5a', '\xa8', '\x7f', '\xb6', '\x0f', '\x05', '\x6a', '\xb9', - '\x6a', '\xaa', '\x7f', '\xb6', '\x0f', '\x05', '\x6a', '\xd6', - '\x05', '\xa1', '\x4a', '\xaa', '\x4a', '\x94', '\xc2', '\x92', - '\x0a', '\x30', '\xc4', '\x92', '\x10', '\x30', '\x0f', '\x05', - '\x7f', '\xb6', '\x7a', '\x86', '\x5c', '\xca', '\x6d', '\xb9', - '\xdc', '\xcb', '\x7f', '\xb6', '\x4a', '\xa4', '\x6c', '\xca', - '\x6d', '\xb9', '\xec', '\xcb', '\x4a', '\xa4', '\x7f', '\xb6', - '\x0f', '\x05', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xee', '\xbb', '\x04', '\xa1', '\x49', '\x9a', '\xcf', '\x9e', - '\x01', '\x00', '\x06', '\x20', '\x0f', '\x05', '\x24', '\xe0', - '\xc1', '\xc3', '\xcf', '\x9e', '\x02', '\x00', '\x0c', '\x20', - '\x6b', '\x96', '\xd0', '\x93', '\x69', '\xb7', '\xee', '\xbb', - '\x12', '\xe0', '\xc2', '\xc3', '\x6f', '\xae', '\x92', '\x17', - '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x0c', '\xe0', '\x0f', '\x05', '\x6c', '\xb6', '\x6e', '\xc6', - '\x3f', '\xbd', '\x96', '\x09', '\x00', '\x38', '\x04', '\xe2', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x84', '\xe2', - '\xfe', '\x0b', '\x6a', '\x06', '\x4f', '\xbc', '\xaa', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', '\xc2', '\x09', - '\x00', '\x38', '\x60', '\xa6', '\x4f', '\xbc', '\x55', '\x00', - '\x5f', '\xcc', '\xaa', '\x02', '\xbe', '\x0f', '\x3e', '\xbe', - '\x3f', '\x0d', '\xc2', '\x09', '\x00', '\x38', '\xfc', '\xe1', - '\x7e', '\xbe', '\x90', '\xe2', '\xfe', '\x3b', '\x6a', '\x26', - '\x04', '\xa1', '\x49', '\x9a', '\xcf', '\x9e', '\x02', '\x00', - '\x42', '\x20', '\x6b', '\x36', '\x6f', '\x0e', '\x74', '\x09', - '\x00', '\x38', '\xb0', '\xb9', '\x6a', '\x16', '\x62', '\xa6', - '\x63', '\xb6', '\xb0', '\xb9', '\x61', '\xd6', '\xf0', '\xd3', - '\x1f', '\xdf', '\x40', '\x00', '\x6a', '\x96', '\xf0', '\x93', - '\x1f', '\x9f', '\x40', '\x00', '\xe9', '\xd6', '\x14', '\x20', - '\x7c', '\x86', '\x2f', '\x1f', '\x40', '\x00', '\x00', '\x00', - '\x2f', '\xaf', '\x40', '\x00', '\x00', '\x00', '\xea', '\x16', - '\x04', '\x30', '\x0f', '\x05', '\x41', '\xc2', '\x6c', '\xa6', - '\xbe', '\x3f', '\x3e', '\x0d', '\x6f', '\x1e', '\x74', '\x09', - '\x00', '\x38', '\xb1', '\xb9', '\x4a', '\x04', '\x0f', '\x0f', - '\x40', '\x00', '\x62', '\xa6', '\x63', '\xb6', '\xb1', '\xb9', - '\x2f', '\xaf', '\x40', '\x00', '\x00', '\x00', '\xea', '\x06', - '\x3a', '\x25', '\xbe', '\x3f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\xa8', '\xe2', '\xfe', '\x8b', '\x6a', '\x36', - '\x04', '\xa1', '\x44', '\x9e', '\xcf', '\x9e', '\x02', '\x00', - '\x04', '\x20', '\x41', '\x72', '\x42', '\x72', '\x6f', '\x2e', - '\xc2', '\x09', '\x00', '\x38', '\x4f', '\xbc', '\x98', '\x00', - '\x4f', '\xcc', '\x55', '\x00', '\xb2', '\xb9', '\x50', '\xb2', - '\xe7', '\xb4', '\x6f', '\x1e', '\x74', '\x09', '\x00', '\x38', - '\x63', '\xa6', '\xb1', '\xb9', '\xcf', '\xae', '\x51', '\x00', - '\xff', '\x2d', '\x9c', '\x01', '\x63', '\xa6', '\x51', '\xb2', - '\xe7', '\xb4', '\xb1', '\xb9', '\xcf', '\xae', '\x52', '\x00', - '\xff', '\x2d', '\x8c', '\x01', '\x63', '\xa6', '\x52', '\xb2', - '\xe7', '\xb4', '\xb1', '\xb9', '\xcf', '\xae', '\x59', '\x00', - '\xff', '\x2d', '\x7c', '\x01', '\x63', '\xa6', '\x24', '\xe1', - '\x70', '\x8a', '\x6f', '\xae', '\xac', '\x17', '\x00', '\x38', - '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', '\x63', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', - '\x4f', '\xbc', '\x27', '\x00', '\xe7', '\xb4', '\x63', '\xa6', - '\xb1', '\xb9', '\x41', '\x92', '\xea', '\x94', '\x06', '\x32', - '\xe3', '\x9b', '\x86', '\x32', '\x4f', '\xbc', '\x2c', '\x00', - '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x86', - '\x55', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\x6a', '\x06', '\x6a', '\xb6', '\x04', '\xb2', '\xe7', '\xb4', - '\x63', '\xa6', '\xb1', '\xb9', '\xcf', '\xae', '\x30', '\x00', - '\x3e', '\x20', '\x63', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', - '\x5f', '\xcc', '\x55', '\x05', '\xb2', '\xb9', '\x63', '\xa6', - '\x3f', '\xbd', '\x0a', '\x0a', '\x00', '\x38', '\x63', '\xa6', - '\x4f', '\xbc', '\x90', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\xb2', '\xb9', '\x44', '\xb8', '\x2b', '\xb6', '\x63', '\xa6', - '\xb1', '\xb9', '\x4a', '\x54', '\x0f', '\x5f', '\x80', '\xff', - '\x63', '\xa6', '\x4f', '\xbc', '\x98', '\x00', '\x4f', '\xcc', - '\x55', '\x00', '\xb2', '\xb9', '\x10', '\xe0', '\x0f', '\x05', - '\x0f', '\x02', '\xe7', '\x04', '\x60', '\xb6', '\xb1', '\xb9', - '\xcf', '\xae', '\x03', '\x00', '\x35', '\x35', '\x0a', '\x31', - '\xd8', '\x8b', '\xc8', '\x82', '\x12', '\xd0', '\x68', '\x46', - '\x6f', '\xae', '\xbe', '\x17', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\xd2', '\xe0', '\x7a', '\x86', - '\x65', '\x56', '\x94', '\x20', '\x81', '\x42', '\x90', '\xe0', - '\x74', '\x86', '\xc2', '\x03', '\x60', '\xb6', '\x2f', '\xb2', - '\xe7', '\xb4', '\x6f', '\x1e', '\x74', '\x09', '\x00', '\x38', - '\x63', '\xa6', '\xb1', '\xb9', '\x6a', '\x66', '\x60', '\xb6', - '\x30', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\xc8', '\xa3', '\x6a', '\x67', '\xc8', '\x63', '\x60', '\xb6', - '\x2d', '\xb2', '\xe7', '\xb4', '\x63', '\xa6', '\xb1', '\xb9', - '\x6a', '\x26', '\x2e', '\x02', '\xe7', '\x04', '\x63', '\xa6', - '\x60', '\xb6', '\xb1', '\xb9', '\xc8', '\xa3', '\x6a', '\x27', - '\x65', '\x56', '\x0a', '\x30', '\x01', '\x22', '\x68', '\x96', - '\xa4', '\x96', '\x04', '\xe0', '\x81', '\x92', '\x64', '\x96', - '\x19', '\x95', '\x63', '\xd6', '\x2d', '\x95', '\x6d', '\x96', - '\x24', '\xe1', '\x6d', '\xda', '\x0c', '\x91', '\xed', '\xdb', - '\x10', '\x91', '\xe6', '\x6b', '\x14', '\x91', '\xe2', '\x2b', - '\x62', '\x26', '\x10', '\xd0', '\x0f', '\x05', '\x24', '\xe1', - '\x29', '\x6a', '\x24', '\xe1', '\xe9', '\x9b', '\x81', '\x22', - '\xf5', '\x20', '\x0f', '\x05', '\x24', '\xe1', '\x6d', '\xda', - '\x06', '\x31', '\xed', '\xda', '\x1e', '\x30', '\x65', '\x56', - '\x06', '\x30', '\x01', '\x42', '\x81', '\x42', '\x81', '\x42', - '\x65', '\x56', '\x0c', '\x30', '\xe8', '\x46', '\x64', '\x46', - '\x69', '\xa0', '\x64', '\x06', '\x08', '\xe0', '\x63', '\xa6', - '\x61', '\xb0', '\x64', '\x06', '\x63', '\xa6', '\x4f', '\xbc', - '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', '\x3f', '\xbd', - '\xc2', '\x09', '\x00', '\x38', '\x12', '\xe0', '\x41', '\xa2', - '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\xc2', '\x09', '\x00', '\x38', '\x7a', '\x86', - '\xbe', '\x8f', '\x04', '\xe2', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\x90', '\xe2', '\xfe', '\x3b', '\x06', '\xa1', - '\xa0', '\x0b', '\xff', '\x2d', '\x16', '\x04', '\x6a', '\x26', - '\x3f', '\xbd', '\xae', '\x0a', '\x00', '\x38', '\x6a', '\xa6', - '\xff', '\x2d', '\x86', '\x03', '\x41', '\xa2', '\x62', '\xa6', - '\x3f', '\xbd', '\x0a', '\x0a', '\x00', '\x38', '\x62', '\xa6', - '\x4f', '\xbc', '\x90', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\xc2', '\x09', '\x00', '\x38', '\x6f', '\x1e', - '\x74', '\x09', '\x00', '\x38', '\x62', '\xa6', '\x7b', '\x86', - '\xb1', '\xb9', '\x6a', '\x36', '\x04', '\x21', '\x40', '\xbe', - '\x4b', '\xb4', '\x2b', '\xb6', '\x62', '\xa6', '\xb1', '\xb9', - '\x42', '\x92', '\xc0', '\x9a', '\x1c', '\x20', '\x63', '\xc6', - '\xf0', '\xc3', '\x53', '\x94', '\xe9', '\xc6', '\x14', '\x20', - '\x63', '\x06', '\x6a', '\xd6', '\xf0', '\xd3', '\x5a', '\x94', - '\xe9', '\xd6', '\x0a', '\x20', '\xd0', '\x03', '\x6c', '\x36', - '\x6d', '\xa6', '\x63', '\x06', '\xd0', '\x03', '\x6a', '\x07', - '\x62', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', - '\x55', '\x05', '\x3f', '\xbd', '\xc2', '\x09', '\x00', '\x38', - '\xef', '\x0e', '\xc0', '\x00', '\x1f', '\x00', '\xff', '\x3d', - '\x48', '\x02', '\x0f', '\x05', '\x60', '\x90', '\x0f', '\x05', - '\xef', '\x0e', '\xc4', '\x22', '\x01', '\x00', '\xb0', '\x30', - '\x0f', '\x05', '\x20', '\x90', '\x0f', '\x05', '\xef', '\x0e', - '\x58', '\x22', '\x01', '\x00', '\xff', '\x3d', '\x5a', '\x01', - '\x0f', '\x05', '\xef', '\x0e', '\x5b', '\x22', '\x01', '\x00', - '\xff', '\x3d', '\x4e', '\x01', '\x0f', '\x05', '\xff', '\xed', - '\xb6', '\x02', '\x0f', '\x05', '\xef', '\x0e', '\xda', '\x22', - '\x01', '\x00', '\xff', '\x3d', '\x9c', '\x01', '\x0f', '\x05', - '\x14', '\x90', '\x0f', '\x05', '\xef', '\x0e', '\xd6', '\x22', - '\x01', '\x00', '\xff', '\x3d', '\x8c', '\x01', '\x0f', '\x05', - '\xff', '\xed', '\x94', '\x02', '\x0f', '\x05', '\xef', '\x0e', - '\x49', '\x22', '\x04', '\x00', '\xc4', '\x30', '\x0f', '\x05', - '\xff', '\xed', '\x84', '\x02', '\x0f', '\x05', '\xef', '\x0e', - '\xd7', '\x00', '\x20', '\x00', '\xff', '\x3d', '\x6a', '\x01', - '\x0f', '\x05', '\x20', '\x90', '\x0f', '\x05', '\xef', '\x0e', - '\xc2', '\x00', '\x1f', '\x00', '\xff', '\x3d', '\x00', '\x02', - '\x0f', '\x05', '\xef', '\x0e', '\xc9', '\x00', '\x1f', '\x00', - '\xff', '\x3d', '\x18', '\x02', '\x0f', '\x05', '\xff', '\xed', - '\x56', '\x02', '\x0f', '\x05', '\xef', '\x0e', '\x4f', '\x00', - '\x98', '\x00', '\xff', '\x3d', '\x3c', '\x01', '\x0f', '\x05', - '\x12', '\x90', '\x0f', '\x05', '\xef', '\x0e', '\x43', '\x00', - '\x98', '\x00', '\x76', '\x30', '\x0f', '\x05', '\xff', '\xed', - '\x36', '\x02', '\x0f', '\x05', '\xef', '\x0e', '\xc2', '\x00', - '\x98', '\x00', '\xff', '\x2d', '\x2a', '\x02', '\x0f', '\x05', - '\x6f', '\x1e', '\xa2', '\x18', '\x00', '\x38', '\x61', '\x1a', - '\x6f', '\xde', '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', - '\xed', '\xdb', '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\x9e', - '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', '\xe9', '\x9b', - '\x5f', '\xd2', '\x14', '\x21', '\xed', '\xdb', '\x6f', '\x9e', - '\x00', '\x00', '\x1f', '\x00', '\x18', '\x21', '\xe9', '\x9b', - '\x1f', '\xdc', '\xe1', '\x7f', '\x1c', '\x21', '\xed', '\xdb', - '\x41', '\x92', '\x20', '\x21', '\xe9', '\x9b', '\x6f', '\xde', - '\x00', '\x80', '\x1f', '\x00', '\x24', '\x21', '\xed', '\xdb', - '\x5f', '\xdc', '\x00', '\x20', '\x28', '\x21', '\xed', '\xdb', - '\x42', '\xd2', '\x2c', '\x21', '\xed', '\xdb', '\x6f', '\xde', - '\x00', '\xc0', '\x1f', '\x00', '\xff', '\xed', '\x16', '\x01', - '\x0f', '\x05', '\x6f', '\x1e', '\x9e', '\x18', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x20', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x5f', '\x9c', '\x00', '\x40', '\x10', '\x21', '\xe9', '\x9b', - '\x41', '\xd2', '\x14', '\x21', '\xed', '\xdb', '\x18', '\x21', - '\xe9', '\x9b', '\x5f', '\x9c', '\x00', '\x20', '\x1c', '\x21', - '\xe9', '\x9b', '\x42', '\x92', '\x20', '\x21', '\xe9', '\x9b', - '\x1f', '\x9c', '\xfe', '\x7f', '\x24', '\x21', '\xe9', '\x9b', - '\x28', '\x21', '\xe9', '\x9b', '\x2c', '\x21', '\xed', '\xdb', - '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', '\x30', '\x21', - '\xe9', '\x9b', '\x34', '\x21', '\xe9', '\x9b', '\x58', '\xe0', - '\x5f', '\xd2', '\x6f', '\x1e', '\x96', '\x18', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x10', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x5f', '\x9c', '\x00', '\x40', '\x10', '\x21', '\xe9', '\x9b', - '\x41', '\xd2', '\x14', '\x21', '\xed', '\xdb', '\x18', '\x21', - '\xe9', '\x9b', '\x5f', '\x9c', '\x00', '\x20', '\x1c', '\x21', - '\xe9', '\x9b', '\x42', '\x92', '\x20', '\x21', '\xe9', '\x9b', - '\x1f', '\x9c', '\xfe', '\x7f', '\x24', '\x21', '\xe9', '\x9b', - '\x28', '\x21', '\xe9', '\x9b', '\x2c', '\x21', '\xed', '\xdb', - '\x6f', '\x9e', '\x00', '\x00', '\x01', '\x00', '\x30', '\x21', - '\xe9', '\x9b', '\x34', '\x21', '\xe9', '\x9b', '\x4f', '\xd2', - '\x38', '\x21', '\xed', '\xdb', '\xff', '\xed', '\x3e', '\x01', - '\x0f', '\x05', '\x6f', '\x1e', '\x9a', '\x18', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x10', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x6f', '\xde', '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', - '\xed', '\xdb', '\x4f', '\x92', '\x14', '\x21', '\xe9', '\x9b', - '\x6f', '\xde', '\x00', '\x00', '\x0f', '\x00', '\x18', '\x21', - '\xed', '\xdb', '\x1f', '\x9c', '\xf1', '\x7f', '\x1c', '\x21', - '\xe9', '\x9b', '\x41', '\x92', '\x20', '\x21', '\xe9', '\x9b', - '\x6f', '\xde', '\x00', '\x80', '\x0f', '\x00', '\x24', '\x21', - '\xed', '\xdb', '\x5f', '\xdc', '\x00', '\x20', '\x28', '\x21', - '\xed', '\xdb', '\x42', '\xd2', '\x2c', '\x21', '\xed', '\xdb', - '\x6f', '\xde', '\x00', '\xc0', '\x0f', '\x00', '\x30', '\x21', - '\xed', '\xdb', '\x5f', '\xdc', '\x00', '\x40', '\x34', '\x21', - '\xed', '\xdb', '\x38', '\x21', '\xe9', '\x9b', '\xce', '\xe0', - '\x0f', '\x05', '\x6f', '\x1e', '\x9e', '\x18', '\x00', '\x38', - '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', '\x20', '\x00', - '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', - '\x5f', '\xdc', '\x00', '\x20', '\x10', '\x21', '\xed', '\xdb', - '\x48', '\x92', '\x14', '\x21', '\xe9', '\x9b', '\x6f', '\x9e', - '\x00', '\x00', '\x01', '\x00', '\x18', '\x21', '\xe9', '\x9b', - '\x1c', '\x21', '\xe9', '\x9b', '\x62', '\xe0', '\x5f', '\xd2', - '\x6f', '\x1e', '\xa2', '\x18', '\x00', '\x38', '\x61', '\x1a', - '\x6f', '\x9e', '\x00', '\x00', '\x20', '\x00', '\x06', '\x21', - '\xe9', '\x9b', '\x0c', '\x21', '\x70', '\x8a', '\x6f', '\xde', - '\x00', '\x00', '\x01', '\x00', '\x10', '\x21', '\xed', '\xdb', - '\x26', '\xe0', '\x5f', '\x92', '\x6f', '\x1e', '\xa6', '\x18', - '\x00', '\x38', '\x61', '\x1a', '\x6f', '\x9e', '\x00', '\x00', - '\x40', '\x00', '\x06', '\x21', '\xe9', '\x9b', '\x0c', '\x21', - '\x70', '\x8a', '\x6f', '\xde', '\x00', '\x00', '\x01', '\x00', - '\x10', '\x21', '\xed', '\xdb', '\x4f', '\x9c', '\x3f', '\x00', - '\x14', '\x21', '\xe9', '\x9b', '\x6f', '\xde', '\x00', '\x00', - '\x1f', '\x00', '\x18', '\x21', '\xed', '\xdb', '\x5f', '\x9c', - '\x00', '\x20', '\x1c', '\x21', '\xe9', '\x9b', '\x48', '\xd2', - '\x20', '\x21', '\xed', '\xdb', '\x30', '\xe0', '\x0f', '\x05', - '\x04', '\x21', '\x49', '\x9a', '\x6f', '\xae', '\xda', '\x17', - '\x00', '\x38', '\xcf', '\x9e', '\x01', '\x00', '\x08', '\x30', - '\x0f', '\x05', '\x6f', '\xae', '\xec', '\x17', '\x00', '\x38', - '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', '\x62', '\xaa', - '\x41', '\xb2', '\x3f', '\xbd', '\x02', '\x03', '\x00', '\x38', - '\x7a', '\x86', '\xbe', '\x3f', '\x3e', '\x0d', '\x6f', '\x3e', - '\xd2', '\x02', '\x00', '\x38', '\x6f', '\xae', '\x04', '\x18', - '\x00', '\x38', '\xb3', '\xb9', '\x04', '\x21', '\x40', '\x9e', - '\xcf', '\x9e', '\x01', '\x00', '\x0c', '\x20', '\x42', '\xd2', - '\x6f', '\xae', '\x0c', '\x18', '\x00', '\x38', '\xb3', '\xb9', - '\x42', '\xd2', '\xc0', '\xda', '\x32', '\x20', '\x47', '\xc2', - '\x06', '\x21', '\x6d', '\x9e', '\xc1', '\x93', '\xed', '\x9b', - '\x62', '\xd6', '\x0c', '\xd1', '\x69', '\x9a', '\xc1', '\x93', - '\x0c', '\xd1', '\xe9', '\x9b', '\x10', '\xd1', '\x69', '\x9a', - '\xc1', '\x93', '\x10', '\xd1', '\xe9', '\x9b', '\x81', '\xc2', - '\xe9', '\x60', '\x0c', '\xd2', '\x6f', '\xae', '\x0e', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x6f', '\x0e', '\xd2', '\x02', '\x00', '\x38', '\x6f', '\xae', - '\x10', '\x18', '\x00', '\x38', '\xb0', '\xb9', '\x61', '\xa6', - '\xb0', '\xb9', '\x6f', '\xae', '\x42', '\x17', '\x00', '\x38', - '\xb0', '\xb9', '\x62', '\xaa', '\x41', '\xb2', '\x3f', '\xbd', - '\x02', '\x03', '\x00', '\x38', '\x41', '\xa2', '\xbe', '\x3f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x8c', '\xe2', - '\xfe', '\x2b', '\x6a', '\x16', '\x6b', '\x26', '\x6f', '\x0e', - '\x0a', '\x0a', '\x00', '\x38', '\xb0', '\xb9', '\x61', '\xa6', - '\x4f', '\xbc', '\x80', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\xc2', '\x09', '\x00', '\x38', '\x61', '\xa6', - '\xb0', '\xb9', '\x04', '\x11', '\x49', '\x9a', '\xcf', '\x9e', - '\x02', '\x00', '\x10', '\x20', '\x0f', '\x05', '\x6f', '\x9e', - '\x30', '\x00', '\x30', '\x00', '\x61', '\x29', '\xe9', '\x9b', - '\xbe', '\x2f', '\x3e', '\x0d', '\x4f', '\x9c', '\x30', '\x00', - '\x61', '\x29', '\xd9', '\x9b', '\xbe', '\x2f', '\x3e', '\x0d', - '\x84', '\xe2', '\xfe', '\x0b', '\x06', '\xa1', '\xeb', '\xba', - '\x10', '\x10', '\x0f', '\x05', '\x7a', '\x86', '\x7f', '\xb6', - '\xbe', '\x0f', '\x10', '\xa1', '\x6a', '\xaa', '\x7f', '\xb6', - '\xbe', '\x0f', '\x70', '\x86', '\x0c', '\xa1', '\xeb', '\xba', - '\x22', '\x10', '\x7d', '\x86', '\x14', '\xa1', '\xed', '\xda', - '\x10', '\x00', '\x79', '\x86', '\x10', '\xa1', '\x6c', '\xca', - '\x01', '\x92', '\x14', '\xa1', '\xe9', '\x9a', '\xf9', '\x10', - '\x2c', '\xd6', '\x0c', '\xa1', '\x29', '\xda', '\xe9', '\xb6', - '\xd1', '\x10', '\x0f', '\x05', '\x01', '\x02', '\xc7', '\x02', - '\xd3', '\x80', '\x0c', '\xa2', '\x7a', '\x86', '\x7f', '\xb6', - '\xbe', '\x0f', '\x84', '\xe2', '\xfe', '\x0b', '\x6a', '\x06', - '\x6b', '\xa6', '\x6d', '\xb6', '\x7d', '\x86', '\xeb', '\xd6', - '\x48', '\xa0', '\x0f', '\x05', '\x60', '\x9a', '\x2d', '\x96', - '\x49', '\xa5', '\x59', '\x9a', '\x4c', '\xd5', '\xd9', '\x9a', - '\x32', '\x30', '\x02', '\xd2', '\x82', '\xd2', '\x6b', '\x96', - '\x2a', '\x96', '\xe9', '\xa6', '\x20', '\x00', '\x6a', '\xc6', - '\x60', '\xc9', '\x59', '\x9a', '\xdf', '\x9e', '\xff', '\xff', - '\x0a', '\x30', '\x02', '\xc2', '\x82', '\xc2', '\x42', '\xa2', - '\x7f', '\xb6', '\xbe', '\x0f', '\x6b', '\x96', '\x2a', '\x96', - '\xe9', '\xc6', '\xe5', '\x10', '\x0f', '\x05', '\x41', '\xa2', - '\x7f', '\xb6', '\xbe', '\x0f', '\xeb', '\xd6', '\xbd', '\xb0', - '\x0f', '\x05', '\x7a', '\x86', '\x7f', '\xb6', '\xbe', '\x0f', - '\xfc', '\xe1', '\x7e', '\xbe', '\x90', '\xe2', '\xfe', '\x3b', - '\x73', '\x86', '\x72', '\x86', '\x6f', '\x0e', '\xaa', '\x18', - '\x00', '\x38', '\x41', '\x12', '\x04', '\x01', '\xc1', '\x1b', - '\xcf', '\x1e', '\x01', '\x00', '\x04', '\x30', '\x42', '\x92', - '\x44', '\x92', '\x05', '\x01', '\xc9', '\x9b', '\x60', '\xa6', - '\x3f', '\xbd', '\x9e', '\x0c', '\x00', '\x38', '\x6a', '\xa6', - '\x0c', '\x20', '\x0f', '\x05', '\xc1', '\x13', '\xcf', '\x1e', - '\x03', '\x00', '\xd9', '\x80', '\x0f', '\x05', '\x06', '\x01', - '\x23', '\x3a', '\x0f', '\x0c', '\x6c', '\x00', '\x01', '\x22', - '\xc1', '\x22', '\xc7', '\x80', '\x63', '\xa6', '\xbe', '\x3f', - '\x3e', '\x0d', '\xfc', '\xe1', '\x7e', '\xbe', '\x98', '\xe2', - '\xfe', '\x5b', '\x6a', '\x16', '\x6b', '\x56', '\x6c', '\x36', - '\x70', '\x86', '\xed', '\x06', '\x74', '\xa0', '\x6d', '\x46', - '\x05', '\x11', '\x49', '\x9a', '\xcf', '\x9e', '\x02', '\x00', - '\x12', '\x20', '\x0f', '\x05', '\x43', '\x05', '\x59', '\x9a', - '\xdf', '\x9e', '\xff', '\xff', '\x54', '\x30', '\x42', '\x22', - '\x05', '\x11', '\x49', '\x9a', '\xcf', '\x9e', '\x04', '\x00', - '\x0e', '\x20', '\x61', '\xa6', '\x43', '\x05', '\x69', '\x9a', - '\xff', '\x92', '\x3e', '\x30', '\x44', '\x22', '\x61', '\xa6', - '\x3f', '\xbd', '\x0a', '\x0a', '\x00', '\x38', '\x61', '\xa6', - '\x4f', '\xbc', '\xa0', '\x00', '\x5f', '\xcc', '\x55', '\x05', - '\x3f', '\xbd', '\xc2', '\x09', '\x00', '\x38', '\x65', '\xb6', - '\x20', '\xb6', '\x63', '\xc6', '\x20', '\xc6', '\x61', '\xa6', - '\x3f', '\xbd', '\x96', '\x09', '\x00', '\x38', '\x6a', '\x26', - '\x61', '\xa6', '\x65', '\xb6', '\x20', '\xb6', '\x3f', '\xbd', - '\x36', '\x0a', '\x00', '\x38', '\x6a', '\xa6', '\xf3', '\x20', - '\x61', '\xa6', '\x22', '\x06', '\xe4', '\x06', '\x91', '\xb0', - '\x0f', '\x05', '\xbe', '\x5f', '\x3e', '\x0d', '\xfc', '\xe1', - '\x7e', '\xbe', '\xa4', '\xe2', '\xfe', '\x8b', '\x6a', '\x16', - '\x6b', '\x06', '\x6c', '\x86', '\x3f', '\xbd', '\xc8', '\x11', - '\x00', '\x38', '\x6a', '\x96', '\x1a', '\x30', '\x41', '\xa2', - '\x60', '\xd6', '\x28', '\xd6', '\xe9', '\xd6', '\x14', '\x80', - '\x0f', '\x05', '\x6f', '\xae', '\x14', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', '\x42', '\xa2', - '\xbe', '\x8f', '\x3e', '\x0d', '\x6f', '\xce', '\xb0', '\x18', - '\x00', '\x38', '\x6c', '\xca', '\xec', '\x06', '\x1e', '\x10', - '\xec', '\xd6', '\x6f', '\x9e', '\x82', '\x19', '\x00', '\x38', - '\x09', '\x91', '\x70', '\x8a', '\x16', '\x91', '\xe1', '\x1b', - '\xac', '\x06', '\x1a', '\x91', '\xe0', '\x0b', '\x1e', '\x91', - '\xe8', '\x8b', '\x74', '\xe0', '\x0f', '\x05', '\x5a', '\x80', - '\x6c', '\x96', '\x6f', '\xde', '\x82', '\x19', '\x00', '\x38', - '\x01', '\xd1', '\xe1', '\x1b', '\x05', '\xd1', '\xe0', '\x0b', - '\xa0', '\x96', '\x09', '\xd1', '\xe9', '\x9b', '\x29', '\x16', - '\x16', '\xd1', '\xe1', '\x1b', '\x1a', '\xd1', '\x70', '\x8a', - '\x68', '\xc6', '\xa9', '\xc6', '\x1e', '\xd1', '\xec', '\xcb', - '\x46', '\xe0', '\x0f', '\x05', '\x6f', '\xae', '\x30', '\x18', - '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', - '\x44', '\xa2', '\xbe', '\x8f', '\x3e', '\x0d', '\x6f', '\xae', - '\x44', '\x18', '\x00', '\x38', '\x3f', '\xbd', '\xd2', '\x02', - '\x00', '\x38', '\x60', '\xa6', '\x41', '\xb2', '\x3f', '\xbd', - '\x02', '\x03', '\x00', '\x38', '\x43', '\xa2', '\xbe', '\x8f', - '\x3e', '\x0d', '\x6f', '\x9e', '\x82', '\x19', '\x00', '\x38', - '\x01', '\x91', '\xe1', '\x1b', '\x05', '\x91', '\xe0', '\x0b', - '\x09', '\x91', '\xe8', '\x8b', '\x1e', '\x91', '\x70', '\x8a', - '\x6f', '\xce', '\x82', '\x19', '\x00', '\x38', '\x7c', '\x0a', - '\x0d', '\xc1', '\x70', '\x8a', '\x11', '\xc1', '\x70', '\x8a', - '\x15', '\xc1', '\x79', '\x0e', '\x7f', '\x0d', '\xa4', '\x19', - '\x00', '\x38', '\x70', '\x8a', '\x7f', '\x0d', '\xa8', '\x19', - '\x00', '\x38', '\x70', '\x8a', '\x0d', '\x91', '\xe8', '\x8a', - '\xff', '\x8d', '\xc0', '\x01', '\x75', '\x86', '\x65', '\x56', - '\x04', '\x20', '\x6c', '\xd6', '\x15', '\xd2', '\x65', '\x96', - '\x29', '\x55', '\x65', '\x36', '\x23', '\x95', '\x09', '\xd1', - '\x69', '\x9a', '\x24', '\x30', '\x2c', '\x36', '\x0d', '\xd1', - '\xe9', '\x9a', '\x1c', '\x80', '\x0f', '\x05', '\x09', '\x31', - '\x69', '\x9a', '\x10', '\x30', '\x0f', '\x05', '\x83', '\x0b', - '\x0a', '\x20', '\x0f', '\x05', '\x0d', '\x31', '\xe9', '\x9a', - '\x06', '\x20', '\x0f', '\x05', '\x65', '\x56', '\x35', '\x35', - '\x11', '\x31', '\x63', '\x3a', '\xca', '\x32', '\x4d', '\x90', - '\x65', '\x96', '\x29', '\x55', '\x65', '\x36', '\x23', '\x95', - '\x2f', '\x3e', '\x82', '\x19', '\x00', '\x38', '\x05', '\x31', - '\x64', '\x4a', '\x0d', '\x31', '\x69', '\x9a', '\x29', '\x46', - '\x01', '\x31', '\x27', '\x9a', '\x65', '\xa6', '\xc3', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\x2f', '\xae', '\xaa', '\x18', '\x00', '\x38', '\x64', '\xb6', - '\x3f', '\xbd', '\x18', '\x11', '\x00', '\x38', '\x83', '\x0b', - '\x24', '\x30', '\x6a', '\x66', '\x65', '\xa6', '\xc3', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\x2f', '\xae', '\xaa', '\x18', '\x00', '\x38', '\x64', '\xb6', - '\x3f', '\xbd', '\x36', '\x0a', '\x00', '\x38', '\x6a', '\xa6', - '\xe5', '\x20', '\x65', '\xa6', '\x73', '\x0a', '\x65', '\x26', - '\xc3', '\x23', '\xa5', '\x26', '\xc2', '\x23', '\xa5', '\x26', - '\xc2', '\x23', '\x2f', '\x2e', '\xaa', '\x18', '\x00', '\x38', - '\x62', '\xa6', '\x4f', '\xbc', '\xf0', '\x00', '\x5f', '\xcc', - '\x55', '\x05', '\x3f', '\xbd', '\xc2', '\x09', '\x00', '\x38', - '\x62', '\xa6', '\x64', '\xb6', '\x67', '\xc6', '\x66', '\xd6', - '\x3f', '\xbd', '\x6a', '\x11', '\x00', '\x38', '\x4a', '\xa6', - '\x28', '\x20', '\x7b', '\x86', '\x0d', '\x31', '\x69', '\xde', - '\x26', '\xd6', '\xe9', '\xdb', '\x11', '\x31', '\x70', '\x8a', - '\x62', '\xaa', '\x24', '\xa6', '\x3f', '\xbd', '\x02', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x4e', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', '\xaa', '\xe0', - '\x0f', '\x05', '\xcf', '\xae', '\x01', '\x00', '\x4c', '\x30', - '\x0f', '\x05', '\xcf', '\xae', '\x02', '\x00', '\x46', '\x20', - '\x65', '\xa6', '\x62', '\xaa', '\x24', '\xa6', '\x6f', '\x1e', - '\x02', '\x03', '\x00', '\x38', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\x0e', '\xd2', '\x02', '\x00', '\x38', '\x6f', '\xae', - '\x62', '\x18', '\x00', '\x38', '\xb0', '\xb9', '\x66', '\xa6', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\xae', '\x6e', '\x18', - '\x00', '\x38', '\xb0', '\xb9', '\x62', '\xa6', '\x64', '\xb6', - '\x3f', '\xbd', '\xca', '\x10', '\x00', '\x38', '\x41', '\x92', - '\xc3', '\x9b', '\x11', '\x31', '\x6d', '\x9e', '\x01', '\x92', - '\x58', '\xe0', '\xed', '\x9b', '\x65', '\xa6', '\xc3', '\xa3', - '\xa5', '\xa6', '\xc2', '\xa3', '\xa5', '\xa6', '\xc2', '\xa3', - '\x6f', '\xad', '\xaa', '\x18', '\x00', '\x38', '\x62', '\xae', - '\x24', '\xa6', '\x6f', '\x1e', '\x02', '\x03', '\x00', '\x38', - '\x7b', '\x86', '\xb1', '\xb9', '\x6f', '\x0e', '\xd2', '\x02', - '\x00', '\x38', '\x6f', '\xae', '\x76', '\x18', '\x00', '\x38', - '\xb0', '\xb9', '\x66', '\xa6', '\x7b', '\x86', '\xb1', '\xb9', - '\x6f', '\xae', '\x6e', '\x18', '\x00', '\x38', '\xb0', '\xb9', - '\x62', '\xa6', '\x64', '\xb6', '\x67', '\xc6', '\x66', '\xd6', - '\x3f', '\xbd', '\x1a', '\x12', '\x00', '\x38', '\x0d', '\x31', - '\x6d', '\x9e', '\x26', '\x96', '\xed', '\x9b', '\x11', '\x31', - '\x70', '\x8a', '\x6f', '\xce', '\x82', '\x19', '\x00', '\x38', - '\x0d', '\xc1', '\x69', '\x9a', '\x7f', '\x0d', '\xa4', '\x19', - '\x00', '\x38', '\x29', '\x9a', '\xe8', '\x96', '\xff', '\x1d', - '\x44', '\xfe', '\x0f', '\x05', '\x75', '\x86', '\x6f', '\x2e', - '\xaa', '\x18', '\x00', '\x38', '\x6f', '\x1e', '\x82', '\x19', - '\x00', '\x38', '\x09', '\x11', '\xa0', '\x0b', '\x4c', '\x30', - '\x7b', '\x86', '\x62', '\xaa', '\x3f', '\xbd', '\x02', '\x03', - '\x00', '\x38', '\x6f', '\xae', '\x82', '\x18', '\x00', '\x38', - '\x3f', '\xbd', '\xd2', '\x02', '\x00', '\x38', '\x70', '\x86', - '\x09', '\x11', '\xe0', '\x0a', '\x22', '\x00', '\x0f', '\x05', - '\x05', '\x11', '\x29', '\x0a', '\x01', '\x11', '\x6d', '\xda', - '\x62', '\x99', '\x59', '\x9a', '\x4d', '\x05', '\xd9', '\x9a', - '\xff', '\x2d', '\x9a', '\xfd', '\x0f', '\x05', '\x02', '\x02', - '\x09', '\x11', '\xe0', '\x0a', '\xe3', '\x10', '\x0f', '\x05', - '\x6f', '\xae', '\x92', '\x18', '\x00', '\x38', '\x3f', '\xbd', - '\xd2', '\x02', '\x00', '\x38', '\x0f', '\x2c', '\x6c', '\x00', - '\x01', '\x52', '\xc1', '\x52', '\xa5', '\x80', '\x15', '\x12', - '\x7a', '\x86', '\xbe', '\x8f', '\x3e', '\x0d', '\x00', '\x00', - '\x7f', '\xb6', '\x0f', '\x05', '\x00', '\x00', '\x00', '\x00', - '\x0d', '\x0a', '\x0d', '\x0a', '\x44', '\x65', '\x76', '\x69', - '\x63', '\x65', '\x20', '\x49', '\x44', '\x20', '\x3d', '\x20', - '\x00', '\x00', '\x43', '\x68', '\x65', '\x63', '\x6b', '\x73', - '\x75', '\x6d', '\x20', '\x6f', '\x66', '\x20', '\x62', '\x6f', - '\x6f', '\x74', '\x6c', '\x6f', '\x61', '\x64', '\x65', '\x72', - '\x20', '\x69', '\x73', '\x20', '\x00', '\x00', '\x57', '\x61', - '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', '\x66', '\x6f', - '\x72', '\x20', '\x6c', '\x6f', '\x61', '\x64', '\x20', '\x69', - '\x6e', '\x66', '\x6f', '\x2e', '\x0d', '\x0a', '\x00', '\x00', - '\x47', '\x6f', '\x74', '\x20', '\x6c', '\x6f', '\x61', '\x64', - '\x20', '\x69', '\x6e', '\x66', '\x6f', '\x2e', '\x0d', '\x0a', - '\x00', '\x00', '\x50', '\x41', '\x43', '\x4b', '\x45', '\x54', - '\x5f', '\x49', '\x4e', '\x46', '\x4f', '\x0d', '\x0a', '\x00', - '\x53', '\x45', '\x54', '\x5f', '\x52', '\x45', '\x47', '\x49', - '\x53', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x00', '\x00', - '\x47', '\x45', '\x54', '\x5f', '\x52', '\x45', '\x47', '\x49', - '\x53', '\x54', '\x45', '\x52', '\x0d', '\x0a', '\x00', '\x00', - '\x50', '\x41', '\x55', '\x53', '\x45', '\x5f', '\x4c', '\x4f', - '\x4f', '\x50', '\x0d', '\x0a', '\x00', '\x00', '\x4d', '\x45', - '\x4d', '\x5f', '\x56', '\x45', '\x52', '\x49', '\x46', '\x59', - '\x0d', '\x0a', '\x00', '\x00', '\x76', '\x65', '\x72', '\x69', - '\x66', '\x79', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', - '\x64', '\x0d', '\x0a', '\x00', '\x4d', '\x45', '\x4d', '\x5f', - '\x54', '\x45', '\x53', '\x54', '\x0d', '\x0a', '\x00', '\x00', - '\x23', '\x23', '\x23', '\x20', '\x4d', '\x65', '\x6d', '\x6f', - '\x72', '\x79', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', - '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', '\x20', '\x61', - '\x74', '\x20', '\x00', '\x00', '\x50', '\x61', '\x73', '\x73', - '\x65', '\x64', '\x20', '\x6d', '\x65', '\x6d', '\x6f', '\x72', - '\x79', '\x20', '\x74', '\x65', '\x73', '\x74', '\x2e', '\x0d', - '\x0a', '\x00', '\x4d', '\x45', '\x4d', '\x5f', '\x44', '\x55', - '\x4d', '\x50', '\x0d', '\x0a', '\x00', '\x00', '\x4d', '\x45', - '\x4d', '\x5f', '\x43', '\x4c', '\x45', '\x41', '\x52', '\x0d', - '\x0a', '\x00', '\x46', '\x4c', '\x41', '\x53', '\x48', '\x0d', - '\x0a', '\x00', '\x4a', '\x55', '\x4d', '\x50', '\x0d', '\x0a', - '\x00', '\x00', '\x45', '\x4e', '\x44', '\x0d', '\x0a', '\x00', - '\x23', '\x23', '\x23', '\x20', '\x55', '\x6e', '\x6b', '\x6e', - '\x6f', '\x77', '\x6e', '\x20', '\x74', '\x79', '\x70', '\x65', - '\x3a', '\x20', '\x00', '\x00', '\x43', '\x68', '\x65', '\x63', - '\x6b', '\x73', '\x75', '\x6d', '\x20', '\x6f', '\x66', '\x20', - '\x66', '\x69', '\x6c', '\x65', '\x20', '\x69', '\x73', '\x20', - '\x00', '\x00', '\x23', '\x23', '\x23', '\x20', '\x4d', '\x65', - '\x6d', '\x6f', '\x72', '\x79', '\x20', '\x74', '\x65', '\x73', - '\x74', '\x20', '\x31', '\x20', '\x66', '\x61', '\x69', '\x6c', - '\x65', '\x64', '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', - '\x23', '\x23', '\x23', '\x20', '\x4d', '\x65', '\x6d', '\x6f', - '\x72', '\x79', '\x20', '\x74', '\x65', '\x73', '\x74', '\x20', - '\x32', '\x20', '\x66', '\x61', '\x69', '\x6c', '\x65', '\x64', - '\x20', '\x61', '\x74', '\x20', '\x00', '\x00', '\x20', '\x3a', - '\x00', '\x00', '\x38', '\x4d', '\x62', '\x20', '\x42', '\x42', - '\x00', '\x00', '\x38', '\x4d', '\x62', '\x20', '\x54', '\x42', - '\x00', '\x00', '\x31', '\x36', '\x4d', '\x62', '\x20', '\x42', - '\x42', '\x00', '\x31', '\x36', '\x4d', '\x62', '\x20', '\x54', - '\x42', '\x00', '\x33', '\x32', '\x4d', '\x62', '\x20', '\x54', - '\x42', '\x00', '\x55', '\x6e', '\x73', '\x75', '\x70', '\x70', - '\x6f', '\x72', '\x74', '\x65', '\x64', '\x20', '\x69', '\x6e', - '\x74', '\x65', '\x72', '\x6c', '\x65', '\x61', '\x76', '\x65', - '\x21', '\x0a', '\x00', '\x00', '\x46', '\x6f', '\x75', '\x6e', - '\x64', '\x20', '\x31', '\x20', '\x78', '\x20', '\x43', '\x46', - '\x49', '\x20', '\x61', '\x74', '\x20', '\x00', '\x54', '\x6f', - '\x6f', '\x20', '\x6d', '\x61', '\x6e', '\x79', '\x20', '\x72', - '\x65', '\x67', '\x69', '\x6f', '\x6e', '\x73', '\x20', '\x6f', - '\x6e', '\x20', '\x63', '\x68', '\x69', '\x70', '\x21', '\x0a', - '\x00', '\x00', '\x4e', '\x6f', '\x20', '\x73', '\x69', '\x6e', - '\x67', '\x6c', '\x65', '\x20', '\x78', '\x31', '\x36', '\x20', - '\x61', '\x74', '\x20', '\x00', '\x4e', '\x6f', '\x20', '\x69', - '\x6e', '\x74', '\x65', '\x72', '\x6c', '\x65', '\x61', '\x76', - '\x65', '\x64', '\x20', '\x78', '\x31', '\x36', '\x20', '\x61', - '\x74', '\x20', '\x00', '\x00', '\x46', '\x6f', '\x75', '\x6e', - '\x64', '\x20', '\x00', '\x00', '\x31', '\x00', '\x32', '\x00', - '\x20', '\x78', '\x20', '\x00', '\x46', '\x61', '\x74', '\x61', - '\x6c', '\x3a', '\x20', '\x66', '\x6c', '\x61', '\x73', '\x68', - '\x20', '\x69', '\x73', '\x20', '\x74', '\x6f', '\x6f', '\x20', - '\x73', '\x6d', '\x61', '\x6c', '\x6c', '\x2e', '\x0a', '\x00', - '\x53', '\x65', '\x63', '\x74', '\x6f', '\x72', '\x20', '\x65', - '\x72', '\x61', '\x73', '\x65', '\x20', '\x65', '\x72', '\x72', - '\x6f', '\x72', '\x0a', '\x00', '\x45', '\x72', '\x72', '\x6f', - '\x72', '\x20', '\x61', '\x74', '\x20', '\x00', '\x3a', '\x20', - '\x4e', '\x6f', '\x20', '\x6e', '\x65', '\x65', '\x64', '\x20', - '\x74', '\x6f', '\x20', '\x77', '\x72', '\x69', '\x74', '\x65', - '\x0a', '\x00', '\x3a', '\x20', '\x45', '\x72', '\x61', '\x73', - '\x69', '\x6e', '\x67', '\x20', '\x00', '\x00', '\x20', '\x62', - '\x79', '\x74', '\x65', '\x73', '\x0a', '\x00', '\x3a', '\x20', - '\x57', '\x72', '\x69', '\x74', '\x69', '\x6e', '\x67', '\x20', - '\x00', '\x00', '\x3a', '\x20', '\x56', '\x65', '\x72', '\x69', - '\x66', '\x79', '\x69', '\x6e', '\x67', '\x2e', '\x2e', '\x2e', - '\x00', '\x00', '\x4f', '\x4b', '\x0a', '\x00', '\x6a', '\x17', - '\x00', '\x38', '\x72', '\x17', '\x00', '\x38', '\x7a', '\x17', - '\x00', '\x38', '\x82', '\x17', '\x00', '\x38', '\x8a', '\x17', - '\x00', '\x38', '\x00', '\x00', '\x00', '\x80', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x84', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', - '\x00', '\x00', '\x00', '\x00', '\x54', '\x68', '\x69', '\x73', - '\x20', '\x62', '\x6f', '\x6f', '\x74', '\x6c', '\x6f', '\x61', - '\x64', '\x65', '\x72', '\x20', '\x77', '\x61', '\x73', '\x20', - '\x62', '\x75', '\x69', '\x6c', '\x74', '\x20', '\x62', '\x79', - '\x20', '\x72', '\x6f', '\x6f', '\x74', '\x20', '\x6f', '\x6e', - '\x20', '\x57', '\x65', '\x64', '\x20', '\x4d', '\x61', '\x79', - '\x20', '\x31', '\x36', '\x20', '\x32', '\x31', '\x3a', '\x33', - '\x31', '\x3a', '\x34', '\x36', '\x20', '\x43', '\x45', '\x53', - '\x54', '\x20', '\x32', '\x30', '\x30', '\x37', '\x2e', '\x0d', - '\x0a', '\x00' -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/serial.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/serial.c deleted file mode 100644 index 95a02299e1..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/serial.c +++ /dev/null @@ -1,637 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : serial.c -*! -*! DESCRIPTION: Serial boot stuff for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! 1996 Ronny Raneup Initial version -*! 2002 05 02 Ronny Ranerup Moved it into this file -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999-2003 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ - -/************************** Include files ********************************/ - -#include <conf.h> -#include <e100boot.h> -#include <serial.h> -#include <common.h> - -/************************** Type definitions *****************************/ - -/************************** Global variables *****************************/ - -FILE *serialFd; -int set_baudrate = 9600; /* Baudrate for serial boot (after bootloader). */ - -/************************** Constants and macros *************************/ - -/************************** Function prototypes **************************/ - -int SetControlMode(FILE *fd, int value, int onoff); -int SetInputMode(FILE *fd, int value, int onoff); -int SetLocalMode(FILE *fd, int value, int onoff); -int SetOutputMode(FILE *fd, int value, int onoff); -int WaitForRead(int s, int usecs); -int WaitForWrite(int s, int usecs); -void setBaudRate(unsigned int b); - -/**************************************************************************** -*# -*# FUNCTION NAME: SerBoot -*# -*# DESCRIPTION: The main serial boot routine. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 01 07 ronny Initial version -*# -*#***************************************************************************/ - -void -SerBoot(void) -{ - int seq = 0; - struct packet_buf *p; - int got_new_ack = 0; - int connected = 0; - char rec_buf; - - while ((p = create_packet(seq))) { - int offset = 0; - int tr_len = 0; - static char fName[MAX_STRING_LEN] = {0,}; - - if (strcmp(fName, p->boot_file->fileName) != 0) { - while (connected && got_new_ack == 0) { - WaitForRead(fileno(serialFd), 1000000); /* Did we get data? */ - - if(fread(&rec_buf, 1, 1, serialFd) > 0) { - fwrite(&rec_buf, 1, 1, stderr); - if (rec_buf == '+') { - printf("# Got ack.\n"); - got_new_ack = 1; - } - } - } - - strcpy(fName, p->boot_file->fileName); - printf("# transmitting file '%s'\n", fName); - got_new_ack = 0; - } - - printf("# transmitting %d bytes at baudrate %d.\n", (int)p->size, p->baud_rate); - - // setBaudRate(p->baud_rate); - - while (tr_len != p->size) { - - if (WaitForRead(fileno(serialFd), 0)) { /* Did we get data? */ - // static int connected = 0; - char rec_buf = 0; - int rec_len = 0; - - if((rec_len = fread(&rec_buf, 1, 1, serialFd)) > 0) { - if (rec_buf == '+') { - if (!connected++) { - printf("# Got ack.\n"); - } - else { - got_new_ack = 1; - printf("# Got ack.\n"); - } - fwrite(&rec_buf, rec_len, 1, stderr); - } - } - } - - if (tr_len < p->size) { /* send one byte */ - while (!(WaitForWrite(fileno(serialFd), 1000000))) { } - fwrite(&p->data[offset+tr_len], 1, 1, serialFd); - tr_len++; - } - } - - seq++; /* We have transmitted entire packet. */ - } - - printf("# Transmission done. Just listening now.\n"); - - while(1) { - if (WaitForRead(fileno(serialFd), 10000000)) { /* Did we get data? */ - char rec_buf; - int rec_len = 0; - - if((rec_len = fread(&rec_buf, 1, 1, serialFd)) > 0) { - fwrite(&rec_buf, rec_len, 1, stderr); - } - } - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: SetupSerial -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 970325 ronny Initial version -*# -*#***************************************************************************/ - -int -SetupSerial(void) -{ - int baudRates[] = {0, 50, 75, 110, 134, 150, 200, 300, 600, - 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200}; - struct termios ti; - int baudrate; - - if ((serialFd = fopen(device, "r+")) == NULL) { - perror("Can't open modem"); - return FALSE; - } - - /* Important. Remember this!!!!!!! */ - /* setvbuf(serialFd, NULL, _IONBF, 0); */ - - setvbuf(serialFd, NULL, _IONBF, 0); - setvbuf(stdout, NULL, _IONBF, 0); - - if (fcntl(fileno(serialFd), F_SETFL, O_NONBLOCK) == -1) { - perror("fcntl"); - return FALSE; - } - - tcflush(fileno(serialFd), TCIOFLUSH); - - if (tcgetattr(fileno(serialFd), &ti)) { - perror("tcgetattr"); - return FALSE; - } - - ti.c_cc[VMIN] = 1; - ti.c_cc[VTIME] = 0; - ti.c_cc[VSTART] = 0x11; - ti.c_cc[VSTOP] = 0x13; - - if (tcsetattr(fileno(serialFd), TCSANOW, &ti)) { - perror("tcsetattr"); - return FALSE; - } - - //if (db3) printf("outspeed: %d, inspeed: %d\n", baudRates[cfgetospeed(&ti)], baudRates[cfgetispeed(&ti)]); - { - int new_baudrate = 0; - - if (set_baudrate <= 50) { - baudrate = B50; - new_baudrate = 50; - } - else if (set_baudrate <= 75) { - baudrate = B75; - new_baudrate = 75; - } - else if (set_baudrate <= 110) { - baudrate = B110; - new_baudrate = 110; - } - else if (set_baudrate <= 134) { - baudrate = B134; - new_baudrate = 134; - } - else if (set_baudrate <= 150) { - baudrate = B150; - new_baudrate = 150; - } - else if (set_baudrate <= 200) { - baudrate = B200; - new_baudrate = 200; - } - else if (set_baudrate <= 300) { - baudrate = B300; - new_baudrate = 300; - } - else if (set_baudrate <= 600) { - baudrate = B600; - new_baudrate = 600; - } - else if (set_baudrate <= 1200) { - baudrate = B1200; - new_baudrate = 1200; - } - else if (set_baudrate <= 1800) { - baudrate = B1800; - new_baudrate = 1800; - } - else if (set_baudrate <= 2400) { - baudrate = B2400; - new_baudrate = 2400; - } - else if (set_baudrate <= 4800) { - baudrate = B4800; - new_baudrate = 4800; - } - else if (set_baudrate <= 9600) { - baudrate = B9600; - new_baudrate = 9600; - } - else if (set_baudrate <= 19200) { - baudrate = B19200; - new_baudrate = 19200; - } - else if (set_baudrate <= 38400) - baudrate = B38400; -#if defined(B57600) /* POSIX only defines <= 38400 */ - else if (set_baudrate <= 57600) { - baudrate = B57600; - new_baudrate = 57600; - } -#endif -#if defined(B115200) - else if (set_baudrate <= 115200) { - baudrate = B115200; - new_baudrate = 115200; - } -#endif -#if defined(B230400) - else if (set_baudrate <= 230400) { - baudrate = B230400; - new_baudrate = 230400; - } -#endif - else { - baudrate = B38400; - } - - cfsetispeed(&ti, B9600); - cfsetospeed(&ti, baudrate); - tcsetattr(fileno(serialFd), TCSANOW, &ti); - - // printf("* baudrate set to %d\n", new_baudrate); - set_baudrate = new_baudrate; - - if (db3) printf("outspeed: %d, inspeed: %d\n", baudRates[cfgetospeed(&ti)], baudRates[cfgetispeed(&ti)]); - } - - cfmakeraw(&ti); - - SetInputMode(serialFd, IXON, FALSE); - SetInputMode(serialFd, IXOFF, FALSE); - SetInputMode(serialFd, IXANY, FALSE); - SetInputMode(serialFd, ICRNL, FALSE); - SetInputMode(serialFd, IGNPAR, TRUE); - SetInputMode(serialFd, IGNBRK, TRUE); - SetInputMode(serialFd, IGNPAR, TRUE); - SetInputMode(serialFd, INPCK, FALSE); - - SetOutputMode(serialFd, OPOST, FALSE); - SetOutputMode(serialFd, ONLCR, FALSE); -#ifdef OXTABS - SetOutputMode(serialFd, OXTABS, FALSE); -#endif - -#ifdef ENOEOT - SetOutputMode(serialFd, ENOEOT, FALSE); -#endif - - SetLocalMode(serialFd, ECHO, FALSE); - SetLocalMode(serialFd, ISIG, FALSE); - - SetLocalMode(serialFd, ICANON, FALSE); - - SetControlMode(serialFd, PARENB, FALSE); - SetControlMode(serialFd, CLOCAL, TRUE); - SetControlMode(serialFd, CREAD, TRUE); - - /* Disable hardware flow control. */ -#if defined(CRTSCTS) - - SetControlMode(serialFd, CRTSCTS, FALSE); -#if defined(CRTSXOFF) - SetControlMode(serialFd, CRTSXOFF, FALSE); -#endif - -#elif defined(CCTS_OFLOW) - - SetControlMode(serialFd, CCTS_OFLOW, FALSE); - SetControlMode(serialFd, CRTS_IFLOW, FALSE); - -#elif defined(CNEW_RTSCTS) - - SetControlMode(serialFd, CNEW_RTSCTS, FALSE); - -#else - printf("Cannot set hardware flow control. Set it manually with a terminal program.\n"); -#endif - - return TRUE; -} - -void -setBaudRate(unsigned int b) -{ - int baudRates[] = {0, 50, 75, 110, 134, 150, 200, 300, 600, - 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200}; - struct termios ti; - - if (tcgetattr(fileno(serialFd), &ti)) { - perror("tcgetattr"); - exit(EXIT_FAILURE); - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: SetInputMode -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 970325 ronny Initial version -*# -*#***************************************************************************/ - -int -SetInputMode(FILE *fd, int value, int onoff) -{ - struct termios settings; - int result; - - result = tcgetattr(fileno(fd), &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } - - if (onoff) - settings.c_iflag |= value; - else - settings.c_iflag &= ~value; - - result = tcsetattr(fileno(fd), TCSANOW, &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } - - return 1; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: SetOutputMode -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2001 May 16 ronny Initial version -*# -*#***************************************************************************/ - -int -SetOutputMode(FILE *fd, int value, int onoff) -{ - struct termios settings; - int result; - - result = tcgetattr(fileno(fd), &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } - - if (onoff) - settings.c_oflag |= value; - else - settings.c_oflag &= ~value; - - result = tcsetattr(fileno(fd), TCSANOW, &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } - - return 1; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: SetControlMode -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 970325 ronny Initial version -*# -*#***************************************************************************/ - -int -SetControlMode(FILE *fd, int value, int onoff) -{ -#if !defined(_WIN32) - struct termios settings; - int result; - - result = tcgetattr(fileno(fd), &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } - - if (onoff) - settings.c_cflag |= value; - else - settings.c_cflag &= ~value; - - result = tcsetattr(fileno(fd), TCSANOW, &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } -#endif - - return TRUE; -} -/**************************************************************************** -*# -*# FUNCTION NAME: SetLocalMode -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 970325 ronny Initial version -*# -*#***************************************************************************/ - -int -SetLocalMode(FILE *fd, int value, int onoff) -{ -#if !defined(_WIN32) - struct termios settings; - int result; - - result = tcgetattr(fileno(fd), &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } - - if (onoff) - settings.c_lflag |= value; - else - settings.c_lflag &= ~value; - - result = tcsetattr(fileno(fd), TCSANOW, &settings); - if (result < 0) - { - perror("error in tcgetattr"); - return FALSE; - } -#endif - - return TRUE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: WaitForRead -*# -*# PARAMETERS: Timeout in usecs. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961001 ronny Initial version -*# 971204 ronny usecs was a only one tenth of what it should be. -*# -*#***************************************************************************/ - -int -WaitForRead(int s, int usecs) -{ - fd_set mask; - int ret; - struct timeval tm; - - tm.tv_sec = usecs/1000000; - tm.tv_usec = usecs%1000000; - - FD_ZERO(&mask); - FD_SET(s, &mask); - - if ((ret = select(FD_SETSIZE, &mask, NULL, NULL, &tm)) == -1) { - printf("<<< select failed with return: %d.\n", ret); - return FALSE; - } - else { - if (db3) printf("* select returned OK:%d\n", ret); - } - - if (FD_ISSET(s, &mask) == 0) { - if (db2) printf("<<< WaitForRead. No data to read.\n"); - return FALSE; - } - - if (db3) printf("<<< WaitForRead OK. Returned:%d.\n", ret); - - return TRUE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: WaitForWrite -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000-11-20 ronny Initial version -*# -*#***************************************************************************/ - -int -WaitForWrite(int s, int usecs) -{ - fd_set mask; - int ret; - struct timeval tm; - - tm.tv_sec = usecs/1000000; - tm.tv_usec = usecs%1000000; - - FD_ZERO(&mask); - FD_SET(s, &mask); - - if ((ret = select(FD_SETSIZE, NULL, &mask, NULL, &tm)) == -1) { - printf("<<< select failed with return: %d.\n", ret); - return FALSE; - } - else { - if (db3) printf("* select returned OK:%d\n", ret); - } - - if (FD_ISSET(s, &mask) == 0) { - if (db2) printf("<<< WaitForWrite. No data to read.\n"); - return FALSE; - } - - if (db3) printf("<<< WaitForWrite OK. Returned:%d.\n", ret); - - return TRUE; -} diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/serial.h b/target/linux/etrax-2.6/image/e100boot/src/sbl/serial.h deleted file mode 100644 index 98e68200c9..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/serial.h +++ /dev/null @@ -1,26 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : serial.h -*! -*! DESCRIPTION: Serial boot stuff for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! 1996 Ronny Raneup Initial version -*! 2002 05 02 Ronny Ranerup Moved it into this file -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999, 2000, 2001, 2002 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ -/************************** Include files ********************************/ -/************************** Type definitions *****************************/ -/************************** Global variables *****************************/ - -extern int set_baudrate; /* Baudrate for serial boot (after bootloader). */ - -/************************** Constants and macros *************************/ -/************************** Function prototypes **************************/ -int SetupSerial (void); -void SerBoot (void); diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/Makefile b/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/Makefile deleted file mode 100644 index cb8911a0ac..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -%.o : %.c - gcc -mno-cygwin -c -g -Wall -I ../ -I ../../cbl/src/ -I ../../wpdpack/Include -o $@ $< - -etrax100boot : common.o network.o boot_images.o - gcc -mno-cygwin -g -Wall -L ../../wpdpack/Lib -o $@ $^ -lwpcap -lpacket -lws2_32 - -clean : - rm -f *.o etrax100boot diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/boot_images.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/boot_images.c deleted file mode 100755 index a09dc9ddb1..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/boot_images.c +++ /dev/null @@ -1,35 +0,0 @@ -/* boot_images.c - Collection of the different boot images - * Johan Adolfsson Axis Communications AB - * $Id: boot_images.c,v 1.1 2004/01/26 10:52:40 mikaelp Exp $ - */ - -#include <stdio.h> -#include "boot_images.h" - -/* We include the C files here to the size etc. easy */ -#include "net_ima.c" -#include "ser_ima.c" -#include "net_noleds_ima.c" -#include "ser_noleds_ima.c" - -struct boot_image_info_type boot_image_info[] = -{ - { INTERNAL_NW, net_ima, sizeof net_ima, "Network boot (default)"}, - { INTERNAL_SER, ser_ima, sizeof ser_ima, "Serial boot"}, - { INTERNAL_SER_NOLEDS, ser_noleds_ima, sizeof ser_noleds_ima, "Serial boot, no leds"}, - { INTERNAL_NW_NOLEDS, net_noleds_ima, sizeof net_noleds_ima, "Network boot, no leds"}, - - { "DBGNONE", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG0", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG1", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG2", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - { "DBG3", net_ima, sizeof net_ima, "Obsolete (use INTERNAL_NW instead)" }, - - { "DBGNONE_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG0_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG1_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG2_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - { "DBG3_NOLEDS", net_noleds_ima, sizeof net_noleds_ima, "Obsolete (use INTERNAL_NW_NOLEDS instead)" }, - - { NULL, NULL, 0, NULL } /* End of array */ -}; diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/common.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/common.c deleted file mode 100644 index fd47a5310c..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/common.c +++ /dev/null @@ -1,1651 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : common.c -*! -*! DESCRIPTION: Common functions for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! ??? ? ???? Ronny Ranerup Initial version -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999-2003 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ -/* $Id: common.c,v 1.1 2004/01/26 10:52:40 mikaelp Exp $ */ - -/************************** Version **************************************/ - -char version[] = "Time-stamp: $Id: common.c,v 1.1 2004/01/26 10:52:40 mikaelp Exp $"; - -/************************** Include files ********************************/ - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <stdlib.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <io.h> -#include <winsock2.h> - -#include <e100boot.h> -#include <pcap.h> -#include "boot_images.h" -#include <reg_des.h> -#include <sv_addr_ag.h> -#include <common.h> - -#include <serial.h> -#include <network.h> - -/************************** Constants and macros *************************/ - -#define BOOT_CMDS_FILE "BOOT_CMDS" - -/************************** Type definitions *****************************/ - -struct label_t { - struct label_t *prev; - udword addr; - char *name; -}; - -/************************** Global variables *****************************/ - -char needle[MAX_STRING_LEN] = "END"; /* search needle for --find */ -int needle_len = 3; - -int exitonfind = FALSE; - -int doing_flash = FALSE; /* Just a flag to see if we should - warn that it might take some - time. */ - -int toFiles = FALSE; /* Dump all packets to files. */ -int cmdsOnly = FALSE; /* Just dump boot cmds to file. */ -int netBoot = TRUE; /* Do network boot? */ -int serBoot = FALSE; /* Do serial boot? */ - -struct label_t *loop_label = NULL; -struct label_t *label = NULL; - -struct packet_buf *first_packet = NULL; -struct packet_buf *last_packet = NULL; - -struct packet_buf *boot_cmds_packet; - -int create_boot_loader = TRUE; - -/* We use the INTERNAL boot image as default */ -char boot_loader_file[MAX_STRING_LEN] = INTERNAL_NW; - -int noleds = FALSE; /* Use boot images that doesn't toggle leds? */ - -struct boot_files_T *first_boot_file = NULL; -struct boot_files_T *last_boot_file = NULL; - -unsigned int boot_cmds[SIZE_OF_BOOT_CMDS / sizeof(unsigned int)]; -int boot_cmds_cnt = 0; - -int svboot = FALSE; - -int quiet = 0; - -struct packet_header_T send_packet; -struct packet_header_T *receive_packet; - -int seq_nr = 0; - -/* debug flags */ -int db1 = FALSE; -int db2 = FALSE; -int db3 = FALSE; -int db4 = FALSE; - -char device[MAX_STRING_LEN] = ""; - - -/************************** Function prototypes **************************/ - -FILE *Fopen (const char *name, const char *mode); -int main (int argc, const char *argv[]); -int GetNumberOption (int *argNr, int argCount, const char *argVect[], unsigned int *ret, const char *option, int base); -int GetStringOption (int *argNr, int argCount, const char *argVect[], char *ret, const char *option); -int GetRegisterOption (int *argNr, int argCount, const char *argVect[], unsigned int *ret, const char *option, int base); -struct boot_files_T* allocate_boot_file (struct boot_files_T *bf); -struct packet_buf* CreateNewBootPacket (void); -struct packet_buf* allocate_packet (struct packet_buf *p); -void SigHandler (int sig); -void CreateBootLoader (void); -void FinishBootCmds (void); -void ParseArgs (int argc, const char *argv[]); -void PrintHelp (void); -void CreateBootCmds (void); -void handle_labels (void); -void new_label (struct label_t **label, udword addr, const char *name); - -/**************************************************************************** -*# -*# FUNCTION NAME: main -*# -*# PARAMETERS: Command line arguments. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -int -main(int argc, const char *argv[]) -{ - ParseArgs(argc, argv); - - if (cmdsOnly) { - /* We make this a special case to avoid messing up other code. */ - CreateBootCmds(); - FinishBootCmds(); - SendToDevice(&boot_cmds_packet->data[SIZE_OF_HEADER],SIZE_OF_BOOT_CMDS); - exit(EXIT_SUCCESS); - } - - if (netBoot && !toFiles) { - /* Do not bother with this if we just want to write the packets to - files. Means you do not have to be root to run --tofiles. */ - net_init(); - } - else if (serBoot) { - /*if (!SetupSerial())*/ { - exit(0); - } - } - - CreateBootLoader(); - CreateBootCmds(); - FinishBootCmds(); - - printf("Starting boot...\n"); - if (doing_flash) { - printf("We're doing a flash write, this may take up to a few minutes...\n"); - } - - if (toFiles) { - udword seq = 0; - struct packet_buf *p; - - while((p = create_packet(seq++))) { - SendToDevice(p->data, p->size); - } - - exit(EXIT_SUCCESS); - } - - if (netBoot) { - NetBoot(); - } - else if (serBoot) { - /*SerBoot();*/ - } - - printf("Done.\n"); - return EXIT_SUCCESS; -} /* main */ - -/**************************************************************************** -*# -*# FUNCTION NAME: free_packet -*# -*# PARAMETERS: struct to free -*# -*# DESCRIPTION: Frees struct and data in struct. -*# -*# RETURNS: Pointer to next struct. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 02 07 ronny Initial version -*# -*#***************************************************************************/ - -struct packet_buf* -free_packet(struct packet_buf *p) -{ - struct packet_buf *next_p; - - next_p = p->next; - free(p->data); - free(p); - return(next_p); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: create_packet -*# -*# PARAMETERS: Sequence number of desired packet. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 06 28 ronny Initial version -*# -*#***************************************************************************/ - -struct packet_buf* -create_packet(udword seq) -{ - struct packet_buf *p = first_packet; - /* Should check last first? */ - - if (db4) printf("> create_packet seq %d\n", seq); - - while (p) { - if (p->seq == seq) { - return(p); - } - p = p->next; - } - - return(CreateNewBootPacket()); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: find_string -*# -*# PARAMETERS: New string to search. -*# -*# DESCRIPTION: Searches a number of strings for needle[], including strings -*# overlapping between different calls. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 020502 ronny Initial version -*# -*#***************************************************************************/ - -void -find_string(char *str) -{ - static int matched = 0; - int hs[MAX_STRING_LEN]; - static int cur_hs = 0; - static int hs_len = 0; - static int last_hs = 0; - - static int cur_needle = 0; - - if (!needle[0]) { - return; - } - // printf("# adding >%s<\n", str); - - { - int c = 0; - int s = 0; - - while((c = str[s])) { - // printf("\n# cur_hs %d, hs_len %d\n", cur_hs, hs_len); - { - int i; - - for(i = 0; i != hs_len; i++) { - // printf("hs[%d] = %d(%c)\n", i, (int)hs[i], hs[i] < 32 ? 'X' : hs[i]); - } - } - - if (cur_hs == hs_len) { - // printf("adding char %d(%c) at hs[%d]\n", (int)c, c < 32 ? 'X' : c, hs_len); - hs[hs_len] = c; - hs_len++; - s++; - } - - // printf("testing %d at cur_hs %d against %d at cur_needle %d\n", - // (int)hs[cur_hs], cur_hs, (int)needle[cur_needle], cur_needle); - - if (hs[cur_hs] == needle[cur_needle]) { - if (cur_needle+1 == needle_len) { - int exitcode = EXIT_SUCCESS; - - // printf("\nFound needle from --find option.\n"); - if (exitonfind) { - int ret; - // printf("scanf (s=%d)'%s'\n", s, &str[s+1]); - ret = sscanf(&str[s+1], "%i", &exitcode); - // printf("ret %d, '%s'\n", ret, &str[s+1]); - } - printf("Exiting with code %d\n", exitcode); - exit(exitcode); - } - cur_needle++; - cur_hs++; - } - else { - // printf("no match, shifting hs.\n"); - { - int i; - for(i=0; i!= hs_len-1; i++) { - hs[i] = hs[i+1]; - } - } - hs_len--; - cur_needle = 0; - cur_hs = 0; - } - } - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: Fopen -*# -*# PARAMETERS: Name and mode, both strings. -*# -*# DESCRIPTION: Opens a file and returns its fd, or NULL. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -FILE * -Fopen(const char *name, const char *mode) -{ - FILE *fd; - - if (db2) printf(">>> Fopen '%s', mode '%s'\n", name, mode); - - fd = fopen(name, mode); - - if (fd == NULL) { - printf("<<< Fopen failed on '%s', mode '%s'\n", name, mode); - return ((FILE*) NULL); - } - - if (strncmp(mode, "a", 1) == 0) { - if (db3) printf("* Append mode, seeking to end.\n"); - fseek(fd, 0L, SEEK_SET); - } - - if (db2) printf("<<< Fopen: '%s'\n", name); - - return(fd); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: ParseArgs -*# -*# PARAMETERS: Standard command line args. -*# -*# DESCRIPTION: Parses command line arguments. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -void -ParseArgs (int argc, const char *argv[]) -{ - int argi; - int i; - int printHelp = FALSE; - int exitCode = EXIT_SUCCESS; - char dbStr[MAX_STRING_LEN]; /* Debug option string. */ - int number; - int argCount; - const char **argVect; - struct stat st; - - if (db4) printf(">>> ParseArgs\n"); - argCount = argc; - argVect = argv; - - for (argi = 1; argi < argCount; argi++) { - if (db4) printf("argv[%d] = '%s'\n", argi, argVect[argi]); - if (strncmp(argVect[argi], "--from", 6) == 0) { - if (GetStringOption(&argi, argCount, argVect, host1, "--from") == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - else { - printf("Host: %s %s\n", host1, host2); - if (sscanf(host1, "%x-%x-%x-%x-%x-%x", &i, &i, &i, &i, &i, &i) == 6) { - printf("Ethernet address\n"); - } - } - } - - else if (strncmp(argVect[argi], "--device", 8) == 0) { - if (GetStringOption(&argi, argCount, argVect, device, "--device") == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - else if (strncmp(argVect[argi], "--network", 9) == 0) { - netBoot = TRUE; - serBoot = FALSE; - strcpy(boot_loader_file, INTERNAL_NW); - } - - else if (strncmp(argVect[argi], "--serial", 8) == 0) { - serBoot = TRUE; - netBoot = FALSE; - strcpy(device, "/dev/ttyS0"); - strcpy(boot_loader_file, INTERNAL_SER); - } - - else if (strncmp(argVect[argi], "--noleds", 8) == 0) { - noleds = TRUE; - } - - else if (strncmp(argVect[argi], "--images", 8) == 0) { - int i = 0; - - printf("Internal images:\n"); - - while(boot_image_info[i].name) { - printf("'%s', %s, size %lu bytes.\n", - boot_image_info[i].name, - boot_image_info[i].info, - boot_image_info[i].len - ); - i++; - } - exit(EXIT_SUCCESS); - } - - else if (strncmp(argv[argi], "--baudrate", 10) == 0) { - /* if (GetNumberOption (&argi, argCount, argVect, &set_baudrate, "--baudrate", 10) == 0)*/ { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - else if (strncmp(argVect[argi], "--tofiles", 9) == 0) { - toFiles = TRUE; - } - - else if (strncmp(argVect[argi], "--cmdsonly", 10) == 0) { - cmdsOnly = TRUE; - } - - else if (strncmp(argVect[argi], "--to", 4) == 0) { - if ((GetStringOption(&argi, argCount, argVect, host2, "--to") == 0)) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - else { - printf("Host: %s %s\n", host1, host2); - both_addresses = TRUE; - if (sscanf(host2, "%x-%x-%x-%x-%x-%x", &i, &i, &i, &i, &i, &i) == 6) { - printf("Ethernet address\n"); - } - } - } - - else if (strncmp(argVect[argi], "--printp", 8) == 0) { - pPacket = 1; - } - - else if (strncmp(argVect[argi], "--printascii", 11) == 0) { - pPacket = 1; - printPacketType = ASCII; - } - - else if (strncmp(argVect[argi], "--printudec", 11) == 0) { - pPacket = 1; - printPacketType = UDEC; - } - - else if (strncmp(argVect[argi], "--printhex", 10) == 0) { - pPacket = 1; - printPacketType = HEX; - } - - else if (strncmp(argVect[argi], "--bpl", 5) == 0) { - if (GetNumberOption(&argi, argCount, argVect, &p_packet_bpl, "--bpl", 10) == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - else if (strncmp(argVect[argi], "--promisc", 11) == 0) { - promisc = 1; - } - - else if (strncmp(argVect[argi], "--5400", 6) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000000; - boot_cmds[boot_cmds_cnt++] = 0x000095b6; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000008; - boot_cmds[boot_cmds_cnt++] = 0x0000e751; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb000000c; - boot_cmds[boot_cmds_cnt++] = 0x12604040; - } - - else if (strncmp(argVect[argi], "--5600", 6) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000000; - boot_cmds[boot_cmds_cnt++] = 0x000095b6; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb0000008; - boot_cmds[boot_cmds_cnt++] = 0x00006751; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = 0xb000000c; - boot_cmds[boot_cmds_cnt++] = 0x12204040; - } - - else if (strncmp(argVect[argi], "--testcardlx", 12) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x12604040; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_TIMING; - boot_cmds[boot_cmds_cnt++] = 0x0000e751; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_WAITSTATES; - boot_cmds[boot_cmds_cnt++] = 0x00b395b5; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_BUS_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x00000207; - } - - else if (strncmp(argVect[argi], "--testcard", 10) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_WAITSTATES; - boot_cmds[boot_cmds_cnt++] = 0x000010b3; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_TIMING; - boot_cmds[boot_cmds_cnt++] = 0x00006543; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x12966060; - } - - else if (strncmp(argVect[argi], "--devboard", 10) == 0) { - /* Printing on serial port will not work until PORT_PB is set... */ - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_PORT_PB_SET; - boot_cmds[boot_cmds_cnt++] = 0x01001ef3; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_PORT_PA_SET; - boot_cmds[boot_cmds_cnt++] = 0x00001df0; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_WAITSTATES; - boot_cmds[boot_cmds_cnt++] = 0x000095a6; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x1a200040; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_DRAM_TIMING; - boot_cmds[boot_cmds_cnt++] = 0x00005611; - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - boot_cmds[boot_cmds_cnt++] = (unsigned int)R_BUS_CONFIG; - boot_cmds[boot_cmds_cnt++] = 0x00000104; - } - - else if (strncmp(argVect[argi], "--verify", 8) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_VERIFY; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--verify", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--verify", 16); - } - - else if (strncmp(argVect[argi], "--setreg", 8) == 0) { - boot_cmds[boot_cmds_cnt++] = SET_REGISTER; - if ((argVect[argi+1][0] >= 'A') && (argVect[argi+1][0] <= 'Z')) { - GetRegisterOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--setreg", 16); - } - else { - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--setreg", 16); - } - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--setreg", 16); - } - - else if (strncmp(argVect[argi], "--getreg", 8) == 0) { - boot_cmds[boot_cmds_cnt++] = GET_REGISTER; - if ((argVect[argi+1][0] >= 'A') && (argVect[argi+1][0] <= 'Z')) { - GetRegisterOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--getreg", 16); - } - else { - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--getreg", 16); - } - } - - else if (strncmp(argVect[argi], "--pause", 7) == 0) { - boot_cmds[boot_cmds_cnt++] = PAUSE_LOOP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--pause", 16); - } - - else if (strncmp(argVect[argi], "--memtest", 9) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_TEST; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memtest", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memtest", 16); - } - - else if (strncmp(argVect[argi], "--loop", 6) == 0) { - char str[MAX_STRING_LEN]; - boot_cmds[boot_cmds_cnt++] = LOOP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--loop", 16); - GetStringOption(&argi, argCount, argVect, str, argVect[argi]); - new_label(&loop_label, boot_cmds_cnt+1, str); - boot_cmds_cnt++; - } - - else if (strncmp(argVect[argi], "--label", 7) == 0) { - char str[MAX_STRING_LEN]; - GetStringOption(&argi, argCount, argVect, str, "--label"); - new_label(&label, boot_cmds_cnt, str); - } - - else if (strncmp(argVect[argi], "--memdump", 9) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_DUMP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memdump", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memdump", 16); - } - - else if (strncmp(argVect[argi], "--memclear", 10) == 0) { - boot_cmds[boot_cmds_cnt++] = MEM_CLEAR; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memclear", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--memclear", 16); - } - - else if (strncmp(argVect[argi], "--flash", 7) == 0) { - boot_cmds[boot_cmds_cnt++] = FLASH; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--flash", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--flash", 16); - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--flash", 16); - doing_flash = TRUE; - } - - else if (strncmp(argVect[argi], "--jump", 6) == 0) { - boot_cmds[boot_cmds_cnt++] = JUMP; - GetNumberOption(&argi, argCount, argVect, &boot_cmds[boot_cmds_cnt++], "--jump", 16); - } - - else if (strncmp(argVect[argi], "--file", 6) == 0) { - char str[MAX_STRING_LEN]; - boot_cmds[boot_cmds_cnt++] = PACKET_INFO; - GetStringOption(&argi, argCount, argVect, - str, "--file"); /* file name */ - GetNumberOption(&argi, argCount, argVect, - &boot_cmds[boot_cmds_cnt++], str, 16); /* address */ - last_boot_file = allocate_boot_file(last_boot_file); - first_boot_file = first_boot_file ? first_boot_file : last_boot_file; - last_boot_file->fileName = malloc(strlen(str) + 1); - strcpy(last_boot_file->fileName, str); - last_boot_file->size_p = &boot_cmds[boot_cmds_cnt]; - last_boot_file->fd = NULL; - last_boot_file->size_sent = 0; - if (strncmp(str, "-", 1) != 0) { - if (stat(last_boot_file->fileName, &st) == -1) { - printf("Cannot get size of file '%s'. %s.\n", - last_boot_file->fileName, strerror(errno)); - exit(EXIT_FAILURE); - } - if (db2) printf("* size is %d 0x%8.8x\n", - (int)st.st_size, (unsigned int)st.st_size); - last_boot_file->size = st.st_size; - boot_cmds[boot_cmds_cnt++] = st.st_size; - } - else { - GetNumberOption(&argi, argCount, argVect, - &last_boot_file->size , str, 16); /* size */ - - boot_cmds[boot_cmds_cnt++] = last_boot_file->size; - printf("* size is %d 0x%8.8x\n", last_boot_file->size, - last_boot_file->size); - } - } - - else if (strncmp(argVect[argi], "--bootfile", 10) == 0) { - GetStringOption(&argi, argCount, argVect, - boot_loader_file, "--bootfile"); - } - - else if (strncmp(argVect[argi], "-d", 2) == 0) { - if (GetNumberOption (&argi, argCount, argVect, &number, "-d", 10) == 0) { - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - else { - sprintf(dbStr, "%d", number); - for (i = 0; i != (int) strlen(dbStr); i++) { - switch (dbStr[i] - '0') { - case 1: - db1 = TRUE; - break; - case 2: - db2 = TRUE; - break; - case 3: - db3 = TRUE; - break; - case 4: - db4 = TRUE; - break; - default: - printf("ERROR! Debug level %d is not defined.\n", dbStr[i] - '0'); - printHelp = TRUE; - exitCode = EXIT_FAILURE; - break; - } - } - } - } - - else if (strncmp(argVect[argi], "--find", 6) == 0) { - GetStringOption(&argi, argCount, argVect, needle, "--find"); - /* convert control characters like /n to the real ascii valure */ - { - int i; - int j = 0; - char c; - int esc = 0; - - for (i = 0; (c = needle[i]); i++,j++) { -// printf("c = %d, i %d, j %d\n", (int)c, i, j); - if (c == '\\') { -// printf("esc\n"); - esc = 1; - continue; - } - else if (esc) { - esc = 0; - switch(c) { - case 'r': - c = '\r'; - break; - - case 'n': - c = '\n'; - break; - - case '\\': - c = '\\'; - break; - - default: - printf("Uknown escape sequence '\\%c'\n", c); - exit(EXIT_FAILURE); - } - j--; - } - // printf("setting j %d to %d\n", j, (int)c); - needle[j] = c; - } - needle_len = j; - } - - for (i = 0; needle[i]; i++) { - //printf("i = %d, c %d\n", i,(int)needle[i]); - } - } - - else if (strncmp(argVect[argi], "--exitonfind", 12) == 0) { - exitonfind = TRUE; - } - - else if (strncmp(argVect[argi], "--help", 6) == 0) { - printHelp = TRUE; - } - - else { - printf("ERROR! Don't understand option '%s'\n", argVect[argi]); - printHelp = TRUE; - exitCode = EXIT_FAILURE; - } - } - - if (printHelp == TRUE) { - PrintHelp(); - exit(exitCode); - } - - if (noleds) { - strcpy(&boot_loader_file[strlen(boot_loader_file)], "_NOLEDS"); - } - - handle_labels(); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: handle_labels -*# -*# PARAMETERS: global loop_label, label -*# -*# DESCRIPTION: Checks and matches labels from --loop and --label commands -*# and inserts the resolved addresses into boot commands. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 20020204 ronny Initial version -*# -*#***************************************************************************/ - -void -handle_labels(void) -{ - struct label_t *ll = loop_label; - struct label_t *l = label; - struct label_t *last_l = l; - - while(ll) { - int match = 0; - - l = last_l; - while(l) { - match = 0; - - if (l->name && ll->name && (strcmp(l->name, ll->name) == 0)) { - match = 1; - boot_cmds[ll->addr] = IO_BUF_START+(l->addr*4); - break; - } - l = l->prev; - } - if (!match) { - printf("Error. No label '%s' defined as needed by --loop command.\n", ll->name); - exit(EXIT_FAILURE); - } - ll = ll->prev; - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: new_label -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 20020201 ronny Initial version -*# -*#***************************************************************************/ - -void -new_label(struct label_t **label, udword addr, const char *name) -{ - struct label_t *new_p; - - new_p = malloc(sizeof(struct label_t)); - - if (*label == NULL) { /* first one? */ - *label = new_p; - new_p->prev = NULL; - } - else { - new_p->prev = *label; - } - *label = new_p; - new_p->addr = boot_cmds_cnt; - new_p->name = malloc(strlen(name)); - strcpy(new_p->name, name); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetStringOption -*# -*# PARAMETERS: int *argNr : Returns next argc here. -*# int argCount : Index of last argument. -*# char *argVect[] : argv. -*# char *ret : Copy string here. -*# char *option : Name of the option. -*# -*# DESCRIPTION: Extracts a string option from argv, and updates argnr. -*# Returns TRUE/FALSE and string in *ret. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960930 ronny Initial version -*# 961203 ronny Handles filenames with spaces within 'file name'. -*# -*#***************************************************************************/ - -int -GetStringOption(int *argNr, int argCount, const char *argVect[], char *ret, - const char *option) -{ - int startChar = strlen(option); - - *ret = '\0'; - - /* Are there any more chars after option? If not skip to next argv. */ - if (strlen(argVect[*argNr]) <= (unsigned int)startChar) { - (*argNr)++; - startChar = 0; - } - - /* Any args left? */ - if (*argNr >= argCount) { - printf("ERROR! The option '%s' needs a string argument.\n", option); - PrintHelp(); - exit(EXIT_FAILURE); - } - - /* avoid stack overflow hacks */ - if (strlen(&argVect[*argNr][startChar]) > MAX_STRING_LEN) { - printf("Argument '%s' longer than maximum allowable %d characters.\n", - &argVect[*argNr][startChar], MAX_STRING_LEN); - exit(EXIT_FAILURE); - } - - strcpy(ret, &argVect[*argNr][startChar]); - if (db4) printf("<<< GetStringOption '%s'\n", ret); - - return TRUE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetNumberOption -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960930 ronny Initial version -*# -*#***************************************************************************/ - -int -GetNumberOption(int *argNr, int argCount, const char *argVect[], - unsigned int *ret, const char *option, int base) -{ - int startChar = 0; - int add_io_base = 0; - - (*argNr)++; - - if (*argNr >= argCount) { - printf("ERROR! The option '%s' needs a number argument.\n", option); - PrintHelp(); - exit(EXIT_FAILURE); - } - - if (argVect[*argNr][startChar] == '+') { - add_io_base = 1; - startChar++; - } - - *ret = strtoul(&argVect[*argNr][startChar], NULL, base); - - if (add_io_base) { - *ret += IO_BUF_START; - if (*ret < IO_BUF_START || *ret >= IO_BUF_END) { - printf("ERROR! '%s' is outside the IO buffer (option '%s').\n", - argVect[*argNr], option); - exit(EXIT_FAILURE); - } - } - - if (db4) printf("<<< GetNumberOption %08x\r\n", *ret); - - return TRUE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetRegisterOption -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960930 ronny Initial version -*# -*#***************************************************************************/ - -int -GetRegisterOption(int *argNr, int argCount, const char *argVect[], - unsigned int *ret, const char *option, int base) -{ - int startChar = 0; - - (*argNr)++; - - if (*argNr >= argCount) { - printf("Error! The option '%s' needs a register name.\n", option); - PrintHelp(); - exit(EXIT_FAILURE); - } - - { - int r = 0; - - while (reg_des[r].name) { - if (strcmp(reg_des[r].name, argVect[*argNr]) == 0) { - *ret = reg_des[r].addr; - return TRUE; - break; - } - r++; - } - } - - printf("Error! Didn't find a register name matching '%s'.\n", - argVect[*argNr]); - - exit(EXIT_FAILURE); - - return FALSE; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: PrintHelp -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Prints help info. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*# -*#***************************************************************************/ - -void -PrintHelp(void) -{ - printf("e100boot version %s.\n", version); - - printf("\ne100boot [--device devicename] [--file filename|- addr [size]]\n" - " [--flash ram-source flash-offset size]\n" - " [--pause iter]\n" - " [--memtest addr addr]\n" - " [--memclear addr addr] [--memdump addr addr]\n" - " [--setreg addr|regname val] [--getreg addr|regname]\n" - " [--verify addr val] [--label label] [--loop addr label]\n" - " [--5400] [--5600] [--testcard] [--devboard]\n" - " [--testcardlx] [--network] [--serial]\n" - " [--baudrate baudrate] [--bootfile file] [--jump addr]\n" - " [--tofiles] [--cmdsonly] [--images] [--noleds]\n" - " [--help]\n\n"); - - printf(" The commands sent to the cbl, and which are parsed by the cbl,\n" - " are stored at 0x%8.8x-0x%8.8x.\n\n", IO_BUF_START, IO_BUF_END); - - printf(" See the man page for more details about e100boot.\n\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: CreateBootLoader -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Creates boot packets from boot file or internal loader. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -void -CreateBootLoader(void) -{ - struct stat st; - char *buf = NULL; - // int size_pos = 0x18; - // int addr_pos = 0x28; - struct packet_header_T *ph; - int packet_size; - int header_size; - int buf_cnt = 0; - int i; - udword sum = 0; - - if (create_boot_loader) { - int image_nbr = 0; - int found = 0; - const struct boot_image_info_type *info; - - if (db4) printf("> CreateBootLoader\n"); - - info = &boot_image_info[image_nbr]; - - /* Use internal boot loader? */ - while (!found && info->name != NULL) { - if (strcmp(boot_loader_file, info->name) == 0) { - st.st_size = info->len; - buf = (char*) malloc(st.st_size); - memcpy(buf, info->ptr, st.st_size); /* unnecessary? */ - found = TRUE; - printf("Using internal boot loader: %s - %s.\n", - info->name, info->info); - } - else { - image_nbr++; - info = &boot_image_info[image_nbr]; - } - } - - /* No internal? Load it from file instead. */ - if (!found) { - FILE *fd; - - /* We didn't find an internal match, load the boot file from disk. */ - if ((fd = Fopen(boot_loader_file, "r")) == NULL) { - printf("Cannot open bootloader '%s'. %s.\n", - boot_loader_file, strerror(errno)); - exit(EXIT_FAILURE); - } - - if (fstat(fileno(fd), &st) == -1) { - printf("Cannot get filestatus of bootloader '%s'. %s.\n", - boot_loader_file, strerror(errno)); - exit(EXIT_FAILURE); - } - - buf = (char*) malloc(st.st_size); - // printf("CreateBootLoader: buf = (char*) malloc(st.st_size); 2\n"); - if (read(fileno(fd), buf, st.st_size) != st.st_size) { - printf("Read fewer bytes than there should be in %s.\n", - boot_loader_file); - exit(EXIT_FAILURE); - } - - fclose(fd); - } - - /* Alright, got loader in buf[] and size in st. */ - if (netBoot) { - /* The etrax code for all boot methods are linked to adress - 380000f0 but since network boot starts execution at 380000f4 - we have two nops in the beginning of the code which we do not - transmit to etrax in the network case. The link adress - doesn't change though. */ - buf += 4; - st.st_size -= 4; - packet_size = DATA_SIZE; - } - else { - packet_size = st.st_size; - } - - /* Hack binary, insert size and address. */ - -#define SIZE_PATTERN 0x12345678 -#define ADDR_PATTERN 0x87654321 -#define SIZE_POS (netBoot ? 0x0c : 0x10) -#define ADDR_POS (netBoot ? 0x10 : 0x14) - - if (*(udword*)&buf[SIZE_POS] != SIZE_PATTERN) { - printf("Bootloader corrupt. Should contain ret/nop (0x%8.8x) at 0x%x, but contains %x\n", - SIZE_PATTERN, SIZE_POS, *(udword*)&buf[SIZE_POS]); - exit(EXIT_FAILURE); - } - - /* How much data to load except data in first packet. */ - - if (netBoot) { - *(udword*)(&buf[SIZE_POS]) = st.st_size - DATA_SIZE; - } - else { - *(udword*)(&buf[SIZE_POS]) = st.st_size - 784; - } - - if (db3) printf("Inserting boot size 0x%x at 0x%x.\n", - (unsigned int) *(udword*)(&buf[SIZE_POS]), - (unsigned int)&buf[SIZE_POS]); - - if (*(udword*)&buf[ADDR_POS] != ADDR_PATTERN) { - printf("Bootloader corrupt. Should contain ret/nop (0x%8.8x) at 0x%x, but contains %x\n", - ADDR_PATTERN, ADDR_POS, *(udword*)&buf[ADDR_POS]); - exit(EXIT_FAILURE); - } - - if (netBoot) { - *(udword*)(&buf[ADDR_POS]) = BOOT_ADDRESS + DATA_SIZE; - } - else { - *(udword*)(&buf[ADDR_POS]) = BOOT_ADDRESS-4 + 784; - } - - if (db3) printf("Inserting boot address 0x%x at 0x%x.\n", - (unsigned int)*(udword*)(&buf[ADDR_POS]), - (unsigned int)&buf[ADDR_POS]); - - - for (i = 0; i != st.st_size; i++) { - sum += ((byte*)buf)[i]; - } - if (db1) printf("Checksum 0x%x, bytes %d\n", sum, i); - - if (db4) { - int i; - - for(i=0; i<st.st_size; i+=8) { - int j; - - printf("0x%8.8x[%4.4x]: ", BOOT_ADDRESS+i, i); - for(j=0; i+j<st.st_size && j<8; j++) { - printf("%2.2x ", (unsigned char) buf[i+j]); - } - printf("\n"); - } - } - /* Now create list of packets. */ - while (buf_cnt <= st.st_size) { - - header_size = seq_nr == 0 ? - SIZE_OF_FIRST_HEADER : sizeof(struct packet_header_T); - - if (netBoot) { - packet_size = ((st.st_size - buf_cnt) < DATA_SIZE ? - st.st_size - buf_cnt : DATA_SIZE) + header_size; - } - else { - packet_size = st.st_size; - header_size = 0; - } - - if (db4) printf("seq_nr %d, header_size %d, packet_size %d\n", - seq_nr, header_size, packet_size); - - last_packet = allocate_packet(last_packet); - - first_packet = first_packet ? first_packet : last_packet; - - last_packet->size = packet_size; - last_packet->data = (char*)malloc(packet_size); - last_packet->seq = seq_nr; - last_packet->baud_rate = 9600; - - last_packet->boot_file = allocate_boot_file(NULL); - last_packet->boot_file->fileName = boot_loader_file; - - // printf("last_packet->size %8.8x\n", last_packet->size); - // printf("last_packet->data %8.8x\n",last_packet->data); - - if (netBoot) { - ph = (struct packet_header_T*) last_packet->data; - memcpy(ph->dest, dst_addr_of_device, 6); - memcpy(ph->src, eth_addr_local, 6); - ph->length = htons(packet_size); - ph->snap1 = htonl(SNAP1); - ph->snap2 = htonl(SNAP2); - ph->tag = htonl(SERVER_TAG); - ph->seq = htonl(seq_nr); - if (seq_nr != 0) { - ph->type = htonl(BOOT_PACKET); - ph->id = htonl(0); - } - } - - memcpy(&last_packet->data[header_size], &buf[buf_cnt], - packet_size - header_size); - if (db3) DecodeSvintoBoot(last_packet->data); - - if (netBoot) { - buf_cnt += DATA_SIZE; - } - else { - buf_cnt += packet_size +1; - } - - seq_nr++; - } - } - - if (db4) printf("< CreateBootLoader\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: allocate_packet -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -struct packet_buf* -allocate_packet(struct packet_buf *p) -{ - if (db4) printf("> allocate_packet\n"); - - if (p) { - p->next = (struct packet_buf*) malloc(sizeof(struct packet_buf)); - p = p->next; - } - else { - p = (struct packet_buf*) malloc(sizeof(struct packet_buf)); - } - p->next = NULL; - - return(p); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: allocate_boot_file -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -struct boot_files_T* -allocate_boot_file(struct boot_files_T *bf) -{ - if (bf) { - bf->next = (struct boot_files_T*) malloc(sizeof(struct boot_files_T)); - bf = bf->next; - } - else { - bf = (struct boot_files_T*) malloc(sizeof(struct boot_files_T)); - } - bf->next = NULL; - - return(bf); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: CreateBootCmds -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Creates a boot packet from the boot commands. The data is -*# filled in later by FinishBootCmds(). -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980818 ronny Initial version -*#***************************************************************************/ - -void -CreateBootCmds(void) -{ - struct packet_header_T *ph; - - if (db4) printf("***> CreateBootCmds\n"); - - last_packet = allocate_packet(last_packet); - - boot_cmds_packet = last_packet; - - last_packet->boot_file = allocate_boot_file(NULL); - last_packet->boot_file->fileName = BOOT_CMDS_FILE; - last_packet->baud_rate = 9600; - - last_packet->size = netBoot ? SIZE_OF_BOOT_CMDS + sizeof(struct packet_header_T) - : SIZE_OF_BOOT_CMDS; - - last_packet->data = (char *) malloc(last_packet->size); - last_packet->seq = seq_nr; - - if (netBoot) { - /* Create packet header. */ - ph = (struct packet_header_T *) last_packet->data; - memcpy(ph->dest, dst_addr_of_device, 6); - memcpy(ph->src, eth_addr_local, 6); - ph->length = htons(last_packet->size); - ph->snap1 = htonl(SNAP1); - ph->snap2 = htonl(SNAP2); - ph->tag = htonl(SERVER_TAG); - ph->seq = htonl(seq_nr); - seq_nr++; - ph->type = htonl(BOOT_CMDS); - ph->id = htonl(0); - } - - if (db3) DecodeSvintoBoot(last_packet->data); - if (db4) printf("<*** CreateBootCmds\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: FinishBootCmds -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Copies the boot commands into the correct packet and changes -*# the dwords to network order. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -void -FinishBootCmds(void) -{ - int i; - unsigned int offset = 0; - - for (i = 0; i != boot_cmds_cnt; i++) { - boot_cmds[i] = htonl(boot_cmds[i]); - if (db3) printf("%8.8x\n", boot_cmds[i]); - } - - /* Copy boot commands into packet. */ - if (netBoot) { - offset = sizeof(struct packet_header_T); - } - - memcpy(&boot_cmds_packet->data[offset], boot_cmds, - boot_cmds_cnt * sizeof(udword)); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: CreateNewBootPacket -*# -*# PARAMETERS: None. -*# -*# DESCRIPTION: Creates next packet for the files specified by '--file'. -*# -*# RETURNS: Next packet, or NULL. -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 960909 ronny Initial version -*#***************************************************************************/ - -struct packet_buf* -CreateNewBootPacket(void) -{ - static char buf[DATA_SIZE]; - struct packet_header_T *ph; - int packet_size; - int header_size; - int i; - udword sum; - int size = 0; - int padding = 0; - - static struct boot_files_T *bf = NULL; - - if (db3) printf("> CreateNewBootPacket\n"); - - bf = bf ? bf : first_boot_file; - - while (bf) { - if (!bf->fd) { - if (strcmp(bf->fileName, "-") == 0) { - bf->fd = stdin; - } - else { - bf->fd = fopen(bf->fileName, "rb"); - } - - if (bf->fd == NULL) { - printf("Cannot open boot file %s. Exiting\n", bf->fileName); - exit(EXIT_FAILURE); - } - if (db3) printf("Opening boot file %s\n", bf->fileName); - } - - if (!padding) { - size = fread(buf, 1, DATA_SIZE, bf->fd); - if (size == 0) { - if (db3) printf("Nothing more to read. Read: %d/%d\n", - bf->size_sent, bf->size); - padding = 1; - } - } - - if (padding) { - if (bf->size_sent < bf->size) { - if (db3) printf("padding...\n"); - size = (bf->size - bf->size_sent > DATA_SIZE) ? - DATA_SIZE : bf->size - bf->size_sent; - memset(buf, 0, size); - } - else { - if (db3) printf("All written\n"); - padding = 0; - size = 0; - } - } - - if (size != 0) { - if (db3) printf("size: %d %d/%d\n", size, bf->size_sent, bf->size); - bf->size_sent += size; - last_packet = allocate_packet(last_packet); - - /* Calculate checksum. */ - sum = 0; - for (i = 0; i != size; i++) { - sum += ((byte*)buf)[i]; - } - if (db2) printf("Checksum 0x%x, bytes %d\n", sum, i); - - /* Figure out size of packet. */ - if (netBoot) { - header_size = seq_nr == 0 ? - SIZE_OF_FIRST_HEADER : sizeof(struct packet_header_T); - - packet_size = ((size) < DATA_SIZE ? size : DATA_SIZE) + header_size; - } - else { - header_size = 0; - packet_size = size; - } - - if (packet_size < 60) { /* CRC adds 4 bytes to 64 */ - printf( - "Last packet from file '%s', is smaller than 64 bytes. \n" - "This is not allowed in the Ethernet standard. Will pad with %d " - "bytes.\n", bf->fileName, 60-packet_size); - - *(bf->size_p) += 60-packet_size; - packet_size = 60; - } - - last_packet->size = packet_size; - last_packet->data = (char*)malloc(packet_size); - last_packet->boot_file = bf; - last_packet->baud_rate = 0;/*set_baudrate;*/ - - /* printf("size %8.8x\n", last_packet->size);*/ - /* printf("data %8.8x\n",last_packet->data);*/ - - if (netBoot) { - /* Initialize ethernet header. */ - ph = (struct packet_header_T*) last_packet->data; - memcpy(ph->dest, dst_addr_of_device, 6); - memcpy(ph->src, eth_addr_local, 6); - /* printf("packet_size %d\n", packet_size);*/ - ph->length = htons(packet_size); - ph->snap1 = htonl(SNAP1); - ph->snap2 = htonl(SNAP2); - ph->tag = htonl(SERVER_TAG); - ph->seq = htonl(seq_nr); - last_packet->seq = seq_nr; - if (seq_nr != 0) { - ph->type = htonl(BOOT_PACKET); - ph->id = htonl(0); /* id doesn't matter, we send to a unicast address */ - } - } - - /* Copy data in place. */ - memcpy(&last_packet->data[header_size], buf, packet_size - header_size); - if (db2) DecodeSvintoBoot(last_packet->data); - /* PrintPacket(last_packet->data, last_packet->size, HEX);*/ - seq_nr++; - - if (db3) printf("< CreateNewBootPacket\n"); - return(last_packet); - } - else { /* Nothing read from fd. */ - fclose(bf->fd); - bf = bf->next; - } - } - - if (db3) printf("< CreateNewBootPacket\n"); - return(NULL); -} - -/****************** END OF FILE common.c ************************************/ diff --git a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/network.c b/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/network.c deleted file mode 100755 index 7ea5576273..0000000000 --- a/target/linux/etrax-2.6/image/e100boot/src/sbl/win32/network.c +++ /dev/null @@ -1,681 +0,0 @@ -/*!*************************************************************************** -*! -*! FILE NAME : network.c -*! -*! DESCRIPTION: Network boot stuff for e100boot. -*! -*! --------------------------------------------------------------------------- -*! HISTORY -*! -*! DATE NAME CHANGES -*! ---- ---- ------- -*! 1996 Ronny Raneup Initial version -*! 2002 05 02 Ronny Ranerup Moved it into this file -*! --------------------------------------------------------------------------- -*! (C) Copyright 1999, 2000, 2001, 2002 Axis Communications AB, LUND, SWEDEN -*!***************************************************************************/ - -/************************** Include files ********************************/ - -#include <stdio.h> -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <stdlib.h> -#include <errno.h> -#include <ctype.h> -#include <sys/timeb.h> -#include <winsock2.h> - -#include <pcap.h> -#include <Packet32.h> -#include <Ntddndis.h> - -#include <e100boot.h> -#include <common.h> -#include <network.h> - -/************************** Constants and macros *************************/ - -#define CRC_LEN 4 - -/************************** Type definitions *****************************/ - -/************************** Global variables *****************************/ - -udword highest_ack_received; -udword last_ack_received = -1; -int new_ack = FALSE; -int got_new_packet = FALSE; - -unsigned char dst_addr_of_device[] = { 0x01, 0x40, 0x8c, 0x00, 0x01, 0x00 }; -unsigned char src_addr_of_device[] = { 0x02, 0x40, 0x8c, 0x00, 0x01, 0x00 }; -unsigned char eth_addr_local[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -struct sockaddr sock_addr; -int pPacket = 0; -pcap_t *pd; - -pcap_handler handler; - -struct packet_buf first_rec_packet; -struct packet_buf *last_rec_packet = &first_rec_packet; - -int promisc = 1; /* promiscuous mode */ -int all_ids = TRUE; - -int both_addresses = FALSE; -int p_packet_bpl = 8; -int printPacketType = CHAR; - -unsigned int id; -int one_id_only = TRUE; - -unsigned char buf[16000]; /* pcap buffer */ - -const struct pcap_pkthdr *hdrG; - -char host1[MAX_STRING_LEN]; /* name of ethernet host */ -char host2[MAX_STRING_LEN]; /* name of ethernet host */ - -/************************** Function prototypes **************************/ - -int gettimeofday (struct timeval *tv, void*); -int timeout (struct timeval *tvThen, int ms); -int highest_seq_received (void); -struct packet_buf* ack_on_seq (int seq); -struct packet_buf* packet_with_seq (int seq); -struct timeval timeval_subtract (struct timeval *x, struct timeval *y); -void GetNextPacket (void); -void PrintPacket (const unsigned char *p, int size, int type); - -/**************************************************************************** -*# -*# FUNCTION NAME: net_init -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2002 05 02 ronny Initial version -*# -*#***************************************************************************/ -void -net_init(void) -{ - pcap_if_t* alldevs; - pcap_if_t* d; - char errbuf[PCAP_ERRBUF_SIZE]; - LPADAPTER pAdapter; - char pOidDataBuf[sizeof(PACKET_OID_DATA)-1+sizeof(eth_addr_local)]; - PPACKET_OID_DATA pOidData; - - if (strlen(device) == 0) { - /* Retrieve the device list */ - if (pcap_findalldevs(&alldevs, errbuf) == -1) { - fprintf(stderr,"Error finding devices: %s\n", errbuf); - exit(EXIT_FAILURE); - } - - if (alldevs == NULL) { - printf("\nNo network adapters found!\n"); - exit(EXIT_FAILURE); - } - - /* Use first device/interface */ - d = alldevs; - if (db1) printf("Using device %s (%s)\n", d->name, - (d->description ? d->description : - "No description available")); - strcpy(device, d->name); - pcap_freealldevs(alldevs); - } - - if ((pd = pcap_open_live(device, 200, promisc, -1, errbuf)) == NULL) { - printf("Error opening device %s\n", errbuf); - exit(EXIT_FAILURE); - } - - /* Determine Ethernet address */ - if ((pAdapter = PacketOpenAdapter(device)) == NULL) { - printf("Error opening packet adapter!\n"); - exit(EXIT_FAILURE); - } - - pOidData = &pOidDataBuf[0]; - pOidData->Oid = OID_802_3_CURRENT_ADDRESS; - pOidData->Length = sizeof(eth_addr_local); - if (!PacketRequest(pAdapter, FALSE, pOidData)) { - printf("Error obtaining adapter Ethernet address!\n"); - exit(EXIT_FAILURE); - } - - PacketCloseAdapter(pAdapter); - pAdapter = NULL; - - memcpy(eth_addr_local, pOidData->Data, sizeof(eth_addr_local)); - if (db1) printf("Ethernet adress for device is %2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x\n", - eth_addr_local[0], - eth_addr_local[1], - eth_addr_local[2], - eth_addr_local[3], - eth_addr_local[4], - eth_addr_local[5]); - - handler = (pcap_handler) Handler; -} - -/**************************************************************************** -*# -*# FUNCTION NAME: NetBoot -*# -*# DESCRIPTION: The main network boot routine. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 2000 01 07 ronny Initial version -*# 2002 05 02 ronny Fixed segv bug -*# -*#***************************************************************************/ - -void -NetBoot(void) -{ - struct packet_buf *p; - struct timeval tv; - - gettimeofday(&tv, NULL); - - p = create_packet(0); - SendToDevice(p->data, p->size); - - while(1) { - static int all_trans = FALSE; - - if (got_new_packet) { - got_new_packet = FALSE; - - if (new_ack && first_packet) { - if (db4) { - printf("* got ACK %d.\n", last_ack_received); - printf("* ACK wanted %d.\n", first_packet->seq); - } - if (last_ack_received == first_packet->seq) { - if (!(p = create_packet(first_packet->seq+1))) { - //break; - } - first_packet = free_packet(first_packet); - } - } - } - - if (new_ack || timeout(&tv, 500)) { - if (p) { - SendToDevice(p->data, p->size); - } - new_ack = FALSE; - gettimeofday(&tv, NULL); - } - - GetNextPacket(); - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: GetNextPacket -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -GetNextPacket(void) -{ - int ret; - - if (db2) printf("> GetNextPacket\n"); - - /* got_new_packet = FALSE;*/ - if ((ret = pcap_dispatch(pd, 1, handler, buf)) == -1) { - pcap_perror(pd, "Error in pcap_dispatch"); - exit(EXIT_FAILURE); - } - - if (db2) printf("< GetNextPacket\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: Handler -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -Handler(unsigned char *buf, const struct pcap_pkthdr *hdr, - const unsigned char *p) -{ - const unsigned char *src = &p[6]; - const unsigned char *dst = &p[0]; - struct packet_header_T *h = (struct packet_header_T*)p; - - if (db2) printf("> Handler\n"); - got_new_packet = TRUE; - if ((!memcmp(src, eth_addr_local, 6) && !memcmp(dst, dst_addr_of_device, 6)) - || (!memcmp(src, src_addr_of_device, 6) && !memcmp(dst, eth_addr_local, 6))) { - if (db1) printf("#RX######################################################\n"); - if (db1) printf("Length: %u(0x%x)\n", (udword)hdr->len, (udword)hdr->len); - if (pPacket) PrintPacket(p, hdr->caplen, printPacketType); - DecodeSvintoBoot(p); - /* should clean up this... */ - if ((ntohl(h->type) == ACK)) { - if (all_ids || (ntohl(h->id) == id)) { - if (all_ids && one_id_only) { - if (ntohl(h->id) == 0) { - all_ids = FALSE; - id = ntohl(h->id); - printf("Booting device with random id %8.8x.\n", id); - } - } - } - else { - printf("Got ACK from a new id, %8.8lx. Ignoring.\n", - (unsigned long)ntohl(h->id)); - return; - } - new_ack = TRUE; - last_ack_received = ntohl(h->seq); - if (last_ack_received > highest_ack_received) { - highest_ack_received = last_ack_received; - } - } - - if (db1) printf("#########################################################\n"); - - } - if (db2) printf("< Handler\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: ack_on_seq -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980817 ronny Initial version -*# -*#***************************************************************************/ - -struct packet_buf * -packet_with_seq(int seq) -{ - static int last_seq = 0; - struct packet_buf *p = first_packet; - struct packet_header_T *h; - - if (seq < last_seq) { - p = first_packet; - } - - while(p) { - h = (struct packet_header_T*)p->data; - if (ntohl(h->seq) == seq) { - return(p); - } - p = p->next; - } - return(NULL); -} - -struct packet_buf * -ack_on_seq(int seq) -{ - struct packet_buf *p = &first_rec_packet; - struct packet_header_T *h; - - if (db1) printf("***> ack_on_seq: %d.\n", seq); - - while (p) { - /* printf("\nPacket at %x.\n", p);*/ - /* DecodeSvintoBoot(p->data);*/ - h = (struct packet_header_T*)p->data; - if ( (ntohl(h->type) == ACK) && (ntohl(h->seq) == seq) ) { - if (all_ids || ntohl(h->id) == id) { - printf("***< ack_on_seq %d, ok.\n", seq); - return(p); - } - } - p = p->next; - } - if (db1) printf("***< ack_on_seq, no.\n"); - return(NULL); -} - -int -highest_seq_received(void) -{ - struct packet_buf *p = &first_rec_packet; - struct packet_header_T *h; - int highest_seq = -1; - - if (db1) printf("***> highest_seq_received\n"); - - while (p) { - /* printf("\nPacket at %x.\n", p);*/ - /* DecodeSvintoBoot(p->data);*/ - h = (struct packet_header_T*)p->data; - if ((ntohl(h->type) == ACK) && (all_ids || (ntohl(h->id) == id))) { - if ((int)ntohl(h->seq) > highest_seq) { - highest_seq = ntohl(h->seq); - if (db4) printf("Highest seq: %d\n", highest_seq); - } - } - p = p->next; - } - - if (db1) printf("***< highest_seq_received: %d\n", highest_seq); - return(highest_seq); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: PrintPacket -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -PrintPacket(const unsigned char *p, int size, int type) -{ - int i; - - /* printf("size %d\n", size);*/ - for (i = 0; i != size; i++) { - if (i % p_packet_bpl == 0) - printf("\n%-4.4d: ", i); - if (type == UDEC) - printf("%-3d ", p[i]); - else if (type == HEX) - printf("%-2.2x ", p[i]); - else if (type == CHAR) { - if (isprint(p[i])) - printf("%-3c ", p[i]); - else - printf("%-3d ", p[i]); - } - else if (type == ASCII) { - if (isprint(p[i])) - printf("%c", p[i]); - else - printf("."); - } - } - printf("\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: DecodeSvintoBoot -*# -*# PARAMETERS: -*# -*# DESCRIPTION: Decodes packets that follow the e100boot protocol. -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 961022 ronny Initial version -*# -*#***************************************************************************/ - -void -DecodeSvintoBoot(const unsigned char *p) -{ - char *str; - volatile struct packet_header_T *ph = (struct packet_header_T*)p; - - /* printf("size %d \n", sizeof(struct packet_header_T));*/ - - if (db4) printf("\n>DecodeSvintoBoot. Packet at 0x%x\n", (unsigned int)p); - if (db1) { - printf("%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x -> ", p[6],p[7],p[8],p[9],p[10], p[11]); - printf("%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x\n", p[0],p[1],p[2],p[3],p[4], p[5]); - - printf("length : %4.4lx\n", (long)ntohs(ph->length)); - printf("snap1 : %8.8lx\n", (long)ntohl(ph->snap1)); - printf("snap2 : %8.8lx\n", (long)ntohl(ph->snap2)); - - switch (ntohl(ph->tag)) { - case 0xffffffff: - str = "(host > ETRAX)"; - break; - case 0xfffffffe: - str = "(host < ETRAX)"; - break; - default: - str = "(unknown)"; - break; - } - printf("tag : %8.8lx %s\n", (unsigned long)ntohl(ph->tag), str); - printf("seq : %8.8lx\n", (unsigned long)ntohl(ph->seq)); - } - - switch (ntohl(ph->type)) { - - case STRING: - str = "(STRING)"; - fprintf(stderr, "%s", &p[sizeof(struct packet_header_T)]); - find_string((char*)&p[sizeof(struct packet_header_T)]); - break; - - case NET_INT: { - char search_str[20]; - - str = "(NET_INT)"; - sprintf(search_str, "0x%8.8lx", ntohl(*(udword*)&p[sizeof(struct packet_header_T)])); - fprintf(stderr, search_str); - find_string(search_str); - break; - } - - case NET_INT_NL: { - char search_str[20]; - - str = "(NET_INT_NL)"; - sprintf(search_str, "0x%8.8lx\n", ntohl(*(udword*)&p[sizeof(struct packet_header_T)])); - fprintf(stderr, search_str); - find_string(search_str); - break; - } - - case ACK: - str = "(ACK)"; - break; - - case BOOT_PACKET: - str = "(bootpacket)"; - break; - - case BOOT_CMDS: - str = "(bootcmds)"; - break; - - default: - str = "(unknown)"; - break; - } - - if (db1) { - printf("(type : %8.8lx %s)\n", (unsigned long)ntohl(ph->type), str); - printf("(id : %8.8lx)\n", (unsigned long)ntohl(ph->id)); - id = ntohl(ph->id); - } -} - -/**************************************************************************** -*# -*# FUNCTION NAME: SendToDevice -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980818 ronny Initial version -*# -*#***************************************************************************/ - -void -SendToDevice(unsigned char *data, int data_len) -{ - char fName[MAX_STRING_LEN]; - FILE *fd; - struct packet_header_T *h = (struct packet_header_T*) data; - - if (db1) printf("***> SendToDevice\n"); - - if (db2) printf("Sending %d bytes at 0x%x to %s.\n", data_len, (unsigned int)data, device); - if (db1) printf("#TX######################################################\n"); - if (db1) DecodeSvintoBoot(data); - - if (db1) printf("#########################################################\n"); - if (toFiles || cmdsOnly) { - if (cmdsOnly) { /* use a simpler name */ - sprintf(fName, "e100boot.cmds"); - } - else { - sprintf(fName, "e100boot.seq%lu", (unsigned long)ntohl(h->seq)); - } - if (db2) printf("Writing packet to file '%s'.\n", fName); - if ((fd = fopen(fName, "w+")) == NULL) { - printf("Cannot open/create '%s'. %s.\n", fName, strerror(errno)); - exit(EXIT_FAILURE); - } - fwrite(data, data_len, 1, fd); - fclose(fd); - } - else if (pcap_sendpacket(pd, data, data_len) < 0) { - perror("pcap_sendpacket failed!\n"); - exit(EXIT_FAILURE); - } - - if (db1) printf("<*** SendToDevice\n"); -} - -/**************************************************************************** -*# -*# FUNCTION NAME: timeout -*# -*# PARAMETERS: -*# -*# DESCRIPTION: -*# -*#--------------------------------------------------------------------------- -*# HISTORY -*# -*# DATE NAME CHANGES -*# ---- ---- ------- -*# 980817 ronny Initial version -*# -*#***************************************************************************/ - -int -timeout(struct timeval *tvThen, int ms) -{ - struct timeval tvNow; - struct timeval tvDiff; - - (void) gettimeofday(&tvNow, NULL); - tvDiff = timeval_subtract(&tvNow, tvThen); - if (db4) printf("sec %d.%d\n", (int)tvDiff.tv_sec, (int)tvDiff.tv_usec); - if (ms * 1000 < (tvDiff.tv_sec * 1000000 + tvDiff.tv_usec)) { - if (db4) printf("TIMEOUT\n"); - return(TRUE); - } - - return(FALSE); -} - -/**************************************************************************** - *# - *# FUNCTION NAME: timeval_subtract - *# - *# PARAMETERS: - *# - *# DESCRIPTION: Subtract x-y, and return result. - *# - *# DATE NAME CHANGES - *# ---- ---- ------- - *# 970128 ronny Initial version - *# - *#***************************************************************************/ - -struct timeval -timeval_subtract(struct timeval *x, struct timeval *y) -{ - struct timeval diff; - - diff.tv_sec = x->tv_sec - y->tv_sec; - diff.tv_usec = x->tv_usec - y->tv_usec; - - if (diff.tv_usec < 0) { - diff.tv_sec--; - diff.tv_usec = 1000000 + diff.tv_usec; - } - - return diff; -} - -int -gettimeofday(struct timeval *tv, void* tz_void) -{ - struct _timeb tb; - _ftime(&tb); - tv->tv_sec = tb.time; - tv->tv_usec = tb.millitm * 1000; - return 0; -} |