diff options
Diffstat (limited to 'tests')
649 files changed, 0 insertions, 6098 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index be10bbb..0000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,92 +0,0 @@ -## Process this file with automake to produce Makefile.in -# Copyright (C) 2002-2014 Free Software Foundation, Inc. -# -# This file is part of LIBTASN1. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAG_VISIBILITY) -AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/gl -I../gl - -AM_LDFLAGS = -no-install -LDADD = ../lib/libtasn1.la ../gl/libgnu.la - -EXTRA_DIST = Test_parser.asn Test_tree.asn Test_tree_asn1_tab.c mscat.asn \ - Test_encoding.asn pkix.asn TestIndef.p12 choice.asn coding-decoding2.asn \ - TestIndef2.p12 TestIndef3.der TestCertOctetOverflow.der \ - cert-invalid-time.der \ - libtasn1.supp ocsp-basic-response.der spc_pe_image_data.der \ - invalid-x509/id-000000.der invalid-x509/id-000001.der \ - invalid-x509/id-000002.der invalid-x509/id-000003.der \ - invalid-x509/id-000004.der invalid-x509/id-000005.der \ - invalid-x509/id-000006.der invalid-x509/id-000007.der \ - invalid-x509/id-000008.der invalid-x509/id-000009.der \ - invalid-x509/id-000010.der invalid-x509/id-000011.der \ - invalid-x509/id-000012.der invalid-x509/id-000013.der \ - invalid-x509/id-000014.der invalid-x509/id-000015.der \ - invalid-x509/id-000016.der invalid-x509/id-000017.der \ - invalid-x509/id-000018.der invalid-x509/id-000019.der \ - invalid-x509/id-000020.der invalid-x509/id-000021.der \ - invalid-x509/id-000022.der invalid-x509/id-000023.der \ - invalid-x509/id-000024.der invalid-x509/id-000025.der \ - invalid-x509/id-000026.der invalid-x509/id-000027.der \ - invalid-x509/id-000028.der invalid-x509/id-000029.der \ - invalid-x509/id-000030.der invalid-x509/id-000031.der \ - invalid-x509/id-000032.der invalid-x509/id-000033.der \ - invalid-x509/id-000034.der invalid-x509/id-000035.der \ - invalid-pkcs7/id-000001.der invalid-pkcs7/id-000002.der \ - invalid-pkcs7/id-000003.der invalid-assignments1.txt \ - invalid-assignments2.txt - -# For crlf. -EXTRA_DIST += crlf.cer crl.der ocsp.der -dist_check_SCRIPTS = crlf benchmark threadsafety decoding decoding-invalid-x509 \ - decoding-invalid-pkcs7 coding - -MOSTLYCLEANFILES = Test_parser_ERROR.asn - -check_PROGRAMS = Test_parser Test_tree Test_encoding Test_indefinite \ - Test_errors Test_simple Test_overflow Test_strings Test_choice \ - Test_encdec copynode coding-decoding2 strict-der Test_choice_ocsp \ - ocsp-basic-response octet-string coding-long-oid object-id-decoding \ - spc_pe_image_data - -TESTS = Test_parser Test_tree Test_encoding Test_indefinite \ - Test_errors Test_simple Test_overflow crlf threadsafety \ - Test_strings Test_choice Test_encdec copynode coding-decoding2 \ - strict-der Test_choice_ocsp decoding decoding-invalid-x509 \ - ocsp-basic-response octet-string coding-long-oid object-id-decoding \ - spc_pe_image_data decoding-invalid-pkcs7 coding - -TESTS_ENVIRONMENT = \ - ASN1PARSER=$(srcdir)/Test_parser.asn \ - ASN1TREE=$(srcdir)/Test_tree.asn \ - ASN1CHOICE=$(srcdir)/choice.asn \ - ASN1CODINGDECODING2=$(srcdir)/coding-decoding2.asn \ - ASN1PKIX=$(srcdir)/pkix.asn \ - ASN1CRLDER=$(srcdir)/crl.der \ - ASN1INDEF=$(srcdir)/TestIndef.p12 \ - ASN1INDEF2=$(srcdir)/TestIndef2.p12 \ - ASN1INDEF3=$(srcdir)/TestIndef3.der \ - ASN1ENCODING=$(srcdir)/Test_encoding.asn \ - ASN1CHOICE_OCSP=$(srcdir)/pkix.asn \ - ASN1CHOICE_OCSP_DATA=$(srcdir)/ocsp.der \ - ASN1_RESPONSE_OCSP_DATA=$(srcdir)/ocsp-basic-response.der \ - ASN1_MSCAT=$(srcdir)/mscat.asn \ - ASN1_SPC_PE_IMAGE_DATA=$(srcdir)/spc_pe_image_data.der \ - ASAN_OPTIONS="detect_leaks=0:exitcode=6" \ - THREADSAFETY_FILES=`find $(top_srcdir)/lib -name \*.c` \ - EXEEXT=$(EXEEXT) \ - LSAN_OPTIONS=suppressions=libtasn1.supp \ - $(VALGRIND) diff --git a/tests/TestCertOctetOverflow.der b/tests/TestCertOctetOverflow.der Binary files differdeleted file mode 100644 index 6c45107..0000000 --- a/tests/TestCertOctetOverflow.der +++ /dev/null diff --git a/tests/TestIndef.p12 b/tests/TestIndef.p12 Binary files differdeleted file mode 100644 index 285d8dd..0000000 --- a/tests/TestIndef.p12 +++ /dev/null diff --git a/tests/TestIndef2.p12 b/tests/TestIndef2.p12 Binary files differdeleted file mode 100644 index 2829073..0000000 --- a/tests/TestIndef2.p12 +++ /dev/null diff --git a/tests/TestIndef3.der b/tests/TestIndef3.der Binary files differdeleted file mode 100644 index 3ad5847..0000000 --- a/tests/TestIndef3.der +++ /dev/null diff --git a/tests/Test_choice.c b/tests/Test_choice.c deleted file mode 100644 index 9288ea3..0000000 --- a/tests/Test_choice.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <libtasn1.h> - -int -main (int argc, char** argv) -{ - int result = 0; - asn1_node definitions = NULL, node1 = NULL, node2 = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *choicefile = getenv ("ASN1CHOICE"); - - char data[1024]; - int data_size = sizeof (data); - - if (!choicefile) - choicefile = "pkix.asn"; - - /* Encode */ - result = asn1_parser2tree (choicefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_create_element (definitions, "TEST.Choice0", &node1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "", "choice1", 1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice1", "choice2", 1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice1.choice2", "int1", 1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice1.choice2.int1", "1234", 0); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_der_coding (node1, "", data, &data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - asn1_delete_structure (&node1); - - /* Decode */ - result = asn1_create_element (definitions, "TEST.Choice0", &node2); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - -#if 0 - printf ("der:"); - for (i = 0; i < data_size; i++) - printf ("%.2x ", (unsigned char) (data[i])); - printf ("\n"); -#endif - - result = asn1_der_decoding (&node2, data, data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - asn1_delete_structure (&node2); - asn1_delete_structure (&definitions); - - return 0; -} diff --git a/tests/Test_choice_ocsp.c b/tests/Test_choice_ocsp.c deleted file mode 100644 index 33c17fc..0000000 --- a/tests/Test_choice_ocsp.c +++ /dev/null @@ -1,80 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <libtasn1.h> - -int -main (int argc, char** argv) -{ - int result = 0, len; - asn1_node definitions = NULL, node1 = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *choicefile = getenv ("ASN1CHOICE_OCSP"); - const char *datafile = getenv ("ASN1CHOICE_OCSP_DATA"); - FILE *fp; - char data[1024]; - char data2[1024]; - int data_size = sizeof (data); - - if (!choicefile) - choicefile = "pkix.asn"; - - if (!datafile) - datafile = "ocsp.der"; - - /* Encode */ - result = asn1_parser2tree (choicefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - result = asn1_create_element (definitions, "PKIX1.ResponseData", &node1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - fp = fopen(datafile, "rb"); - if (fp == NULL) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - data_size = fread(data, 1, sizeof(data), fp); - fclose(fp); - - result = asn1_der_decoding (&node1, data, data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - len = sizeof(data2); - result = asn1_der_coding (node1, "", data2, &len, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - if (len != data_size) - { - printf ("length doesn't match (got: %d, should be: %d)\n", len, data_size); - exit (1); - } - - if (memcmp(data, data2, len) != 0) - { - printf ("contents don't match\n"); - exit (1); - } - - asn1_delete_structure (&node1); - asn1_delete_structure (&definitions); - - return 0; -} diff --git a/tests/Test_encdec.c b/tests/Test_encdec.c deleted file mode 100644 index 9b49e72..0000000 --- a/tests/Test_encdec.c +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -/*****************************************************/ -/* File: Test_tree.c */ -/* Description: Test sequences for these functions: */ -/* asn1_visit_tree, */ -/* asn1_create_element, */ -/* asn1_delete_structure, */ -/* asn1_write_value, */ -/* asn1_read_value, */ -/*****************************************************/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "libtasn1.h" - - - -int -main (int argc, char *argv[]) -{ - int result; - char buffer[5 * 1024]; - char buffer2[5 * 1024]; - asn1_node definitions = NULL; - asn1_node asn1_element = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - FILE *out, *fd; - ssize_t size; - int start, end; - int size2; - const char *treefile = getenv ("ASN1PKIX"); - const char *derfile = getenv ("ASN1CRLDER"); - int verbose = 0; - - if (argc > 1) - verbose = 1; - - if (!treefile) - treefile = "pkix.asn"; - - if (!derfile) - derfile = "crl.der"; - - if (verbose) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : Test_indefinite */\n"); - printf ("/****************************************/\n\n"); - printf ("ASN1TREE: %s\n", treefile); - } - - /* Check version */ - if (asn1_check_version ("0.3.3") == NULL) - printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", - asn1_check_version (NULL)); - - result = asn1_parser2tree (treefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - out = stdout; - - fd = fopen (derfile, "rb"); - if (fd == NULL) - { - printf ("Cannot read file %s\n", derfile); - exit (1); - } - size = fread (buffer, 1, sizeof (buffer), fd); - if (size <= 0) - { - printf ("Cannot read from file %s\n", derfile); - exit (1); - } - - fclose (fd); - - result = - asn1_create_element (definitions, "PKIX1.CertificateList", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create CRL element\n"); - exit (1); - } - - result = asn1_der_decoding (&asn1_element, buffer, size, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot decode DER data (size %ld)\n", (long) size); - exit (1); - } - - result = asn1_der_decoding_startEnd (asn1_element, buffer, size, "tbsCertList", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End\n"); - exit (1); - } - if (start != 4 && end != 358) - { - printf("Error in start and end values. Have: %d..%d\n", start, end); - exit(1); - } - - result = asn1_der_decoding_startEnd (asn1_element, buffer, size, "signature", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End\n"); - exit (1); - } - if (start != 372 && end != 503) - { - printf("Error in start and end values for signature. Have: %d..%d\n", start, end); - exit(1); - } - - result = asn1_der_decoding_startEnd (asn1_element, buffer, size, "tbsCertList.revokedCertificates.?1.userCertificate", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End\n"); - exit (1); - } - if (start != 326 && end != 343) - { - printf("Error in start and end values for userCertificate. Have: %d..%d\n", start, end); - exit(1); - } - - size2 = sizeof(buffer2); - result = asn1_der_coding (asn1_element, "", buffer2, &size2, NULL); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot encode data (size %ld)\n", (long) size); - exit (1); - } - - if (size2 != size || memcmp(buffer, buffer2, size) != 0) - { - printf("DER encoded data differ!\n"); - exit(1); - } - - /* Clear the definition structures */ - asn1_delete_structure (&definitions); - asn1_delete_structure (&asn1_element); - - if (out != stdout) - fclose (out); - - exit (0); -} diff --git a/tests/Test_encoding.asn b/tests/Test_encoding.asn deleted file mode 100644 index 040c88f..0000000 --- a/tests/Test_encoding.asn +++ /dev/null @@ -1,38 +0,0 @@ --- --- File used in the test sequence Test_encoding. --- - -TEST_TREE { } - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - -Koko ::= SEQUENCE { - seqint SEQUENCE OF INTEGER, - int INTEGER, - a [1] OCTET STRING, - b [10] OCTET STRING, - c [100] OCTET STRING, - exp [3] EXPLICIT OCTET STRING OPTIONAL, - str OCTET STRING -} - -END - --- Copyright (C) 2002-2014 Free Software Foundation, Inc. --- --- This file is part of LIBTASN1. --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/tests/Test_encoding.c b/tests/Test_encoding.c deleted file mode 100644 index 8e8c702..0000000 --- a/tests/Test_encoding.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/******************************************************/ -/* File: Test_encoding.c */ -/* Description: Test writing values and DER encoding. */ -/******************************************************/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "libtasn1.h" - - -unsigned char data[256]; -int data_size = sizeof (data); - - -int -main (int argc, char *argv[]) -{ - int result, verbose = 0; - asn1_node definitions = NULL; - asn1_node asn1_element = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *treefile = getenv ("ASN1ENCODING"); - - if (argc > 1) - verbose = 1; - - if (!treefile) - treefile = "Test_encoding.asn"; - - if (verbose != 0) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : coding-decoding */\n"); - printf ("/****************************************/\n\n"); - } - - /* Check version */ - if (asn1_check_version ("0.3.3") == NULL) - printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", - asn1_check_version (NULL)); - - result = asn1_parser2tree (treefile, &definitions, errorDescription); - - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - result = asn1_create_element (definitions, "TEST_TREE.Koko", &asn1_element); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_create_element(): "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "seqint", "NEW", 1); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): seqint "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "seqint.?LAST", "1234", 0); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): seqint.?LAST "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "int", "\x0f\xff\x01", 3); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): int "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "str", "string", 6); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): str "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "a", "string1", 7); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): str "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "b", "string2", 7); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): str "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "c", "string3", 7); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): str "); - asn1_perror (result); - exit (1); - } - - result = asn1_write_value (asn1_element, "exp", "string4", 7); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "asn1_write_value(): str "); - asn1_perror (result); - exit (1); - } - - /* Clear the definition structures */ - asn1_delete_structure (&definitions); - - result = asn1_der_coding (asn1_element, "", data, &data_size, NULL); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "Encoding error.\n"); - asn1_perror (result); - exit (1); - } - - result = asn1_der_decoding (&asn1_element, data, data_size, NULL); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "Decoding error.\n"); - asn1_perror (result); - exit (1); - } - - asn1_delete_structure (&asn1_element); - - if (verbose) - printf ("Success\n"); - exit (0); -} diff --git a/tests/Test_errors.c b/tests/Test_errors.c deleted file mode 100644 index 35771b0..0000000 --- a/tests/Test_errors.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2010-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include "libtasn1.h" - -int -main (int argc, char *argv[]) -{ - int ec = 0; - const char *errstr; - int verbose = 0; - - if (argc > 1) - verbose = 1; - - do - { - errstr = asn1_strerror (ec); - if (verbose != 0) - asn1_perror (ec); - ec++; - } - while (errstr); - - return 0; -} diff --git a/tests/Test_indefinite.c b/tests/Test_indefinite.c deleted file mode 100644 index 9f08793..0000000 --- a/tests/Test_indefinite.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -/*****************************************************/ -/* File: Test_tree.c */ -/* Description: Test sequences for these functions: */ -/* asn1_visit_tree, */ -/* asn1_create_element, */ -/* asn1_delete_structure, */ -/* asn1_write_value, */ -/* asn1_read_value, */ -/*****************************************************/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "libtasn1.h" - - - -int -main (int argc, char *argv[]) -{ - int result; - char buffer[10 * 1024]; - asn1_node definitions = NULL; - asn1_node asn1_element = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - FILE *out, *fd; - ssize_t size; - const char *treefile = getenv ("ASN1PKIX"); - const char *indeffile = getenv ("ASN1INDEF"); - const char *indeffile2 = getenv ("ASN1INDEF2"); - const char *indeffile3 = getenv ("ASN1INDEF3"); - int verbose = 0; - - if (argc > 1) - verbose = 1; - - if (!treefile) - treefile = "pkix.asn"; - - if (!indeffile) - indeffile = "TestIndef.p12"; - - if (!indeffile2) - indeffile2 = "TestIndef2.p12"; - - if (!indeffile3) - indeffile3 = "TestIndef3.der"; - - if (verbose) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : Test_indefinite */\n"); - printf ("/****************************************/\n\n"); - printf ("ASN1TREE: %s\n", treefile); - } - - /* Check version */ - if (asn1_check_version ("0.2.11") == NULL) - printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", - asn1_check_version (NULL)); - - result = asn1_parser2tree (treefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - out = stdout; - - fd = fopen (indeffile, "rb"); - if (fd == NULL) - { - printf ("Cannot read file %s\n", indeffile); - exit (1); - } - size = fread (buffer, 1, sizeof (buffer), fd); - if (size <= 0) - { - printf ("Cannot read from file %s\n", indeffile); - exit (1); - } - - fclose (fd); - - result = - asn1_create_element (definitions, "PKIX1.pkcs-12-PFX", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create PKCS12 element\n"); - exit (1); - } - - result = asn1_der_decoding (&asn1_element, buffer, size, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot decode BER data (size %ld) in %s: %s\n", (long) size, indeffile, errorDescription); - exit (1); - } - - asn1_delete_structure (&asn1_element); - - /* second test */ - fd = fopen (indeffile2, "rb"); - if (fd == NULL) - { - printf ("Cannot read file %s\n", indeffile2); - exit (1); - } - size = fread (buffer, 1, sizeof (buffer), fd); - if (size <= 0) - { - printf ("Cannot read from file %s\n", indeffile2); - exit (1); - } - - fclose (fd); - - result = - asn1_create_element (definitions, "PKIX1.pkcs-12-PFX", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create PKCS12 element\n"); - exit (1); - } - - result = asn1_der_decoding (&asn1_element, buffer, size, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot decode BER data (size %ld) in %s: %s\n", (long) size, indeffile2, errorDescription); - exit (1); - } - - asn1_delete_structure (&asn1_element); - - /* third test */ - fd = fopen (indeffile3, "rb"); - if (fd == NULL) - { - printf ("Cannot read file %s\n", indeffile3); - exit (1); - } - size = fread (buffer, 1, sizeof (buffer), fd); - if (size <= 0) - { - printf ("Cannot read from file %s\n", indeffile3); - exit (1); - } - - fclose (fd); - - result = - asn1_create_element (definitions, "PKIX1.pkcs-12-CertBag", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create CertBag element\n"); - exit (1); - } - - result = asn1_der_decoding (&asn1_element, buffer, size, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot decode DER data (size %ld) in %s: %s\n", (long) size, indeffile3, errorDescription); - exit (1); - } - - asn1_delete_structure (&asn1_element); - - /* Clear the definition structures */ - asn1_delete_structure (&definitions); - - if (out != stdout) - fclose (out); - - exit (0); -} diff --git a/tests/Test_overflow.c b/tests/Test_overflow.c deleted file mode 100644 index b276b6d..0000000 --- a/tests/Test_overflow.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2012-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/* Written by Simon Josefsson */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <limits.h> - -#include "libtasn1.h" - -int -main (int argc, char **argv) -{ - /* Test that values larger than long are rejected. This has worked - fine with all versions of libtasn1. */ - int verbose = 0; - - if (argc > 1) - verbose = 1; - - { - unsigned char der[] = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"; - long l; - int len; - - l = asn1_get_length_der (der, sizeof der, &len); - - if (l == -2L) - { - if (verbose) - puts ("OK: asn1_get_length_der bignum"); - } - else - { - printf ("ERROR: asn1_get_length_der bignum (l %ld len %d)\n", l, len); - return 1; - } - } - - /* Test that values larger than int but smaller than long are - rejected. This limitation was introduced with libtasn1 2.12. */ - if (LONG_MAX > INT_MAX) - { - unsigned long num = ((long) UINT_MAX) << 2; - unsigned char der[20]; - int der_len; - long l; - int len; - - asn1_length_der (num, der, &der_len); - - l = asn1_get_length_der (der, der_len, &len); - - if (l == -2L) - { - if (verbose) - puts ("OK: asn1_get_length_der intnum"); - } - else - { - printf ("ERROR: asn1_get_length_der intnum (l %ld len %d)\n", l, - len); - return 1; - } - } - - /* Test that values larger than would fit in the input string are - rejected. This problem was fixed in libtasn1 2.12. */ - { - unsigned long num = 64; - unsigned char der[20]; - int der_len; - long l; - int len; - - asn1_length_der (num, der, &der_len); - - der_len = sizeof (der); - l = asn1_get_length_der (der, der_len, &len); - - if (l == -4L) - { - if (verbose) - puts ("OK: asn1_get_length_der overflow-small"); - } - else - { - printf ("ERROR: asn1_get_length_der overflow-small (l %ld len %d)\n", - l, len); - return 1; - } - } - - /* Test that values larger than would fit in the input string are - rejected. This problem was fixed in libtasn1 2.12. */ - { - unsigned long num = 1073741824; - unsigned char der[20]; - int der_len; - long l; - int len; - - asn1_length_der (num, der, &der_len); - - der_len = sizeof (der); - l = asn1_get_length_der (der, der_len, &len); - - if (l == -4L) - { - if (verbose) - puts ("OK: asn1_get_length_der overflow-large1"); - } - else - { - printf ("ERROR: asn1_get_length_der overflow-large1 (l %ld len %d)\n", - l, len); - return 1; - } - } - - /* Test that values larger than would fit in the input string are - rejected. This problem was fixed in libtasn1 2.12. */ - { - unsigned long num = 2147483649; - unsigned char der[20]; - int der_len; - long l; - int len; - - asn1_length_der (num, der, &der_len); - - der_len = sizeof (der); - l = asn1_get_length_der (der, der_len, &len); - - if (l == -2L) - { - if (verbose) - puts ("OK: asn1_get_length_der overflow-large2"); - } - else - { - printf ("ERROR: asn1_get_length_der overflow-large2 (l %ld len %d)\n", - l, len); - return 1; - } - } - - return 0; -} diff --git a/tests/Test_parser.asn b/tests/Test_parser.asn deleted file mode 100644 index fe2c7b3..0000000 --- a/tests/Test_parser.asn +++ /dev/null @@ -1,44 +0,0 @@ --- --- File used in the test sequence Test_parser. --- - - -TEST_PARSER {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)} - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - - -Sequence1 ::= SEQUENCE{ - int1 -- Test -- INTEGER (5), - int2 INTEGER (10 | 12), - generic GeneralString -} - -OidTest ::= SEQUENCE{ - oid1 OBJECT IDENTIFIER DEFAULT Oid-type1 -} - -Oid-type1 OBJECT IDENTIFIER ::= {1 2 3 4} - -Bitstringsizetest ::= BIT STRING (SIZE(42)) - -END - --- Copyright (C) 2002-2014 Free Software Foundation, Inc. --- --- This file is part of LIBTASN1. --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/tests/Test_parser.c b/tests/Test_parser.c deleted file mode 100644 index 7a51843..0000000 --- a/tests/Test_parser.c +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -/*****************************************************/ -/* File: Test_parser.c */ -/* Description: Test sequences for these functions: */ -/* asn1_parser_asn1, */ -/*****************************************************/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "libtasn1.h" - -typedef struct -{ - int lineNumber; - const char *line; - int errorNumber; - const char *errorDescription; -} test_type; - -const char *fileCorrectName; -char fileErroredName[] = "Test_parser_ERROR.asn"; - -#define _FILE_ "Test_parser_ERROR.asn" - -test_type test_array[] = { - /* Test DEFINITIONS syntax */ - {5, - "TEST_PARSER2 { } DEFINITIONS IMPLICIT TAGS ::= BEGIN int1 ::= INTEGER END", - ASN1_SYNTAX_ERROR, - _FILE_ - ":6: Error: syntax error, unexpected IDENTIFIER, expecting $end near 'TEST_PARSER'"}, - {6, "TEST_PARSER { }", ASN1_SUCCESS, ""}, - - /* Test ASN1_MAX_NAME_SIZE (128) */ - {12, - "a123456789012345678901234567890123456789012345678901234567890123 ::= INTEGER", - ASN1_SUCCESS, ""}, - {12, - "a1234567890123456789012345678901234567890123456789012345678901234 ::= INTEGER", - ASN1_NAME_TOO_LONG, - _FILE_ ":12: name too long (more than 64 characters)"}, - /* Test 'check identifier' function */ - {12, "ident1 ::= ident2 ident2 ::= INTEGER", - ASN1_SUCCESS, ""}, - {12, "ident1 ::= ident2", - ASN1_IDENTIFIER_NOT_FOUND, _FILE_ ":: identifier 'ident2' not found"}, - {12, "obj1 OBJECT IDENTIFIER ::= {pkix 0 5 4} " - "pkix OBJECT IDENTIFIER ::= {1 2}", - ASN1_SUCCESS, ""}, - {12, "obj1 OBJECT IDENTIFIER ::= {pkix 0 5 4}", - ASN1_IDENTIFIER_NOT_FOUND, _FILE_ ":: identifier 'pkix' not found"}, - - /* Test INTEGER */ - {14, "int1 INTEGER (-5..5),", ASN1_SUCCESS, ""}, - {14, "int1 INTEGER OPTIONAL,", ASN1_SUCCESS, ""}, - {14, "int1 INTEGER DEFAULT 1,", ASN1_SUCCESS, ""}, - {14, "int1 INTEGER DEFAULT -1,", ASN1_SUCCESS, ""}, - {14, "int1 INTEGER DEFAULT v1,", ASN1_SUCCESS, ""}, - {14, "int1 [1] INTEGER,", ASN1_SUCCESS, ""}, - {14, "int1 [1] EXPLICIT INTEGER,", ASN1_SUCCESS, ""}, - {14, "int1 [1] IMPLICIT INTEGER,", ASN1_SUCCESS, ""}, - {12, "Integer ::= [1] EXPLICIT INTEGER {v1(-1), v2(1)}", ASN1_SUCCESS, ""}, - {12, "Integer ::= INTEGER {v1(0), v2}", ASN1_SYNTAX_ERROR, - _FILE_ ":12: Error: syntax error, unexpected '}', expecting '(' near '}'"}, - {12, "Integer ::= INTEGER {v1(0), 1}", - ASN1_SYNTAX_ERROR, - _FILE_ - ":12: Error: syntax error, unexpected NUM, expecting IDENTIFIER or '(' near '1'"}, - {12, "const1 INTEGER ::= -1", ASN1_SUCCESS, ""}, - {12, "const1 INTEGER ::= 1", ASN1_SUCCESS, ""}, - {12, "const1 INTEGER ::= v1", - ASN1_SYNTAX_ERROR, - _FILE_ - ":12: Error: syntax error, unexpected IDENTIFIER, expecting NUM or '+' or '-' near 'v1'"}, - {16, " generic generalstring", - ASN1_IDENTIFIER_NOT_FOUND, - _FILE_ ":: identifier 'generalstring' not found"}, - - /* Test: OID */ - {20, " oid1 OBJECT IDENTIFIER DEFAULT Oid-type", - ASN1_IDENTIFIER_NOT_FOUND, _FILE_ ":: identifier 'Oid-type' not found"}, - {20, " oid1 OBJECT IDENTIFIER DEFAULT 1", - ASN1_IDENTIFIER_NOT_FOUND, _FILE_ ":: identifier '1' not found"}, - {20, " oid1 OBJECT IDENTIFIER DEFAULT", - ASN1_SYNTAX_ERROR, - _FILE_ ":21: Error: syntax error, unexpected '}' near '}'"}, - {20, " oid1 OBJECT IDENTIFIER DEFAULT Oid-type1", - ASN1_SUCCESS, ""}, - - /* end */ - {0} -}; - -static int -readLine (FILE * file, char *line) -{ - int c; - - while (((c = fgetc (file)) != EOF) && (c != '\n')) - { - *line = c; - line++; - } - - *line = 0; - - return c; -} - -static void -createFile (int lineNumber, const char *line) -{ - FILE *fileIn, *fileOut; - char lineRead[1024]; - int fileInLineNumber = 0; - - fileIn = fopen (fileCorrectName, "r"); - fileOut = fopen (fileErroredName, "w"); - - while (readLine (fileIn, lineRead) != EOF) - { - fileInLineNumber++; - if (fileInLineNumber == lineNumber) - fprintf (fileOut, "%s\n", line); - else - fprintf (fileOut, "%s\n", lineRead); - } - - fclose (fileOut); - fclose (fileIn); -} - - -int -main (int argc, char *argv[]) -{ - int result; - asn1_node definitions = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - test_type *test; - int errorCounter = 0, testCounter = 0; - int verbose = 0; - - if (argc > 1) - verbose = 1; - - fileCorrectName = getenv ("ASN1PARSER"); - if (!fileCorrectName) - fileCorrectName = "Test_parser.asn"; - - if (verbose != 0) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : Test_parser */\n"); - printf ("/****************************************/\n\n"); - printf ("ASN1PARSER: %s\n", fileCorrectName); - } - - result = asn1_parser2tree (fileCorrectName, &definitions, errorDescription); - - if (result != ASN1_SUCCESS) - { - printf ("File '%s' not correct\n", fileCorrectName); - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - /* Only for Test */ - /* asn1_visit_tree(stdout,definitions,"TEST_PARSER",ASN1_PRINT_ALL); */ - - /* Clear the definitions structures */ - asn1_delete_structure (&definitions); - - - test = test_array; - - while (test->lineNumber != 0) - { - testCounter++; - - createFile (test->lineNumber, test->line); - - result = - asn1_parser2tree (fileErroredName, &definitions, errorDescription); - asn1_delete_structure (&definitions); - - if ((result != test->errorNumber) || - (strcmp (errorDescription, test->errorDescription))) - { - errorCounter++; - printf ("ERROR N. %d:\n", errorCounter); - printf (" Line %d - %s\n", test->lineNumber, test->line); - printf (" Error expected: %s - %s\n", - asn1_strerror (test->errorNumber), test->errorDescription); - printf (" Error detected: %s - %s\n\n", asn1_strerror (result), - errorDescription); - exit (1); - } - - test++; - } - - - if (verbose != 0) - { - printf ("Total tests : %d\n", testCounter); - printf ("Total errors: %d\n", errorCounter); - } - - if (errorCounter > 0) - return 1; - - exit (0); -} diff --git a/tests/Test_simple.c b/tests/Test_simple.c deleted file mode 100644 index a846958..0000000 --- a/tests/Test_simple.c +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Copyright (C) 2011-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * Written by Simon Josefsson - * - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include "libtasn1.h" - -struct tv -{ - int bitlen; - const char *bitstr; - int derlen; - const char *der; -}; - -static const struct tv tv[] = { - {0, "", 2, "\x01\x00"}, - {1, "\x00", 3, "\x02\x07\x00"}, - {2, "\x00", 3, "\x02\x06\x00"}, - {3, "\x00", 3, "\x02\x05\x00"}, - {4, "\x00", 3, "\x02\x04\x00"}, - {5, "\x00", 3, "\x02\x03\x00"}, - {6, "\x00", 3, "\x02\x02\x00"}, - {7, "\x00", 3, "\x02\x01\x00"}, - {8, "\x00\x00", 3, "\x02\x00\x00"}, - {9, "\x00\x00", 4, "\x03\x07\x00\x00"}, - {10, "\x00\x00", 4, "\x03\x06\x00\x00"}, - {11, "\x00\x00", 4, "\x03\x05\x00\x00"}, - {12, "\x00\x00", 4, "\x03\x04\x00\x00"}, - {13, "\x00\x00", 4, "\x03\x03\x00\x00"}, - {14, "\x00\x00", 4, "\x03\x02\x00\x00"}, - {15, "\x00\x00", 4, "\x03\x01\x00\x00"}, - {16, "\x00\x00", 4, "\x03\x00\x00\x00"}, - {17, "\x00\x00\x00", 5, "\x04\x07\x00\x00\x00"}, - {18, "\x00\x00\x00", 5, "\x04\x06\x00\x00\x00"}, - {19, "\x00\x00\x00", 5, "\x04\x05\x00\x00\x00"}, - {1, "\xFF", 3, "\x02\x07\x80"}, - {2, "\xFF", 3, "\x02\x06\xc0"}, - {3, "\xFF", 3, "\x02\x05\xe0"}, - {4, "\xFF", 3, "\x02\x04\xf0"}, - {5, "\xFF", 3, "\x02\x03\xf8"}, - {6, "\xFF", 3, "\x02\x02\xfc"}, - {7, "\xFF", 3, "\x02\x01\xfe"}, - {8, "\xFF\xFF", 3, "\x02\x00\xff"}, - {9, "\xFF\xFF", 4, "\x03\x07\xff\x80"}, - {10, "\xFF\xFF", 4, "\x03\x06\xff\xc0"}, - {11, "\xFF\xFF", 4, "\x03\x05\xff\xe0"}, - {12, "\xFF\xFF", 4, "\x03\x04\xff\xf0"}, - {13, "\xFF\xFF", 4, "\x03\x03\xff\xf8"}, - {14, "\xFF\xFF", 4, "\x03\x02\xff\xfc"}, - {15, "\xFF\xFF", 4, "\x03\x01\xff\xfe"}, - {16, "\xFF\xFF", 4, "\x03\x00\xff\xff"}, - {17, "\xFF\xFF\xFF", 5, "\x04\x07\xff\xff\x80"}, - {18, "\xFF\xFF\xFF", 5, "\x04\x06\xff\xff\xc0"}, - {19, "\xFF\xFF\xFF", 5, "\x04\x05\xff\xff\xe0"}, -}; - -int -main (int argc, char *argv[]) -{ - int result; - unsigned char der[100]; - unsigned char str[100]; - int der_len = sizeof (der); - int str_size = sizeof (str); - int ret_len, bit_len; - size_t i; - - /* Dummy test */ - - asn1_bit_der (NULL, 0, der, &der_len); - result = asn1_get_bit_der (der, 0, &ret_len, str, str_size, &bit_len); - if (result != ASN1_GENERIC_ERROR) - { - fprintf (stderr, "asn1_get_bit_der zero\n"); - return 1; - } - - /* Encode short strings with increasing bit lengths */ - - for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++) - { - /* Encode */ - - asn1_bit_der ((const unsigned char *) tv[i].bitstr, tv[i].bitlen, - der, &der_len); - -#if 0 - { - size_t j; - for (j = 0; j < der_len; j++) - printf ("\\x%02x", der[j]); - printf ("\n"); - } -#endif - - if (der_len != tv[i].derlen || memcmp (der, tv[i].der, der_len) != 0) - { - fprintf (stderr, "asn1_bit_der iter %lu\n", (unsigned long) i); - return 1; - } - - /* Decode it */ - - result = asn1_get_bit_der (der, der_len, &ret_len, str, - str_size, &bit_len); - if (result != ASN1_SUCCESS || ret_len != tv[i].derlen - || bit_len != tv[i].bitlen) - { - fprintf (stderr, "asn1_get_bit_der iter %lu, err: %d\n", (unsigned long) i, result); - return 1; - } - } - - - /* Decode sample from "A Layman's Guide to a Subset of ASN.1, BER, - and DER" section 5.4 "BIT STRING": "The BER encoding of the BIT - STRING value "011011100101110111" can be any of the following, - among others, depending on the choice of padding bits, the form - of length octets [...]". - */ - - /* 03 04 06 6e 5d c0 DER encoding */ - - memcpy (der, "\x04\x06\x6e\x5d\xc0", 5); - der_len = 5; - - result = asn1_get_bit_der (der, der_len, &ret_len, str, str_size, &bit_len); - if (result != ASN1_SUCCESS || ret_len != 5 - || bit_len != 18 || memcmp (str, "\x6e\x5d\xc0", 3) != 0) - { - fprintf (stderr, "asn1_get_bit_der example\n"); - return 1; - } - - der_len = sizeof (der); - asn1_bit_der (str, bit_len, der, &der_len); - if (der_len != 5 || memcmp (der, "\x04\x06\x6e\x5d\xc0", 5) != 0) - { - fprintf (stderr, "asn1_bit_der example roundtrip\n"); - return 1; - } - - /* 03 04 06 6e 5d e0 padded with "100000" */ - - memcpy (der, "\x04\x06\x6e\x5d\xe0", 5); - der_len = 5; - - result = asn1_get_bit_der (der, der_len, &ret_len, str, str_size, &bit_len); - if (result != ASN1_SUCCESS || ret_len != 5 - || bit_len != 18 || memcmp (str, "\x6e\x5d\xe0", 3) != 0) - { - fprintf (stderr, "asn1_get_bit_der example padded\n"); - return 1; - } - - der_len = sizeof (der); - asn1_bit_der (str, bit_len, der, &der_len); - if (der_len != 5 || memcmp (der, "\x04\x06\x6e\x5d\xc0", 5) != 0) - { - fprintf (stderr, "asn1_bit_der example roundtrip\n"); - return 1; - } - - /* 03 81 04 06 6e 5d c0 long form of length octets */ - - memcpy (der, "\x81\x04\x06\x6e\x5d\xc0", 6); - der_len = 6; - - result = asn1_get_bit_der (der, der_len, &ret_len, str, str_size, &bit_len); - - if (result != ASN1_SUCCESS || ret_len != 6 - || bit_len != 18 || memcmp (str, "\x6e\x5d\xc0", 3) != 0) - { - fprintf (stderr, "asn1_get_bit_der example long form\n"); - return 1; - } - - der_len = sizeof (der); - asn1_bit_der (str, bit_len, der, &der_len); - if (der_len != 5 || memcmp (der, "\x04\x06\x6e\x5d\xc0", 5) != 0) - { - fprintf (stderr, "asn1_bit_der example roundtrip\n"); - return 1; - } - - return 0; -} diff --git a/tests/Test_strings.c b/tests/Test_strings.c deleted file mode 100644 index 83a73cc..0000000 --- a/tests/Test_strings.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2012-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * Written by Simon Josefsson - * - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include "libtasn1.h" - -struct tv -{ - unsigned int etype; - unsigned int str_len; - const void *str; - unsigned int der_len; - const void *der; -}; - -static const struct tv tv[] = { - {ASN1_ETYPE_IA5_STRING, 20, - "\x63\x73\x63\x61\x40\x70\x61\x73\x73\x70\x6f\x72\x74\x2e\x67\x6f\x76\x2e\x67\x72", - 22, - "\x16\x14\x63\x73\x63\x61\x40\x70\x61\x73\x73\x70\x6f\x72\x74\x2e\x67\x6f\x76\x2e\x67\x72"}, - {ASN1_ETYPE_PRINTABLE_STRING, 5, "\x4e\x69\x6b\x6f\x73", - 7, "\x13\x05\x4e\x69\x6b\x6f\x73"}, - {ASN1_ETYPE_UTF8_STRING, 12, "Αττική", - 14, "\x0c\x0c\xce\x91\xcf\x84\xcf\x84\xce\xb9\xce\xba\xce\xae"}, - {ASN1_ETYPE_TELETEX_STRING, 15, - "\x53\x69\x6d\x6f\x6e\x20\x4a\x6f\x73\x65\x66\x73\x73\x6f\x6e", - 17, - "\x14\x0f\x53\x69\x6d\x6f\x6e\x20\x4a\x6f\x73\x65\x66\x73\x73\x6f\x6e"}, - {ASN1_ETYPE_OCTET_STRING, 36, - "\x30\x22\x80\x0F\x32\x30\x31\x31\x30\x38\x32\x31\x30\x38\x30\x30\x30\x36\x5A\x81\x0F\x32\x30\x31\x31\x30\x38\x32\x33\x32\x30\x35\x39\x35\x39\x5A", - 38, - "\x04\x24\x30\x22\x80\x0F\x32\x30\x31\x31\x30\x38\x32\x31\x30\x38\x30\x30\x30\x36\x5A\x81\x0F\x32\x30\x31\x31\x30\x38\x32\x33\x32\x30\x35\x39\x35\x39\x5A"} -}; - -#define SSTR(x) sizeof(x)-1,x -static const struct tv ber[] = { - {ASN1_ETYPE_OCTET_STRING, - SSTR("\xa0\xa0"), - SSTR("\x24\x80\x04\x82\x00\x02\xa0\xa0\x00\x00")}, - {ASN1_ETYPE_OCTET_STRING, - SSTR("\xa0\xa0\xb0\xb0\xb0"), - SSTR("\x24\x80\x04\x82\x00\x02\xa0\xa0\x04\x82\x00\x03\xb0\xb0\xb0\x00\x00")}, - {ASN1_ETYPE_OCTET_STRING, - SSTR("\xa0\xa0\xb0\xb0\xb0\xa1\xa1"), - SSTR("\x24\x80\x04\x82\x00\x02\xa0\xa0\x04\x82\x00\x03\xb0\xb0\xb0\x24\x80\x04\x82\x00\x02\xa1\xa1\x00\x00\x00\x00")}, - {ASN1_ETYPE_OCTET_STRING, - SSTR("\xa0\xa0\xb0\xb0\xb0\xa1\xa1\xc1"), - SSTR("\x24\x80\x04\x82\x00\x02\xa0\xa0\x04\x82\x00\x03\xb0\xb0\xb0\x24\x80\x04\x82\x00\x02\xa1\xa1\x04\x82\x00\x01\xc1\x00\x00\x00\x00")}, -}; - -int -main (int argc, char *argv[]) -{ - int ret; - unsigned char tl[ASN1_MAX_TL_SIZE]; - unsigned int tl_len, der_len, str_len; - const unsigned char *str; - unsigned char *b; - unsigned int i; - - /* Dummy test */ - - for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++) - { - /* Encode */ - tl_len = sizeof (tl); - ret = asn1_encode_simple_der (tv[i].etype, tv[i].str, tv[i].str_len, - tl, &tl_len); - if (ret != ASN1_SUCCESS) - { - fprintf (stderr, "Encoding error in %u: %s\n", i, - asn1_strerror (ret)); - return 1; - } - der_len = tl_len + tv[i].str_len; - - if (der_len != tv[i].der_len || memcmp (tl, tv[i].der, tl_len) != 0) - { - fprintf (stderr, - "DER encoding differs in %u! (size: %u, expected: %u)\n", - i, der_len, tv[i].der_len); - return 1; - } - - /* decoding */ - ret = - asn1_decode_simple_der (tv[i].etype, tv[i].der, tv[i].der_len, &str, - &str_len); - if (ret != ASN1_SUCCESS) - { - fprintf (stderr, "Decoding error in %u: %s\n", i, - asn1_strerror (ret)); - return 1; - } - - if (str_len != tv[i].str_len || memcmp (str, tv[i].str, str_len) != 0) - { - fprintf (stderr, - "DER decoded data differ in %u! (size: %u, expected: %u)\n", - i, der_len, tv[i].str_len); - return 1; - } - } - - /* BER decoding */ - for (i = 0; i < sizeof (ber) / sizeof (ber[0]); i++) - { - /* decoding */ - ret = - asn1_decode_simple_ber (ber[i].etype, ber[i].der, ber[i].der_len, &b, - &str_len, NULL); - if (ret != ASN1_SUCCESS) - { - fprintf (stderr, "BER decoding error in %u: %s\n", i, - asn1_strerror (ret)); - return 1; - } - - if (str_len != ber[i].str_len || memcmp (b, ber[i].str, str_len) != 0) - { - fprintf (stderr, - "BER decoded data differ in %u! (size: %u, expected: %u)\n", - i, str_len, ber[i].str_len); - return 1; - } - free(b); - } - - - return 0; -} diff --git a/tests/Test_tree.asn b/tests/Test_tree.asn deleted file mode 100644 index 0ad0dc5..0000000 --- a/tests/Test_tree.asn +++ /dev/null @@ -1,176 +0,0 @@ --- --- File used in the test sequence Test_tree. --- - -TEST_TREE {iso(1) identified-organization(3) dod(6) internet(1) - security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)} - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - -KrbError ::= [APPLICATION 30] SEQUENCE { - pvno[0] INTEGER -} - -Checksum ::= SEQUENCE { - checksum [1] OCTET STRING -} - -CertTemplate ::= SEQUENCE { - version [0] INTEGER OPTIONAL, - issuer [3] Name OPTIONAL, - validity [4] INTEGER OPTIONAL -} - -Name ::= CHOICE { - rdnSequence RDNSequence } - -RDNSequence ::= RelativeDistinguishedName - -RelativeDistinguishedName ::= - - SET SIZE (1 .. MAX) OF AttributeTypeAndValue - -AttributeTypeAndValue ::= SEQUENCE { - type AttributeType, - value AttributeValue } - -AttributeType ::= OBJECT IDENTIFIER -AttributeValue ::= ANY - - -sequenceEmpty ::= SEQUENCE{ - int1 INTEGER, - seq1 [1] IMPLICIT Sequence_octetTest1, - set1 [2] EXPLICIT SET OF INTEGER -} - - -IndefiniteLengthTest ::= SEQUENCE{ - seq1 [1] IMPLICIT Sequence_octetTest1, - set1 SET OF OBJECT IDENTIFIER, - int1 INTEGER -} - - -OidTest ::= SEQUENCE{ - oid3 [3] OBJECT IDENTIFIER DEFAULT id-Test, - oid [1] OBJECT IDENTIFIER DEFAULT id-anyTest2, - oid2 [2] OBJECT IDENTIFIER DEFAULT id-anyTest -} - -OidAndTimeTest ::= SEQUENCE{ - set SET OF INTEGER, - oid OBJECT IDENTIFIER, - time2 GeneralizedTime, - bol BOOLEAN, - oct OCTET STRING, - bit BIT STRING OPTIONAL, - bol2 BOOLEAN DEFAULT TRUE, - enum ENUMERATED {v1(1),v2(2)} DEFAULT v1, - any [1] ANY OPTIONAL, - gen GeneralString OPTIONAL, - time1 UTCTime -} - -SequenceTestTag ::= SEQUENCE{ - int1 [2] EXPLICIT INTEGER, - int2 [3] IMPLICIT INTEGER, - str1 [1] IMPLICIT PrintableString, - str2 UniversalString, - str3 [2] EXPLICIT UniversalString -} - - -Sequence1 ::= SEQUENCE{ - int1 [0] INTEGER {v1(0),v2(1),v3(2)} DEFAULT v2, - int2 INTEGER, - seq SET OF INTEGER, - id OBJECT IDENTIFIER, - oct OCTET STRING, - any1 ANY DEFINED BY id OPTIONAL -} - -DHParameter ::= SEQUENCE { - prime INTEGER, - base INTEGER, - privateValueLength INTEGER OPTIONAL -} - -id-octetTest1 OBJECT IDENTIFIER ::= {1 2 3 4} - -Sequence_octetTest1 ::= SEQUENCE{ - int INTEGER OPTIONAL -} - - -AnyTest2 ::= CHOICE{ - str OCTET STRING, - int INTEGER -} - -id-ic OBJECT IDENTIFIER ::= {2 5} -id-anyTest OBJECT IDENTIFIER ::= {id-ic 29 1} -id-anyTest2 OBJECT IDENTIFIER ::= {id-ic 29 2} - - -anyTest2 ::= INTEGER - - -VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRING - -NumericString ::= [UNIVERSAL 18] IMPLICIT OCTET STRING - -IA5String ::= [UNIVERSAL 22] IMPLICIT OCTET STRING - -TeletexString ::= [UNIVERSAL 20] IMPLICIT OCTET STRING - -PrintableString ::= [UNIVERSAL 19] IMPLICIT OCTET STRING - -UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING - -- UniversalString is defined in ASN.1:1993 - -BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING - -- BMPString is the subtype of UniversalString and models - -- the Basic Multilingual Plane of ISO/IEC/ITU 10646-1 - -UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING - -- The content of this type conforms to RFC 2279. - - -Test3 ::= SEQUENCE{ - a INTEGER, - b [1] EXPLICIT GeneralString2 -} - -GeneralString2 ::= [2] EXPLICIT GeneralString - -X520LocalityName ::= CHOICE { - teletexString TeletexString, - printableString PrintableString, - universalString UniversalString, - utf8String UTF8String, - bmpString BMPString } - - -id-Test OBJECT IDENTIFIER ::= {1 2 29 2} - -END - --- Copyright (C) 2002-2014 Free Software Foundation, Inc. --- --- This file is part of LIBTASN1. --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/tests/Test_tree.c b/tests/Test_tree.c deleted file mode 100644 index 0b6a7df..0000000 --- a/tests/Test_tree.c +++ /dev/null @@ -1,829 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -/*****************************************************/ -/* File: Test_tree.c */ -/* Description: Test sequences for these functions: */ -/* asn1_visit_tree, */ -/* asn1_create_element, */ -/* asn1_delete_structure2, */ -/* asn1_delete_structure, */ -/* asn1_write_value, */ -/* asn1_read_value, */ -/*****************************************************/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#define ASN1_INTERNAL_BUILD -#include "libtasn1.h" - -#include "Test_tree_asn1_tab.c" - -#define ACT_NULL 0 -#define ACT_CREATE 1 -#define ACT_DELETE 2 -#define ACT_WRITE 3 -#define ACT_READ 4 -#define ACT_VISIT 5 -#define ACT_ENCODING 6 -#define ACT_DECODING 7 -#define ACT_PRINT_DER 8 -#define ACT_EXPAND_ANY 9 -#define ACT_DECODING_ELEMENT 10 -#define ACT_EXPAND_OCTET 11 -#define ACT_NUMBER_OF_ELEMENTS 12 -#define ACT_DECODING_START_END 13 -#define ACT_READ_DEFINITIONS 14 -#define ACT_READ_TAG_CLASS 15 -#define ACT_OID_2_STRUCTURE 16 -#define ACT_READ_LENGTH 17 -#define ACT_ENCODING_LENGTH 18 -#define ACT_READ_BIT 19 -#define ACT_SET_DER 20 -#define ACT_DELETE_ELEMENT 21 -#define ACT_DELETE2 22 - - -typedef struct -{ - int action; - const char *par1; - const char *par2; - int par3; - int errorNumber; - int line; -} test_type; - - -test_type test_array[] = { - - {ACT_DELETE, "", "", 0, ASN1_ELEMENT_NOT_FOUND, __LINE__}, - - /* Test: APPLICATION 30 */ - {ACT_CREATE, "TEST_TREE.KrbError", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "pvno", "5", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 5, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 4, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 5, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.KrbError", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE_ELEMENT, "pvno", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE_ELEMENT, "pvno", "", 0, ASN1_ELEMENT_NOT_FOUND, __LINE__}, - {ACT_DELETE2, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: CHOICE */ - {ACT_CREATE, "TEST_TREE.CertTemplate", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "version", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "validity", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer", "rdnSequence", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "2.5.4.3", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", - "\x0c\x18\x71\x75\x61\x73\x61\x72\x2e\x6c\x61\x73\x2e\x69\x63\x2e\x75\x6e\x69\x63\x61\x6d\x70\x2e\x62\x72", - 26, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "2.5.4.7", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", - "\x0c\x08\x43\x61\x6d\x70\x69\x6e\x61\x73", 10, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "2.5.4.6", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", - "\x13\x06\x42\x72\x61\x73\x69\x6c", 8, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "2.5.4.10", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", "\x0c\x02\x49\x43", 4, - ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "2.5.4.11", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", "\x0c\x03\x4c\x41\x53", 5, - ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "2.5.4.8", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", - "\x0c\x09\x53\x61\x6f\x20\x50\x61\x75\x6c\x6f", 11, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "issuer.rdnSequence", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.type", "1.2.840.113549.1.9.1", 0, - ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "issuer.rdnSequence.?LAST.value", - "\x16\x19\x65\x64\x75\x61\x72\x64\x6f\x40\x6c\x61\x73\x2e\x69\x63\x2e\x75\x6e\x69\x63\x61\x6d\x70\x2e\x62\x72", - 27, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 152, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 151, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 152, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.CertTemplate", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE_ELEMENT, "issuer.rdnSequence.?1", "", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_DELETE_ELEMENT, "issuer.rdnSequence.?1", "", 0, - ASN1_ELEMENT_NOT_FOUND, __LINE__}, - {ACT_DELETE_ELEMENT, "issuer.rdnSequence.?3", "", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_DELETE_ELEMENT, "issuer.rdnSequence.?5", "", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_DELETE_ELEMENT, "issuer.rdnSequence.?7", "", 0, ASN1_SUCCESS, - __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: Empty sequnces */ - {ACT_CREATE, "TEST_TREE.sequenceEmpty", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int1", "1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "seq1.int", NULL, 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 11, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 10, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 11, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.sequenceEmpty", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "seq1", "START", 5, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "seq1", "END", 6, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "set1", "START", 7, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "set1", "END", 10, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: Indefinite Length */ - {ACT_CREATE, "TEST_TREE.IndefiniteLengthTest", 0, 0, ASN1_SUCCESS, - __LINE__}, - {ACT_WRITE, "int1", "1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "seq1.int", "2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set1", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set1.?LAST", "1.2.3.4", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set1", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set1.?LAST", "1.2.5.6", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 255, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_SET_DER, - "\x30\x18\xa1\x80\x02\x01\x02\x00\x00\x31\x80\x06\x03\x2a\x03\x04\x06\x03\x2a\x05\x06\x00\x00\x02\x01\x01", - 0, 26, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.IndefiniteLengthTest", 0, 0, ASN1_SUCCESS, - __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "seq1", "START", 2, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "seq1", "END", 8, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "set1", "START", 9, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "set1", "END", 22, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: OID */ - {ACT_CREATE, "TEST_TREE.OidTest", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ_LENGTH, "oid", NULL, 9, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ, "oid", "2.5.29.2", 9, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oid", "1.2.3.4", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oid2", "2.5.29.1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oid3", "1.2.29.2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 7, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 6, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 7, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.OidTest", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "oid", "START", 2, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "oid", "END", 6, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "", "START", 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "", "END", 6, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "oid2", "2.5.29.1", 9, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "oid3", "1.2.29.2", 9, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oid", "1.2.3.4", 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: ENCODING_LENGTH and READ_LEN */ - {ACT_CREATE, "TEST_TREE.OidAndTimeTest", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oid", "1.2.3.4", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "time1", "9801011200Z", 1, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "time2", "2001010112001.12-0700", 1, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oct", "ABCD", 4, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "bol", "TRUE", 1, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "enum", "2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "bit", "1\xC0", 10, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "any", "\x30\x01\x01", 3, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set.?LAST", "10", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set", "NEW", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "set.?LAST", "1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "gen", "Prova", 5, ASN1_SUCCESS, __LINE__}, - {ACT_READ_LENGTH, "oid", NULL, 8, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "time1", NULL, 12, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "time2", NULL, 22, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "oct", NULL, 4, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "bol", NULL, 5, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "enum", NULL, 1, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "any", NULL, 3, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "gen", NULL, 5, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_LENGTH, "bit", NULL, 10, ASN1_MEM_ERROR, __LINE__}, - {ACT_READ_BIT, "bit", "1\xC0", 10, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 79, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 78, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 79, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.OidAndTimeTest", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: OID to STRUCTURE */ - {ACT_OID_2_STRUCTURE, "2.5.29.3", "", 0, ASN1_ELEMENT_NOT_FOUND, __LINE__}, - {ACT_OID_2_STRUCTURE, "1.2.29.2", "", 0, ASN1_ELEMENT_NOT_FOUND, __LINE__}, - {ACT_OID_2_STRUCTURE, "2.5.29.2", "anyTest2", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: READ TAG and CLASS */ - {ACT_CREATE, "TEST_TREE.SequenceTestTag", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "int", "", 0, ASN1_ELEMENT_NOT_FOUND, __LINE__}, - {ACT_READ_TAG_CLASS, "int1", "TAG", ASN1_TAG_INTEGER, ASN1_SUCCESS, - __LINE__}, - {ACT_READ_TAG_CLASS, "int1", "CLASS", ASN1_CLASS_UNIVERSAL, ASN1_SUCCESS, - __LINE__}, - {ACT_READ_TAG_CLASS, "int2", "TAG", 3, ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "int2", "CLASS", ASN1_CLASS_CONTEXT_SPECIFIC, - ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "str1", "TAG", 1, ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "str1", "CLASS", ASN1_CLASS_CONTEXT_SPECIFIC, - ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "str2", "TAG", 28, ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "str2", "CLASS", ASN1_CLASS_UNIVERSAL, ASN1_SUCCESS, - __LINE__}, - {ACT_READ_TAG_CLASS, "str3", "TAG", 28, ASN1_SUCCESS, __LINE__}, - {ACT_READ_TAG_CLASS, "str3", "CLASS", ASN1_CLASS_UNIVERSAL, ASN1_SUCCESS, - __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: OBJECT IDENTIFIER elements */ - {ACT_CREATE, "TEST_TREE.Sequence1", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int1", "v2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "int1", "\x01", 1, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int2", "0", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oct", "\x02\x01\x0a", 3, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "id", "1 2 3 4 5", 0, ASN1_VALUE_NOT_VALID, __LINE__}, - {ACT_WRITE, "id", "2.5.29.2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "id", "2.5.29.2", 9, ASN1_SUCCESS, __LINE__}, - {ACT_READ_LENGTH, "id", NULL, 9, ASN1_MEM_ERROR, __LINE__}, - {ACT_WRITE, "any1", "\x02\x01\x05", 3, ASN1_SUCCESS, __LINE__}, - {ACT_READ_DEFINITIONS, "TEST_TREE.id-anyTest", "2.5.29.1", 9, ASN1_SUCCESS, - __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 20, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 19, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 200, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.Sequence1", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "id", "START", 7, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "id", "2.5.29.2", 9, ASN1_SUCCESS, __LINE__}, - {ACT_EXPAND_ANY, "", NULL, 0, ASN1_SUCCESS, __LINE__}, - {ACT_EXPAND_OCTET, "oct", "id", 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: CHOICE elements */ - {ACT_CREATE, "TEST_TREE.X520LocalityName", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "", "teletexString", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "teletexString", "PROVA", 5, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 7, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 6, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 7, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.X520LocalityName", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: OPTIONAL elements */ - {ACT_CREATE, "TEST_TREE.DHParameter", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "prime", "1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "base", "2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "privateValueLength", NULL, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 8, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 7, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 8, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.DHParameter", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: Integer */ - {ACT_CREATE, "TEST_TREE.AnyTest2", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "", "int", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "0", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 3, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 2, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 3, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "-1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "2000000000", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "-2000000000", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "-20000000000", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int", "20000000000", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test: elements without names */ - {ACT_CREATE, "TEST_TREE.Sequence1", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "int2", "10", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "seq", "NEW", 1, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "seq.?LAST", "1", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "seq", "NEW", 1, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "seq.?LAST", "2", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "any1", NULL, 0, ASN1_SUCCESS, __LINE__}, - {ACT_NUMBER_OF_ELEMENTS, "seq", "", 2, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "id", "1.2.3.4", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "oct", "\x30\x03\x02\x01\x15", 5, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "int2", 0, 1024, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING, "seq.?2", 0, 2, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "seq.?2", 0, 3, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 25, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 24, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 25, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.Sequence1", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_ELEMENT, "int2", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "int2", "\x0a", 1, ASN1_SUCCESS, __LINE__}, - {ACT_READ_LENGTH, "int2", NULL, 1, ASN1_MEM_ERROR, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.Sequence1", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_START_END, "seq.?2", "START", 10, ASN1_SUCCESS, __LINE__}, - {ACT_EXPAND_OCTET, "oct", "id", 0, ASN1_SUCCESS, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Test GeneralString */ - {ACT_CREATE, "TEST_TREE.Test3", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "a", "1234", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "b", "prova", 5, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 17, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 16, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 17, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.Test3", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_ELEMENT, "b", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "b", "prova", 5, ASN1_SUCCESS, __LINE__}, - {ACT_READ_LENGTH, "b", NULL, 5, ASN1_MEM_ERROR, __LINE__}, - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* Bug regression test: Empty write on 64-bit platforms */ - {ACT_CREATE, "TEST_TREE.Checksum", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "checksum", "foo", 0, ASN1_SUCCESS, __LINE__}, - {ACT_WRITE, "checksum", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_ENCODING_LENGTH, "", 0, 4, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 3, ASN1_MEM_ERROR, __LINE__}, - {ACT_ENCODING, "", 0, 4, ASN1_SUCCESS, __LINE__}, - {ACT_PRINT_DER, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_CREATE, "TEST_TREE.Checksum", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING, 0, 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_DECODING_ELEMENT, "checksum", 0, 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ, "checksum", "", 0, ASN1_SUCCESS, __LINE__}, - {ACT_READ_LENGTH, "checksum", NULL, 0, ASN1_SUCCESS, __LINE__}, /* MEM_FAILURE? */ - {ACT_VISIT, "", "", ASN1_PRINT_ALL, ASN1_SUCCESS, __LINE__}, - {ACT_DELETE, "", "", 0, ASN1_SUCCESS, __LINE__}, - - /* end */ - {ACT_NULL} - -}; - - -#define error() fprintf(stderr, "Error at line %d\n", __LINE__); exit(1) - -int -main (int argc, char *argv[]) -{ - int result; - asn1_node definitions = NULL; - asn1_node asn1_element = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - FILE *out; - test_type *test; - int errorCounter = 0, testCounter = 0, der_len; - unsigned char value[1024], der[1024]; - int valueLen, tag = 0, class = 0; - int k; - int start, end, verbose = 0; - const char *str_p = NULL; - const char *treefile = getenv ("ASN1TREE"); - - if (argc > 1) - verbose = 1; - - if (!treefile) - treefile = "Test_tree.asn"; - - if (verbose != 0) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : Test_tree */\n"); - printf ("/****************************************/\n\n"); - printf ("ASN1TREE: %s\n", treefile); - } - - /* Check version */ - if (asn1_check_version ("0.2.11") == NULL) - printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", - asn1_check_version (NULL)); - - if (1) - result = asn1_parser2tree (treefile, &definitions, errorDescription); - else - result = - asn1_array2tree (Test_tree_asn1_tab, &definitions, errorDescription); - - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - if (1) - out = stdout; - else - out = fopen ("Test_tree.out", "w"); - - if (out == NULL) - { - printf ("Output file ERROR\n"); - exit (1); - } - - if (0) - { - asn1_print_structure (out, definitions, "TEST_TREE", ASN1_PRINT_ALL); - fprintf (out, "\n"); - } - - test = test_array; - - while (test->action != ACT_NULL) - { - testCounter++; - - switch (test->action) - { - case ACT_CREATE: - result = - asn1_create_element (definitions, test->par1, &asn1_element); - break; - case ACT_DELETE: - result = asn1_delete_structure (&asn1_element); - break; - case ACT_DELETE2: - result = asn1_delete_structure2 (&asn1_element, ASN1_DELETE_FLAG_ZEROIZE); - break; - case ACT_DELETE_ELEMENT: - result = asn1_delete_element (asn1_element, test->par1); - break; - case ACT_WRITE: - if ((test->par2) && (!strcmp ("DER", test->par2))) - result = - asn1_write_value (asn1_element, test->par1, der, der_len); - else - result = - asn1_write_value (asn1_element, test->par1, test->par2, - test->par3); - break; - case ACT_READ: - case ACT_READ_BIT: - valueLen = test->par3; - result = - asn1_read_value (asn1_element, test->par1, value, &valueLen); - break; - case ACT_READ_LENGTH: - valueLen = 0; - result = - asn1_read_value (asn1_element, test->par1, NULL, &valueLen); - break; - case ACT_READ_DEFINITIONS: - valueLen = 1024; - result = - asn1_read_value (definitions, test->par1, value, &valueLen); - break; - case ACT_READ_TAG_CLASS: - result = asn1_read_tag (asn1_element, test->par1, &tag, &class); - break; - case ACT_ENCODING: - der_len = test->par3; - result = asn1_der_coding (asn1_element, test->par1, der, &der_len, - errorDescription); - break; - case ACT_ENCODING_LENGTH: - der_len = 0; - result = asn1_der_coding (asn1_element, test->par1, NULL, &der_len, - errorDescription); - break; - case ACT_DECODING: - result = asn1_der_decoding (&asn1_element, der, der_len, - errorDescription); - break; - case ACT_DECODING_ELEMENT: - result = - asn1_der_decoding_element (&asn1_element, test->par1, der, - der_len, errorDescription); - break; - case ACT_DECODING_START_END: - result = - asn1_der_decoding_startEnd (asn1_element, der, der_len, - test->par1, &start, &end); - break; - case ACT_EXPAND_ANY: - result = asn1_expand_any_defined_by (definitions, &asn1_element); - break; - case ACT_EXPAND_OCTET: - result = - asn1_expand_octet_string (definitions, &asn1_element, test->par1, - test->par2); - break; - case ACT_OID_2_STRUCTURE: - str_p = asn1_find_structure_from_oid (definitions, test->par1); - break; - case ACT_VISIT: - if (verbose) - { - asn1_print_structure (out, asn1_element, test->par1, - test->par3); - fprintf (out, "\n"); - } - result = ASN1_SUCCESS; - break; - case ACT_PRINT_DER: - if (verbose) - { - printf ("DER encoding len:%i\n", der_len); - printf ("DER encoding: "); - for (k = 0; k < der_len; k++) - printf ("%02x ", der[k]); - printf ("\n\n"); - } - result = ASN1_SUCCESS; - break; - case ACT_SET_DER: - der_len = test->par3; - memcpy (der, test->par1, der_len); - result = ASN1_SUCCESS; - break; - case ACT_NUMBER_OF_ELEMENTS: - result = - asn1_number_of_elements (asn1_element, test->par1, &valueLen); - break; - default: - break; - } - - - switch (test->action) - { - case ACT_CREATE: - case ACT_DELETE: - case ACT_DELETE_ELEMENT: - case ACT_WRITE: - case ACT_VISIT: - case ACT_ENCODING: - case ACT_DECODING: - case ACT_PRINT_DER: - case ACT_EXPAND_ANY: - case ACT_EXPAND_OCTET: - case ACT_SET_DER: - if (result != test->errorNumber) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s - %s - %d\n", test->action, - test->par1, test->par2, test->par3); - printf (" Error expected: %s\n", - asn1_strerror (test->errorNumber)); - printf (" Error detected: %s\n\n", asn1_strerror (result)); - error (); - } - break; - case ACT_DECODING_ELEMENT: - if (result != test->errorNumber) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s - %s - %d\n", test->action, - test->par1, test->par2, test->par3); - printf (" Error expected: %s\n", - asn1_strerror (test->errorNumber)); - printf (" Error detected: %s\n", asn1_strerror (result)); - printf (" Error description : %s\n\n", errorDescription); - error (); - } - break; - case ACT_NUMBER_OF_ELEMENTS: - case ACT_READ_LENGTH: - if ((result != test->errorNumber) || (valueLen != test->par3)) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s\n", test->action, test->par1); - printf (" Error expected: %s - %d\n", - asn1_strerror (test->errorNumber), test->par3); - printf (" Error detected: %s - %d\n\n", asn1_strerror (result), - valueLen); - error (); - } - break; - case ACT_ENCODING_LENGTH: - if ((result != test->errorNumber) || (der_len != test->par3)) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s\n", test->action, test->par1); - printf (" Error expected: %s - %d\n", - asn1_strerror (test->errorNumber), test->par3); - printf (" Error detected: %s - %d\n\n", asn1_strerror (result), - der_len); - error (); - } - break; - case ACT_OID_2_STRUCTURE: - if (((test->errorNumber != ASN1_SUCCESS) && (str_p != NULL)) || - ((test->errorNumber == ASN1_SUCCESS) && (str_p == NULL)) || - ((test->errorNumber == ASN1_SUCCESS) - && (strcmp (str_p, test->par2)))) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s\n", test->action, test->par1); - printf (" Error expected: %s - %s\n", - asn1_strerror (test->errorNumber), test->par2); - printf (" Value detected: %s\n\n", str_p); - error (); - } - break; - case ACT_DECODING_START_END: - if ((result != test->errorNumber) || - ((!strcmp (test->par2, "START")) && (start != test->par3)) || - ((!strcmp (test->par2, "END")) && (end != test->par3))) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s - %d\n", test->action, test->par1, - test->par3); - printf (" Error expected: %s - %s - %d\n", - asn1_strerror (test->errorNumber), test->par2, - test->par3); - printf (" Error detected: %s - %d - %d\n\n", - asn1_strerror (result), start, end); - error (); - } - break; - - case ACT_READ_TAG_CLASS: - if ((result != test->errorNumber) || - ((!strcmp (test->par2, "TAG")) && (tag != test->par3)) || - ((!strcmp (test->par2, "CLASS")) && (class != test->par3))) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s - %d\n", test->action, test->par1, - test->par3); - printf (" Error expected: %s - %s - %d\n", - asn1_strerror (test->errorNumber), test->par2, - test->par3); - printf (" Error detected: %s - %d - %d\n\n", - asn1_strerror (result), tag, class); - error (); - } - - break; - - case ACT_READ: - case ACT_READ_DEFINITIONS: - case ACT_READ_BIT: - if (test->action == ACT_READ_BIT) - { - if (valueLen % 8 == 0) - tag = valueLen / 8; - else - tag = (valueLen / 8) + 1; - if (test->par3 % 8 == 0) - class = test->par3 / 8; - else - class = (test->par3 / 8) + 1; - } - - for (k = 0; k < class; k++) - if ((unsigned char) test->par2[k] != value[k]) - { - k = -1; - break; - } - - if ((result != test->errorNumber) || - (valueLen != test->par3) || (k == -1)) - { - errorCounter++; - printf ("ERROR in %d:\n", test->line); - printf (" Action %d - %s\n", test->action, test->par1); - printf (" Error expected: %s - %d - ", - asn1_strerror (test->errorNumber), test->par3); - for (k = 0; k < test->par3; k++) - printf ("%02x", test->par2[k]); - printf ("\n Error detected: %s - %d - ", - asn1_strerror (result), valueLen); - for (k = 0; k < valueLen; k++) - printf ("%02x", value[k]); - printf ("\n\n"); - - error (); - } - - break; - default: - break; - } - - test++; - } - - - if (verbose != 0) - { - printf ("Total tests : %d\n", testCounter); - printf ("Total errors: %d\n", errorCounter); - } - - /* Clear the definition structures */ - asn1_delete_structure (&definitions); - - - if (out != stdout) - fclose (out); - - if (errorCounter > 0) - return 1; - - exit (0); -} diff --git a/tests/Test_tree_asn1_tab.c b/tests/Test_tree_asn1_tab.c deleted file mode 100644 index 7869f85..0000000 --- a/tests/Test_tree_asn1_tab.c +++ /dev/null @@ -1,169 +0,0 @@ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include <libtasn1.h> - -const asn1_static_node Test_tree_asn1_tab[] = { - { "TEST_TREE", 536875024, NULL }, - { NULL, 1610612748, NULL }, - { "iso", 1073741825, "1"}, - { "identified-organization", 1073741825, "3"}, - { "dod", 1073741825, "6"}, - { "internet", 1073741825, "1"}, - { "security", 1073741825, "5"}, - { "mechanisms", 1073741825, "5"}, - { "pkix", 1073741825, "7"}, - { "id-mod", 1073741825, "0"}, - { "id-pkix1-implicit-88", 1, "2"}, - { "KrbError", 1610620933, NULL }, - { NULL, 1073746952, "30"}, - { "pvno", 536879107, NULL }, - { NULL, 4104, "0"}, - { "Checksum", 1610612741, NULL }, - { "checksum", 536879111, NULL }, - { NULL, 4104, "1"}, - { "CertTemplate", 1610612741, NULL }, - { "version", 1610637315, NULL }, - { NULL, 4104, "0"}, - { "issuer", 1610637314, "Name"}, - { NULL, 4104, "3"}, - { "validity", 536895491, NULL }, - { NULL, 4104, "4"}, - { "Name", 1610612754, NULL }, - { "rdnSequence", 2, "RDNSequence"}, - { "RDNSequence", 1073741826, "RelativeDistinguishedName"}, - { "RelativeDistinguishedName", 1612709903, NULL }, - { "MAX", 1074266122, "1"}, - { NULL, 2, "AttributeTypeAndValue"}, - { "AttributeTypeAndValue", 1610612741, NULL }, - { "type", 1073741826, "AttributeType"}, - { "value", 2, "AttributeValue"}, - { "AttributeType", 1073741836, NULL }, - { "AttributeValue", 1073741837, NULL }, - { "sequenceEmpty", 1610612741, NULL }, - { "int1", 1073741827, NULL }, - { "seq1", 1610620930, "Sequence_octetTest1"}, - { NULL, 4104, "1"}, - { "set1", 536879119, NULL }, - { NULL, 1073743880, "2"}, - { NULL, 3, NULL }, - { "IndefiniteLengthTest", 1610612741, NULL }, - { "seq1", 1610620930, "Sequence_octetTest1"}, - { NULL, 4104, "1"}, - { "set1", 1610612751, NULL }, - { NULL, 12, NULL }, - { "int1", 3, NULL }, - { "OidTest", 1610612741, NULL }, - { "oid3", 1610653708, NULL }, - { NULL, 1073741833, "id-Test"}, - { NULL, 4104, "3"}, - { "oid", 1610653708, NULL }, - { NULL, 1073741833, "id-anyTest2"}, - { NULL, 4104, "1"}, - { "oid2", 536911884, NULL }, - { NULL, 1073741833, "id-anyTest"}, - { NULL, 4104, "2"}, - { "OidAndTimeTest", 1610612741, NULL }, - { "set", 1610612751, NULL }, - { NULL, 3, NULL }, - { "oid", 1073741836, NULL }, - { "time2", 1082130449, NULL }, - { "bol", 1073741828, NULL }, - { "oct", 1073741831, NULL }, - { "bit", 1073758214, NULL }, - { "bol2", 1610645508, NULL }, - { NULL, 65545, NULL }, - { "enum", 1610907669, NULL }, - { NULL, 1073741833, "v1"}, - { "v1", 1073741825, "1"}, - { "v2", 1, "2"}, - { "any", 1610637325, NULL }, - { NULL, 4104, "1"}, - { "gen", 1073758235, NULL }, - { "time1", 16777233, NULL }, - { "SequenceTestTag", 1610612741, NULL }, - { "int1", 1610620931, NULL }, - { NULL, 2056, "2"}, - { "int2", 1610620931, NULL }, - { NULL, 4104, "3"}, - { "str1", 1610620959, NULL }, - { NULL, 4104, "1"}, - { "str2", 1073741856, NULL }, - { "str3", 536879136, NULL }, - { NULL, 2056, "2"}, - { "Sequence1", 1610612741, NULL }, - { "int1", 1610915843, NULL }, - { NULL, 1073741833, "v2"}, - { NULL, 1073745928, "0"}, - { "v1", 1073741825, "0"}, - { "v2", 1073741825, "1"}, - { "v3", 1, "2"}, - { "int2", 1073741827, NULL }, - { "seq", 1610612751, NULL }, - { NULL, 3, NULL }, - { "id", 1073741836, NULL }, - { "oct", 1073741831, NULL }, - { "any1", 541081613, NULL }, - { "id", 1, NULL }, - { "DHParameter", 1610612741, NULL }, - { "prime", 1073741827, NULL }, - { "base", 1073741827, NULL }, - { "privateValueLength", 16387, NULL }, - { "id-octetTest1", 1879048204, NULL }, - { NULL, 1073741825, "1"}, - { NULL, 1073741825, "2"}, - { NULL, 1073741825, "3"}, - { NULL, 1, "4"}, - { "Sequence_octetTest1", 1610612741, NULL }, - { "int", 16387, NULL }, - { "AnyTest2", 1610612754, NULL }, - { "str", 1073741831, NULL }, - { "int", 3, NULL }, - { "id-ic", 1879048204, NULL }, - { NULL, 1073741825, "2"}, - { NULL, 1, "5"}, - { "id-anyTest", 1879048204, NULL }, - { NULL, 1073741825, "id-ic"}, - { NULL, 1073741825, "29"}, - { NULL, 1, "1"}, - { "id-anyTest2", 1879048204, NULL }, - { NULL, 1073741825, "id-ic"}, - { NULL, 1073741825, "29"}, - { NULL, 1, "2"}, - { "anyTest2", 1073741827, NULL }, - { "VisibleString", 1610620935, NULL }, - { NULL, 4360, "26"}, - { "NumericString", 1610620935, NULL }, - { NULL, 4360, "18"}, - { "IA5String", 1610620935, NULL }, - { NULL, 4360, "22"}, - { "TeletexString", 1610620935, NULL }, - { NULL, 4360, "20"}, - { "PrintableString", 1610620935, NULL }, - { NULL, 4360, "19"}, - { "UniversalString", 1610620935, NULL }, - { NULL, 4360, "28"}, - { "BMPString", 1610620935, NULL }, - { NULL, 4360, "30"}, - { "UTF8String", 1610620935, NULL }, - { NULL, 4360, "12"}, - { "Test3", 1610612741, NULL }, - { "a", 1073741827, NULL }, - { "b", 536879106, "GeneralString2"}, - { NULL, 2056, "1"}, - { "GeneralString2", 1610620955, NULL }, - { NULL, 2056, "2"}, - { "X520LocalityName", 1610612754, NULL }, - { "teletexString", 1073741854, NULL }, - { "printableString", 1073741855, NULL }, - { "universalString", 1073741856, NULL }, - { "utf8String", 1073741858, NULL }, - { "bmpString", 33, NULL }, - { "id-Test", 805306380, NULL }, - { NULL, 1073741825, "1"}, - { NULL, 1073741825, "2"}, - { NULL, 1073741825, "29"}, - { NULL, 1, "2"}, - { NULL, 0, NULL } -}; diff --git a/tests/benchmark b/tests/benchmark deleted file mode 100755 index 478e7fb..0000000 --- a/tests/benchmark +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2006-2014 Free Software Foundation, Inc. -# -# Author: Simon Josefsson -# -# This file is part of LIBTASN1. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -set -e - -srcdir=${srcdir:-.} -ASN1DECODING=../src/asn1Decoding${EXEEXT} - -# The crlf.cer file is a normal certificate which contains bytes 0x0A -# (LF), 0x0D (CF), and 0xFF (EOF), all are known to cause failures -# when using fopen/fgetc/fscanf on streams on some systems (read: -# Windows). - -$ASN1DECODING \ - -b $srcdir/../examples/pkix.asn \ - $srcdir/crlf.cer \ - PKIX1Implicit88.Certificate diff --git a/tests/cert-invalid-time.der b/tests/cert-invalid-time.der Binary files differdeleted file mode 100644 index 994ea3f..0000000 --- a/tests/cert-invalid-time.der +++ /dev/null diff --git a/tests/choice.asn b/tests/choice.asn deleted file mode 100644 index b309204..0000000 --- a/tests/choice.asn +++ /dev/null @@ -1,23 +0,0 @@ -TEST {} -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -Choice2 ::= CHOICE { - oct1 OCTET STRING, - int1 [3] INTEGER, - oct2 OCTET STRING -} - -Choice1 ::= CHOICE { - int4 [0] INTEGER, - choice2 Choice2, - int5 [1] INTEGER -} - -Choice0 ::= CHOICE { - int6 [0] INTEGER, - choice1 Choice1, - int7 [1] INTEGER -} - -END diff --git a/tests/coding b/tests/coding deleted file mode 100755 index 922629b..0000000 --- a/tests/coding +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2017 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -srcdir="${srcdir:-.}" - -ASAN_OPTIONS="detect_leaks=0:exitcode=6" -export ASAN_OPTIONS - -if ! test -z "${VALGRIND}";then -VALGRIND="${LIBTOOL:-libtool} --mode=execute ${VALGRIND} --error-exitcode=7 --leak-check=no" -fi - -ASN1CODING="${ASN1CODING:-../src/asn1Coding$EXEEXT}" -ASN1PKIX="${ASN1PKIX:-pkix.asn}" -TMPFILE="asn1.$$.tmp" - -cat <<EOF >$TMPFILE -PKIX1 { } - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - -Dss-Sig-Value ::= SEQUENCE { - r INTEGER, - s INTEGER -} - -END -EOF - -$VALGRIND $ASN1CODING -c $TMPFILE ${srcdir}/invalid-assignments1.txt -if test $? != 1;then - echo "Encoding failed (1)" - exit 1 -fi - -$VALGRIND $ASN1CODING -c $TMPFILE ${srcdir}/invalid-assignments2.txt -if test $? != 1;then - echo "Encoding failed (2)" - exit 1 -fi - -rm -f $TMPFILE - -exit 0 diff --git a/tests/coding-decoding2.asn b/tests/coding-decoding2.asn deleted file mode 100644 index ee167a1..0000000 --- a/tests/coding-decoding2.asn +++ /dev/null @@ -1,30 +0,0 @@ -TEST {} -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -Choice2 ::= CHOICE { - oct1 OCTET STRING, - int1 [3] INTEGER, - oct2 OCTET STRING -} - - -Choice1 ::= CHOICE { - int4 [0] INTEGER, - choice2 Choice2, - int5 [1] INTEGER -} - -Choice0 ::= CHOICE { - int6 [0] INTEGER, - choice1 Choice1, - int7 [1] INTEGER -} - -Main ::= SEQUENCE { - pad1 INTEGER, - choice0 Choice0, - pad2 INTEGER -} - -END diff --git a/tests/coding-decoding2.c b/tests/coding-decoding2.c deleted file mode 100644 index e5d5f32..0000000 --- a/tests/coding-decoding2.c +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <libtasn1.h> - -int -main (int argc, char** argv) -{ - int result = 0; - asn1_node definitions = NULL, node1 = NULL, node2 = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *choicefile = getenv ("ASN1CODINGDECODING2"); - int start, end; - - char data[1024]; - int data_size = sizeof (data); - - if (!choicefile) - choicefile = "coding-decoding2.asn"; - - /* Encode */ - result = asn1_parser2tree (choicefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_create_element (definitions, "TEST.Main", &node1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "pad1", "\x01\x02\x03", 3); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "pad2", "\x00\x01", 2); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice0", "choice1", 1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice0.choice1", "choice2", 1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice0.choice1.choice2", "int1", 1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_write_value (node1, "choice0.choice1.choice2.int1", "1234", 0); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_der_coding (node1, "", data, &data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - /*asn1_print_structure(stdout, node1, "", ASN1_PRINT_ALL);*/ - - result = asn1_der_decoding_startEnd (node1, data, data_size, "choice0.choice1.choice2.int1", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End: %d\n", __LINE__); - exit (1); - } - if (start != 7 && end != 10) - { - printf("Error in start and end values for choice1.choice2.int1. Have: %d..%d\n", start, end); - exit(1); - } - - result = asn1_der_decoding_startEnd (node1, data, data_size, "choice0.choice1", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End: %d\n", __LINE__); - exit (1); - } - if (start != 7 && end != 10) - { - printf("Error in start and end values for choice1. Have: %d..%d\n", start, end); - exit(1); - } - - result = asn1_der_decoding_startEnd (node1, data, data_size, "pad2", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End\n"); - exit (1); - } - if (start != 11 && end != 13) - { - printf("Error in start and end values for pad2. Have: %d..%d\n", start, end); - exit(1); - } - - asn1_delete_structure (&node1); - - /* Decode */ - result = asn1_create_element (definitions, "TEST.Main", &node2); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - -#if 0 - printf ("der:"); - for (i = 0; i < data_size; i++) - printf ("%.2x ", (unsigned char) (data[i])); - printf ("\n"); -#endif - - result = asn1_der_decoding (&node2, data, data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - result = asn1_der_decoding_startEnd (node2, data, data_size, "choice0.choice1.choice2.int1", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End: %d\n", __LINE__); - exit (1); - } - if (start != 7 && end != 10) - { - printf("Error in start and end values for choice0.choice1.choice2.int1. Have: %d..%d\n", start, end); - exit(1); - } - - result = asn1_der_decoding_startEnd (node2, data, data_size, "pad2", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End: %d\n", __LINE__); - exit (1); - } - if (start != 11 && end != 13) - { - printf("Error in start and end values for pad2. Have: %d..%d\n", start, end); - exit(1); - } - - asn1_delete_structure (&node2); - asn1_delete_structure (&definitions); - - return 0; -} diff --git a/tests/coding-long-oid.c b/tests/coding-long-oid.c deleted file mode 100644 index 6031cf2..0000000 --- a/tests/coding-long-oid.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Copyright (C) 2016 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <libtasn1.h> - -/* This checks the decoding and re-encoding of OIDs which contain elements - * >= 2^32 bits. - */ - -const unsigned char der_data[] = - "\x30\x82\x06\xdc\x30\x82\x05\xc4\xa0\x03\x02\x01\x02\x02\x08\x35" - "\x73\x8c\xaf\x21\xea\xbd\x2d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7" - "\x0d\x01\x01\x05\x05\x00\x30\x81\x8e\x31\x0b\x30\x09\x06\x03\x55" - "\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x08\x13" - "\x0e\x4e\x6f\x72\x74\x68\x20\x43\x61\x72\x6f\x6c\x69\x6e\x61\x31" - "\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x52\x61\x6c\x65\x69\x67" - "\x68\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x4b\x61\x74\x65" - "\x6c\x6c\x6f\x31\x14\x30\x12\x06\x03\x55\x04\x0b\x13\x0b\x53\x6f" - "\x6d\x65\x4f\x72\x67\x55\x6e\x69\x74\x31\x2c\x30\x2a\x06\x03\x55" - "\x04\x03\x13\x23\x73\x61\x74\x2d\x72\x32\x32\x30\x2d\x31\x30\x2e" - "\x6c\x61\x62\x2e\x65\x6e\x67\x2e\x72\x64\x75\x32\x2e\x72\x65\x64" - "\x68\x61\x74\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x31\x36\x30\x37\x30" - "\x31\x31\x38\x35\x34\x31\x37\x5a\x17\x0d\x34\x39\x31\x32\x30\x31" - "\x31\x33\x30\x30\x30\x30\x5a\x30\x2b\x31\x29\x30\x27\x06\x03\x55" - "\x04\x03\x13\x20\x38\x61\x38\x38\x38\x30\x31\x37\x35\x35\x61\x37" - "\x63\x39\x30\x37\x30\x31\x35\x35\x61\x37\x63\x66\x62\x65\x33\x36" - "\x30\x30\x30\x34\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86" - "\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a" - "\x02\x82\x01\x01\x00\xdc\x70\x8b\x9c\x84\xe9\x3e\x79\x8f\x03\xe5" - "\x5f\x21\xf0\x29\x9e\xd9\x94\x4e\x0f\x37\x45\x47\x42\xda\x2a\xe0" - "\xda\xf5\x8b\xfa\xe1\xf8\x62\x51\x14\x9d\x9e\xe0\xc7\x69\xd0\x3d" - "\xfc\x25\x2f\xb6\x10\x45\xbd\x0d\xbc\x92\x86\x54\xbb\x4e\x7d\xd4" - "\x92\x75\x65\xba\x48\xa4\x64\xa1\xeb\xf7\xe7\xdc\xc0\xd7\x0a\x5e" - "\x36\x13\x0e\x4e\x35\xcc\x2c\xc6\xf3\xe7\xe7\xe5\x32\x8a\x0c\xf7" - "\x47\x28\x7a\x02\xc2\x68\x66\x19\x3a\xba\xca\x31\xe2\xdd\x43\xbe" - "\x26\x4c\x80\x12\x0c\xae\x44\x40\xeb\x69\x7d\x9e\x58\xd3\xab\xaf" - "\x69\xe6\x54\xae\x7d\x80\xee\x2c\x10\xe9\xbb\x5e\x6b\x89\x15\x2e" - "\x2c\x72\x26\xba\x7f\xe5\xa3\x66\xc5\x98\xc6\x57\xbf\x05\x1e\x55" - "\x93\xa6\x16\x83\xa6\x88\x79\x8f\x4e\xb5\x7e\x70\xeb\xf0\xa9\xa6" - "\xd5\xf9\x1f\xe6\xab\x70\x06\x43\xe0\xde\x82\xad\x0e\x04\x17\x2b" - "\x69\x82\x40\x98\x84\x14\x00\x2a\xa2\xda\x61\x7b\x35\xac\x71\x05" - "\x43\x6f\x55\x3a\x28\x4b\xd1\xa4\xeb\x3b\xf5\x03\xc2\xf8\x3c\xfd" - "\x0a\xc4\x99\x1d\xa7\x7d\x08\x5c\xd1\x15\x70\x73\xb9\xdc\x5c\xf2" - "\xfe\x2c\xc6\x21\x8a\xbe\xbd\x52\x37\x64\x04\xe5\x06\x3e\xc6\x62" - "\xa1\xe9\x8e\xcb\xc1\x02\x03\x01\x00\x01\xa3\x82\x03\x9e\x30\x82" - "\x03\x9a\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04" - "\x04\x03\x02\x05\xa0\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02" - "\x04\xb0\x30\x81\xc3\x06\x03\x55\x1d\x23\x04\x81\xbb\x30\x81\xb8" - "\x80\x14\xca\xca\x62\x86\x04\x05\xf0\xf5\x9b\x38\xd2\x2c\x3c\x8c" - "\x65\x0f\xc6\xba\xa5\x3c\xa1\x81\x94\xa4\x81\x91\x30\x81\x8e\x31" - "\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15" - "\x06\x03\x55\x04\x08\x13\x0e\x4e\x6f\x72\x74\x68\x20\x43\x61\x72" - "\x6f\x6c\x69\x6e\x61\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07" - "\x52\x61\x6c\x65\x69\x67\x68\x31\x10\x30\x0e\x06\x03\x55\x04\x0a" - "\x13\x07\x4b\x61\x74\x65\x6c\x6c\x6f\x31\x14\x30\x12\x06\x03\x55" - "\x04\x0b\x13\x0b\x53\x6f\x6d\x65\x4f\x72\x67\x55\x6e\x69\x74\x31" - "\x2c\x30\x2a\x06\x03\x55\x04\x03\x13\x23\x73\x61\x74\x2d\x72\x32" - "\x32\x30\x2d\x31\x30\x2e\x6c\x61\x62\x2e\x65\x6e\x67\x2e\x72\x64" - "\x75\x32\x2e\x72\x65\x64\x68\x61\x74\x2e\x63\x6f\x6d\x82\x09\x00" - "\xa4\xe7\xca\xeb\xbe\x43\x5d\xcc\x30\x1d\x06\x03\x55\x1d\x0e\x04" - "\x16\x04\x14\x0e\x8d\x7b\x53\xba\x5a\x9e\x92\x44\xe5\x64\x58\xa1" - "\xdb\x83\x47\x05\x3e\x32\xd3\x30\x13\x06\x03\x55\x1d\x25\x04\x0c" - "\x30\x0a\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x02\x30\x2a\x06\x10" - "\x2b\x06\x01\x04\x01\x92\x08\x09\x01\xaa\xda\xbe\xbe\xfa\x5b\x01" - "\x04\x16\x0c\x14\x6d\x6f\x72\x64\x6f\x72\x5f\x75\x65\x62\x65\x72" - "\x5f\x70\x72\x6f\x64\x75\x63\x74\x30\x16\x06\x10\x2b\x06\x01\x04" - "\x01\x92\x08\x09\x01\xaa\xda\xbe\xbe\xfa\x5b\x03\x04\x02\x0c\x00" - "\x30\x16\x06\x10\x2b\x06\x01\x04\x01\x92\x08\x09\x01\xaa\xda\xbe" - "\xbe\xfa\x5b\x02\x04\x02\x0c\x00\x30\x16\x06\x10\x2b\x06\x01\x04" - "\x01\x92\x08\x09\x01\xaa\xda\xbe\xbe\xfa\x5b\x05\x04\x02\x0c\x00" - "\x30\x19\x06\x10\x2b\x06\x01\x04\x01\x92\x08\x09\x02\xaa\xda\xbe" - "\xbe\xfa\x72\x01\x04\x05\x0c\x03\x79\x75\x6d\x30\x24\x06\x11\x2b" - "\x06\x01\x04\x01\x92\x08\x09\x02\xaa\xda\xbe\xbe\xfa\x72\x01\x01" - "\x04\x0f\x0c\x0d\x75\x65\x62\x65\x72\x5f\x63\x6f\x6e\x74\x65\x6e" - "\x74\x30\x32\x06\x11\x2b\x06\x01\x04\x01\x92\x08\x09\x02\xaa\xda" - "\xbe\xbe\xfa\x72\x01\x02\x04\x1d\x0c\x1b\x31\x34\x36\x37\x33\x39" - "\x39\x32\x35\x37\x34\x33\x35\x5f\x75\x65\x62\x65\x72\x5f\x63\x6f" - "\x6e\x74\x65\x6e\x74\x30\x1d\x06\x11\x2b\x06\x01\x04\x01\x92\x08" - "\x09\x02\xaa\xda\xbe\xbe\xfa\x72\x01\x05\x04\x08\x0c\x06\x43\x75" - "\x73\x74\x6f\x6d\x30\x1e\x06\x11\x2b\x06\x01\x04\x01\x92\x08\x09" - "\x02\xaa\xda\xbe\xbe\xfa\x72\x01\x06\x04\x09\x0c\x07\x2f\x6d\x6f" - "\x72\x64\x6f\x72\x30\x17\x06\x11\x2b\x06\x01\x04\x01\x92\x08\x09" - "\x02\xaa\xda\xbe\xbe\xfa\x72\x01\x07\x04\x02\x0c\x00\x30\x18\x06" - "\x11\x2b\x06\x01\x04\x01\x92\x08\x09\x02\xaa\xda\xbe\xbe\xfa\x72" - "\x01\x08\x04\x03\x0c\x01\x31\x30\x24\x06\x0a\x2b\x06\x01\x04\x01" - "\x92\x08\x09\x04\x01\x04\x16\x0c\x14\x6d\x6f\x72\x64\x6f\x72\x5f" - "\x75\x65\x62\x65\x72\x5f\x70\x72\x6f\x64\x75\x63\x74\x30\x10\x06" - "\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04\x02\x04\x02\x0c\x00\x30" - "\x1d\x06\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04\x03\x04\x0f\x0c" - "\x0d\x31\x34\x36\x37\x33\x39\x39\x32\x35\x37\x34\x33\x35\x30\x11" - "\x06\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04\x05\x04\x03\x0c\x01" - "\x31\x30\x24\x06\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04\x06\x04" - "\x16\x0c\x14\x32\x30\x31\x36\x2d\x30\x37\x2d\x30\x31\x54\x31\x38" - "\x3a\x35\x34\x3a\x31\x37\x5a\x30\x24\x06\x0a\x2b\x06\x01\x04\x01" - "\x92\x08\x09\x04\x07\x04\x16\x0c\x14\x32\x30\x34\x39\x2d\x31\x32" - "\x2d\x30\x31\x54\x31\x33\x3a\x30\x30\x3a\x30\x30\x5a\x30\x11\x06" - "\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04\x0c\x04\x03\x0c\x01\x30" - "\x30\x11\x06\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04\x0e\x04\x03" - "\x0c\x01\x30\x30\x11\x06\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x04" - "\x0b\x04\x03\x0c\x01\x31\x30\x34\x06\x0a\x2b\x06\x01\x04\x01\x92" - "\x08\x09\x05\x01\x04\x26\x0c\x24\x39\x34\x35\x33\x66\x38\x65\x36" - "\x2d\x38\x34\x62\x32\x2d\x34\x38\x32\x65\x2d\x61\x33\x65\x61\x2d" - "\x30\x31\x63\x33\x62\x33\x65\x32\x36\x36\x61\x35\x30\x0d\x06\x09" - "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00" - "\xf7\x4d\xf3\x30\x53\xcd\x35\xbf\x49\x07\x29\x9b\xf0\x7a\xaa\x49" - "\x60\xda\xce\x14\x45\xb5\x32\x8f\xda\xc3\xce\x6b\xec\xbf\x20\xc0" - "\x05\xa3\x3a\x89\xc4\x7d\x66\x34\xfc\xf3\x16\xb8\xf3\x03\xda\xfc" - "\x82\x4a\xb8\x97\xf8\x67\x3d\xc2\x8c\x78\xb4\x6d\xb8\xbb\x18\xec" - "\x36\xee\xc4\x28\x79\xda\xfe\xa1\x1f\xaf\x0b\x3f\xe4\x75\xde\x83" - "\xff\x6b\xf9\x11\x60\x09\x57\xea\x85\x34\xed\x60\xe2\x94\x8b\xd6" - "\xf2\x21\x9b\xda\x97\x99\xf3\x0d\xa9\x0f\xb5\x3b\x3a\x8f\x96\x8d" - "\x0b\xdf\x30\x17\x03\xe6\x47\xc3\x71\x32\x09\x18\xbc\xc0\xa9\x83" - "\x7e\xb7\x5f\x5c\xbb\xeb\x0a\x18\x3f\xa9\x40\x98\xae\x57\xab\x99" - "\x3d\x47\x1b\x98\x8a\xdc\x6e\x85\xa2\xea\x5e\x21\x80\xa9\xb5\x48" - "\xc9\x1d\x63\xc1\x1b\xe6\x01\xa1\xbd\x84\x38\x7f\x1a\x43\xa5\xd4" - "\x7f\x41\x5b\xf6\x88\x33\xb0\xf1\xb8\x8f\xe1\x39\x69\x6f\x60\x13" - "\xd3\x5d\x70\xde\x95\x0d\x2f\xa9\x89\x6c\xd4\x3a\xeb\x22\x59\xe6" - "\x31\x67\x71\xa5\xed\xfb\xcb\x20\x11\x0c\x31\x2e\xe0\x98\x9a\x3b" - "\x9c\x7b\xa2\x74\x6f\x87\x97\xa1\xd9\x82\x7f\x7d\x62\x6b\x45\x6c" - "\x0b\x5e\x25\x43\x8a\x20\x16\x7d\xe5\x84\x18\x3f\x7c\xda\xfc\xf9"; - -int der_data_size = sizeof(der_data)-1; - -char new_data[4*1024]; - -int -main (int argc, char** argv) -{ - int result = 0; - asn1_node definitions = NULL, node1 = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *pkixfile = getenv ("ASN1PKIX"); - int new_data_size; - - if (!pkixfile) - pkixfile = "pkix.asn"; - - /* Encode */ - result = asn1_parser2tree (pkixfile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - result = asn1_create_element (definitions, "PKIX1.Certificate", &node1); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - result = asn1_der_decoding (&node1, der_data, der_data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - new_data_size = sizeof(new_data); - result = asn1_der_coding (node1, "", new_data, &new_data_size, errorDescription); - if (result != ASN1_SUCCESS) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - if (new_data_size != der_data_size) - { - printf ("error in %d\n", __LINE__); - printf ("new_size is %d, expected: %d\n", new_data_size, der_data_size); - exit (1); - } - - if (memcmp(new_data, der_data, der_data_size) != 0) - { - printf ("error in %d\n", __LINE__); - exit (1); - } - - asn1_delete_structure (&node1); - asn1_delete_structure (&definitions); - - return 0; -} diff --git a/tests/copynode.c b/tests/copynode.c deleted file mode 100644 index 29a8a51..0000000 --- a/tests/copynode.c +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -/*****************************************************/ -/* File: Test_tree.c */ -/* Description: Test sequences for these functions: */ -/* asn1_visit_tree, */ -/* asn1_create_element, */ -/* asn1_delete_structure, */ -/* asn1_write_value, */ -/* asn1_read_value, */ -/*****************************************************/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "libtasn1.h" - - - -int -main (int argc, char *argv[]) -{ - int result; - char buffer[5 * 1024]; - char buffer2[5 * 1024]; - asn1_node definitions = NULL; - asn1_node asn1_element = NULL, cpy_node = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - FILE *out, *fd; - int start, end; - ssize_t size; - int size2; - const char *treefile = getenv ("ASN1PKIX"); - const char *derfile = getenv ("ASN1CRLDER"); - int verbose = 0; - - if (argc > 1) - verbose = 1; - - if (!treefile) - treefile = "pkix.asn"; - - if (!derfile) - derfile = "crl.der"; - - if (verbose) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : Test_indefinite */\n"); - printf ("/****************************************/\n\n"); - printf ("ASN1TREE: %s\n", treefile); - } - - /* Check version */ - if (asn1_check_version ("0.3.3") == NULL) - printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", - asn1_check_version (NULL)); - - result = asn1_parser2tree (treefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - out = stdout; - - fd = fopen (derfile, "rb"); - if (fd == NULL) - { - printf ("Cannot read file %s\n", derfile); - exit (1); - } - size = fread (buffer, 1, sizeof (buffer), fd); - if (size <= 0) - { - printf ("Cannot read from file %s\n", derfile); - exit (1); - } - - fclose (fd); - - result = - asn1_create_element (definitions, "PKIX1.CertificateList", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create CRL element\n"); - exit (1); - } - - result = asn1_der_decoding (&asn1_element, buffer, size, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot decode DER data (size %ld)\n", (long) size); - exit (1); - } - - /* test asn1_copy_node */ - result = - asn1_create_element (definitions, "PKIX1.CertificateList", &cpy_node); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create CRL element\n"); - exit (1); - } - - result = asn1_copy_node(cpy_node, "", asn1_element, ""); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot copy node\n"); - exit (1); - } - - /* test whether the copied node encodes the same */ - size2 = sizeof(buffer2); - result = asn1_der_coding (cpy_node, "", buffer2, &size2, NULL); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot encode data (size %ld)\n", (long) size); - exit (1); - } - - if (size2 != size || memcmp(buffer, buffer2, size) != 0) - { - printf("DER encoded data differ!\n"); - exit(1); - } - - asn1_delete_structure (&cpy_node); - - /* Test asn1_dup_node */ - cpy_node = asn1_dup_node(asn1_element, ""); - if (cpy_node == NULL) - { - printf ("Cannot copy node (dup_node)\n"); - exit (1); - } - - /* test whether the copied node encodes the same */ - size2 = sizeof(buffer2); - result = asn1_der_coding (cpy_node, "", buffer2, &size2, NULL); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot encode data (size %ld)\n", (long) size); - exit (1); - } - - if (size2 != size || memcmp(buffer, buffer2, size) != 0) - { - printf("DER encoded data differ!\n"); - exit(1); - } - - result = asn1_der_decoding_startEnd (asn1_element, buffer, size, "tbsCertList.issuer", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End\n"); - exit (1); - } - if (start != 24 && end != 291) - { - printf("Error in start and end values for issuer. Have: %d..%d\n", start, end); - exit(1); - } - - result = asn1_der_decoding_startEnd (asn1_element, buffer, size, "signature", &start, &end); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot find start End\n"); - exit (1); - } - if (start != 372 && end != 503) - { - printf("Error in start and end values for signature. Have: %d..%d\n", start, end); - exit(1); - } - - /* Clear the definition structures */ - asn1_delete_structure (&asn1_element); - asn1_delete_structure (&cpy_node); - asn1_delete_structure (&definitions); - - if (out != stdout) - fclose (out); - - exit (0); -} diff --git a/tests/crl.der b/tests/crl.der Binary files differdeleted file mode 100644 index 7ab7752..0000000 --- a/tests/crl.der +++ /dev/null diff --git a/tests/crlf b/tests/crlf deleted file mode 100755 index 54a3199..0000000 --- a/tests/crlf +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2006-2014 Free Software Foundation, Inc. -# -# Author: Simon Josefsson -# -# This file is part of LIBTASN1. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -set -e - -srcdir=${srcdir:-.} -ASN1DECODING=../src/asn1Decoding${EXEEXT} - -# The crlf.cer file is a normal certificate which contains bytes 0x0A -# (LF), 0x0D (CF), and 0xFF (EOF), all are known to cause failures -# when using fopen/fgetc/fscanf on streams on some systems (read: -# Windows). - -$ASN1DECODING \ - $srcdir/../examples/pkix.asn \ - $srcdir/crlf.cer \ - PKIX1Implicit88.Certificate >/dev/null 2>&1 diff --git a/tests/crlf.cer b/tests/crlf.cer Binary files differdeleted file mode 100644 index 534e7e6..0000000 --- a/tests/crlf.cer +++ /dev/null diff --git a/tests/decoding b/tests/decoding deleted file mode 100755 index 6dccb1c..0000000 --- a/tests/decoding +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2015 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -srcdir="${srcdir:-.}" - -if ! test -z "${VALGRIND}";then -VALGRIND="${LIBTOOL:-libtool} --mode=execute ${VALGRIND} --error-exitcode=7 --leak-check=no" -fi - -ASN1DECODING="${ASN1DECODING:-../src/asn1Decoding$EXEEXT}" -ASN1PKIX="${ASN1PKIX:-pkix.asn}" - -$VALGRIND $ASN1DECODING $ASN1PKIX ${srcdir}/TestCertOctetOverflow.der PKIX1.Certificate -if test $? != 1;then - echo "Decoding failed" - exit 1 -fi - -# test decoding of certificate with invalid time field -$VALGRIND $ASN1DECODING -s $ASN1PKIX ${srcdir}/cert-invalid-time.der PKIX1.Certificate -if test $? != 1;then - echo "Decoding with invalid time succeeded when not expected" - exit 1 -fi - -# test decoding of certificate with invalid time field -$VALGRIND $ASN1DECODING -t $ASN1PKIX ${srcdir}/cert-invalid-time.der PKIX1.Certificate -if test $? != 0;then - echo "Decoding with invalid time failed when not expected" - exit 1 -fi - -exit 0 diff --git a/tests/decoding-invalid-pkcs7 b/tests/decoding-invalid-pkcs7 deleted file mode 100755 index b91d725..0000000 --- a/tests/decoding-invalid-pkcs7 +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2017 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -srcdir="${srcdir:-.}" - -if ! test -z "${VALGRIND}";then -VALGRIND="${LIBTOOL:-libtool} --mode=execute ${VALGRIND} --error-exitcode=7 --leak-check=no" -fi -TMPFILE=decoding-invalid.$$.tmp -ASN1DECODING="${ASN1DECODING:-../src/asn1Decoding$EXEEXT}" -ASN1PKIX="${ASN1PKIX:-pkix.asn}" - -# This tests an invalid input which caused an infinite recursion -# to certain libtasn1 versions. - -for i in "${srcdir}/invalid-pkcs7/"*.der;do -$VALGRIND $ASN1DECODING "$ASN1PKIX" "$i" PKIX1.pkcs-7-ContentInfo >$TMPFILE 2>&1 -ret=$? -if test $ret != 1;then - echo "Decoding failed for $i" - cat $TMPFILE - exit 1 -fi -echo "$(basename $i): ok" -done - -rm -f $TMPFILE - -exit 0 diff --git a/tests/decoding-invalid-x509 b/tests/decoding-invalid-x509 deleted file mode 100755 index 904cda7..0000000 --- a/tests/decoding-invalid-x509 +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2016 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -srcdir="${srcdir:-.}" - -if ! test -z "${VALGRIND}";then -VALGRIND="${LIBTOOL:-libtool} --mode=execute ${VALGRIND} --error-exitcode=7 --leak-check=no" -fi -TMPFILE=decoding-invalid.$$.tmp -ASN1DECODING="${ASN1DECODING:-../src/asn1Decoding$EXEEXT}" -ASN1PKIX="${ASN1PKIX:-pkix.asn}" - -# This tests an invalid input which caused an infinite recursion -# to certain libtasn1 versions. - -for i in "${srcdir}/invalid-x509/"*.der;do -$VALGRIND $ASN1DECODING "$ASN1PKIX" "$i" PKIX1.Certificate >$TMPFILE 2>&1 -ret=$? -if test $ret != 1;then - echo "Decoding failed for $i" - cat $TMPFILE - exit 1 -fi -echo "$(basename $i): ok" -done - -rm -f $TMPFILE - -exit 0 diff --git a/tests/invalid-assignments1.txt b/tests/invalid-assignments1.txt deleted file mode 100644 index 4b78266..0000000 --- a/tests/invalid-assignments1.txt +++ /dev/null @@ -1 +0,0 @@ -dp ?CIX1-V÷÷Kçrú÷÷÷alxeKIX1ãããi‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰g-VãþãããããKIX1.ããããããIsÿg-V÷÷Kçr÷÷÷÷-V
\ No newline at end of file diff --git a/tests/invalid-assignments2.txt b/tests/invalid-assignments2.txt Binary files differdeleted file mode 100644 index 49933e5..0000000 --- a/tests/invalid-assignments2.txt +++ /dev/null diff --git a/tests/invalid-pkcs7/id-000001.der b/tests/invalid-pkcs7/id-000001.der Binary files differdeleted file mode 100644 index 6c91a25..0000000 --- a/tests/invalid-pkcs7/id-000001.der +++ /dev/null diff --git a/tests/invalid-pkcs7/id-000002.der b/tests/invalid-pkcs7/id-000002.der Binary files differdeleted file mode 100644 index 9c38f9f..0000000 --- a/tests/invalid-pkcs7/id-000002.der +++ /dev/null diff --git a/tests/invalid-pkcs7/id-000003.der b/tests/invalid-pkcs7/id-000003.der Binary files differdeleted file mode 100644 index 06f6f9c..0000000 --- a/tests/invalid-pkcs7/id-000003.der +++ /dev/null diff --git a/tests/invalid-x509/id-000000.der b/tests/invalid-x509/id-000000.der Binary files differdeleted file mode 100644 index 6fb540a..0000000 --- a/tests/invalid-x509/id-000000.der +++ /dev/null diff --git a/tests/invalid-x509/id-000001.der b/tests/invalid-x509/id-000001.der Binary files differdeleted file mode 100644 index 371a2a0..0000000 --- a/tests/invalid-x509/id-000001.der +++ /dev/null diff --git a/tests/invalid-x509/id-000002.der b/tests/invalid-x509/id-000002.der Binary files differdeleted file mode 100644 index 7e3b13c..0000000 --- a/tests/invalid-x509/id-000002.der +++ /dev/null diff --git a/tests/invalid-x509/id-000003.der b/tests/invalid-x509/id-000003.der Binary files differdeleted file mode 100644 index a8e3b43..0000000 --- a/tests/invalid-x509/id-000003.der +++ /dev/null diff --git a/tests/invalid-x509/id-000004.der b/tests/invalid-x509/id-000004.der Binary files differdeleted file mode 100644 index 22f4f28..0000000 --- a/tests/invalid-x509/id-000004.der +++ /dev/null diff --git a/tests/invalid-x509/id-000005.der b/tests/invalid-x509/id-000005.der Binary files differdeleted file mode 100644 index fb491cd..0000000 --- a/tests/invalid-x509/id-000005.der +++ /dev/null diff --git a/tests/invalid-x509/id-000006.der b/tests/invalid-x509/id-000006.der Binary files differdeleted file mode 100644 index 56380db..0000000 --- a/tests/invalid-x509/id-000006.der +++ /dev/null diff --git a/tests/invalid-x509/id-000007.der b/tests/invalid-x509/id-000007.der Binary files differdeleted file mode 100644 index e788a77..0000000 --- a/tests/invalid-x509/id-000007.der +++ /dev/null diff --git a/tests/invalid-x509/id-000008.der b/tests/invalid-x509/id-000008.der Binary files differdeleted file mode 100644 index 172eb85..0000000 --- a/tests/invalid-x509/id-000008.der +++ /dev/null diff --git a/tests/invalid-x509/id-000009.der b/tests/invalid-x509/id-000009.der Binary files differdeleted file mode 100644 index 178c8c3..0000000 --- a/tests/invalid-x509/id-000009.der +++ /dev/null diff --git a/tests/invalid-x509/id-000010.der b/tests/invalid-x509/id-000010.der Binary files differdeleted file mode 100644 index 9879226..0000000 --- a/tests/invalid-x509/id-000010.der +++ /dev/null diff --git a/tests/invalid-x509/id-000011.der b/tests/invalid-x509/id-000011.der Binary files differdeleted file mode 100644 index dffe303..0000000 --- a/tests/invalid-x509/id-000011.der +++ /dev/null diff --git a/tests/invalid-x509/id-000012.der b/tests/invalid-x509/id-000012.der Binary files differdeleted file mode 100644 index cdbcfa0..0000000 --- a/tests/invalid-x509/id-000012.der +++ /dev/null diff --git a/tests/invalid-x509/id-000013.der b/tests/invalid-x509/id-000013.der Binary files differdeleted file mode 100644 index d28df0e..0000000 --- a/tests/invalid-x509/id-000013.der +++ /dev/null diff --git a/tests/invalid-x509/id-000014.der b/tests/invalid-x509/id-000014.der Binary files differdeleted file mode 100644 index 5886113..0000000 --- a/tests/invalid-x509/id-000014.der +++ /dev/null diff --git a/tests/invalid-x509/id-000015.der b/tests/invalid-x509/id-000015.der Binary files differdeleted file mode 100644 index aa78dbe..0000000 --- a/tests/invalid-x509/id-000015.der +++ /dev/null diff --git a/tests/invalid-x509/id-000016.der b/tests/invalid-x509/id-000016.der Binary files differdeleted file mode 100644 index 93c221d..0000000 --- a/tests/invalid-x509/id-000016.der +++ /dev/null diff --git a/tests/invalid-x509/id-000017.der b/tests/invalid-x509/id-000017.der Binary files differdeleted file mode 100644 index ff2d6a1..0000000 --- a/tests/invalid-x509/id-000017.der +++ /dev/null diff --git a/tests/invalid-x509/id-000018.der b/tests/invalid-x509/id-000018.der Binary files differdeleted file mode 100644 index 1482e61..0000000 --- a/tests/invalid-x509/id-000018.der +++ /dev/null diff --git a/tests/invalid-x509/id-000019.der b/tests/invalid-x509/id-000019.der Binary files differdeleted file mode 100644 index 8760ec6..0000000 --- a/tests/invalid-x509/id-000019.der +++ /dev/null diff --git a/tests/invalid-x509/id-000020.der b/tests/invalid-x509/id-000020.der Binary files differdeleted file mode 100644 index 59238f8..0000000 --- a/tests/invalid-x509/id-000020.der +++ /dev/null diff --git a/tests/invalid-x509/id-000021.der b/tests/invalid-x509/id-000021.der Binary files differdeleted file mode 100644 index 93e9b9d..0000000 --- a/tests/invalid-x509/id-000021.der +++ /dev/null diff --git a/tests/invalid-x509/id-000022.der b/tests/invalid-x509/id-000022.der Binary files differdeleted file mode 100644 index 6d5a977..0000000 --- a/tests/invalid-x509/id-000022.der +++ /dev/null diff --git a/tests/invalid-x509/id-000023.der b/tests/invalid-x509/id-000023.der Binary files differdeleted file mode 100644 index 288f69b..0000000 --- a/tests/invalid-x509/id-000023.der +++ /dev/null diff --git a/tests/invalid-x509/id-000024.der b/tests/invalid-x509/id-000024.der Binary files differdeleted file mode 100644 index 69c9e61..0000000 --- a/tests/invalid-x509/id-000024.der +++ /dev/null diff --git a/tests/invalid-x509/id-000025.der b/tests/invalid-x509/id-000025.der Binary files differdeleted file mode 100644 index 0e5dce4..0000000 --- a/tests/invalid-x509/id-000025.der +++ /dev/null diff --git a/tests/invalid-x509/id-000026.der b/tests/invalid-x509/id-000026.der Binary files differdeleted file mode 100644 index ffe5d9f..0000000 --- a/tests/invalid-x509/id-000026.der +++ /dev/null diff --git a/tests/invalid-x509/id-000027.der b/tests/invalid-x509/id-000027.der Binary files differdeleted file mode 100644 index dfe00cc..0000000 --- a/tests/invalid-x509/id-000027.der +++ /dev/null diff --git a/tests/invalid-x509/id-000028.der b/tests/invalid-x509/id-000028.der Binary files differdeleted file mode 100644 index 88bd1e3..0000000 --- a/tests/invalid-x509/id-000028.der +++ /dev/null diff --git a/tests/invalid-x509/id-000029.der b/tests/invalid-x509/id-000029.der Binary files differdeleted file mode 100644 index 4fdd0e9..0000000 --- a/tests/invalid-x509/id-000029.der +++ /dev/null diff --git a/tests/invalid-x509/id-000030.der b/tests/invalid-x509/id-000030.der Binary files differdeleted file mode 100644 index cd22250..0000000 --- a/tests/invalid-x509/id-000030.der +++ /dev/null diff --git a/tests/invalid-x509/id-000031.der b/tests/invalid-x509/id-000031.der Binary files differdeleted file mode 100644 index 78e606a..0000000 --- a/tests/invalid-x509/id-000031.der +++ /dev/null diff --git a/tests/invalid-x509/id-000032.der b/tests/invalid-x509/id-000032.der Binary files differdeleted file mode 100644 index 107964e..0000000 --- a/tests/invalid-x509/id-000032.der +++ /dev/null diff --git a/tests/invalid-x509/id-000033.der b/tests/invalid-x509/id-000033.der Binary files differdeleted file mode 100644 index b0db73f..0000000 --- a/tests/invalid-x509/id-000033.der +++ /dev/null diff --git a/tests/invalid-x509/id-000034.der b/tests/invalid-x509/id-000034.der Binary files differdeleted file mode 100644 index 35d7079..0000000 --- a/tests/invalid-x509/id-000034.der +++ /dev/null diff --git a/tests/invalid-x509/id-000035.der b/tests/invalid-x509/id-000035.der Binary files differdeleted file mode 100644 index 6fb540a..0000000 --- a/tests/invalid-x509/id-000035.der +++ /dev/null diff --git a/tests/invalid-x509/id:000002,orig:TFPA-2015-002-libtasn1-4.3-stack-overflow.crt.der b/tests/invalid-x509/id:000002,orig:TFPA-2015-002-libtasn1-4.3-stack-overflow.crt.der Binary files differdeleted file mode 100644 index 619b44b..0000000 --- a/tests/invalid-x509/id:000002,orig:TFPA-2015-002-libtasn1-4.3-stack-overflow.crt.der +++ /dev/null diff --git a/tests/invalid-x509/id:000047,orig:id:000009,src:000044,op:havoc,rep:2.der b/tests/invalid-x509/id:000047,orig:id:000009,src:000044,op:havoc,rep:2.der deleted file mode 100644 index f51592f..0000000 --- a/tests/invalid-x509/id:000047,orig:id:000009,src:000044,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -0²a
\ No newline at end of file diff --git a/tests/invalid-x509/id:000116,orig:id:000026,src:000000,op:havoc,rep:32,+cov.der b/tests/invalid-x509/id:000116,orig:id:000026,src:000000,op:havoc,rep:32,+cov.der deleted file mode 100644 index 20279f8..0000000 --- a/tests/invalid-x509/id:000116,orig:id:000026,src:000000,op:havoc,rep:32,+cov.der +++ /dev/null @@ -1 +0,0 @@ -ÿÿÿÿ™¥ã
\ No newline at end of file diff --git a/tests/invalid-x509/id:000164,orig:id:000038,src:000000,op:havoc,rep:64,+cov.der b/tests/invalid-x509/id:000164,orig:id:000038,src:000000,op:havoc,rep:64,+cov.der deleted file mode 100644 index 58930ba..0000000 --- a/tests/invalid-x509/id:000164,orig:id:000038,src:000000,op:havoc,rep:64,+cov.der +++ /dev/null @@ -1 +0,0 @@ -ÿ¡¡¡¡¡¡¡ã
\ No newline at end of file diff --git a/tests/invalid-x509/id:000168,orig:id:000039,src:000000,op:havoc,rep:128.der b/tests/invalid-x509/id:000168,orig:id:000039,src:000000,op:havoc,rep:128.der Binary files differdeleted file mode 100644 index c10aed4..0000000 --- a/tests/invalid-x509/id:000168,orig:id:000039,src:000000,op:havoc,rep:128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000170,orig:id:000040,src:000061,op:havoc,rep:4.der b/tests/invalid-x509/id:000170,orig:id:000040,src:000061,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index a942ed4..0000000 --- a/tests/invalid-x509/id:000170,orig:id:000040,src:000061,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:000190,orig:id:000045,src:000019+000093,op:splice,rep:2.der b/tests/invalid-x509/id:000190,orig:id:000045,src:000019+000093,op:splice,rep:2.der Binary files differdeleted file mode 100644 index e298c82..0000000 --- a/tests/invalid-x509/id:000190,orig:id:000045,src:000019+000093,op:splice,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000200,orig:id:000048,src:000035+000050,op:splice,rep:2.der b/tests/invalid-x509/id:000200,orig:id:000048,src:000035+000050,op:splice,rep:2.der deleted file mode 100644 index be2a897..0000000 --- a/tests/invalid-x509/id:000200,orig:id:000048,src:000035+000050,op:splice,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -0ÀT
\ No newline at end of file diff --git a/tests/invalid-x509/id:000204,orig:id:000049,src:000004,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000204,orig:id:000049,src:000004,op:havoc,rep:2,+cov.der deleted file mode 100644 index e57e6cf..0000000 --- a/tests/invalid-x509/id:000204,orig:id:000049,src:000004,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -0À
\ No newline at end of file diff --git a/tests/invalid-x509/id:000231,orig:id:000061,src:000036,op:havoc,rep:16.der b/tests/invalid-x509/id:000231,orig:id:000061,src:000036,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 17ee4de..0000000 --- a/tests/invalid-x509/id:000231,orig:id:000061,src:000036,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:000243,orig:id:000067,src:000039,op:havoc,rep:2.der b/tests/invalid-x509/id:000243,orig:id:000067,src:000039,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 2ae72af..0000000 --- a/tests/invalid-x509/id:000243,orig:id:000067,src:000039,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000247,orig:id:000069,src:000039,op:havoc,rep:2.der b/tests/invalid-x509/id:000247,orig:id:000069,src:000039,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 2799094..0000000 --- a/tests/invalid-x509/id:000247,orig:id:000069,src:000039,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000294,orig:id:000096,src:000062,op:havoc,rep:2.der b/tests/invalid-x509/id:000294,orig:id:000096,src:000062,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index ea4e9ca..0000000 --- a/tests/invalid-x509/id:000294,orig:id:000096,src:000062,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000297,orig:id:000099,src:000097,op:havoc,rep:4.der b/tests/invalid-x509/id:000297,orig:id:000099,src:000097,op:havoc,rep:4.der deleted file mode 100644 index a7a1d60..0000000 --- a/tests/invalid-x509/id:000297,orig:id:000099,src:000097,op:havoc,rep:4.der +++ /dev/null @@ -1 +0,0 @@ -?€€€‡‡‡‡†ã
\ No newline at end of file diff --git a/tests/invalid-x509/id:000310,orig:id:000112,src:000102,op:havoc,rep:4.der b/tests/invalid-x509/id:000310,orig:id:000112,src:000102,op:havoc,rep:4.der deleted file mode 100644 index 17ec5cd..0000000 --- a/tests/invalid-x509/id:000310,orig:id:000112,src:000102,op:havoc,rep:4.der +++ /dev/null @@ -1 +0,0 @@ -?€€€ÿ‡‡†‡˜aã
\ No newline at end of file diff --git a/tests/invalid-x509/id:000327,orig:id:000129,src:000112,op:havoc,rep:2.der b/tests/invalid-x509/id:000327,orig:id:000129,src:000112,op:havoc,rep:2.der deleted file mode 100644 index c343d6e..0000000 --- a/tests/invalid-x509/id:000327,orig:id:000129,src:000112,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -?€€€€ÿ‡‡†ÿ˜aã€aã
\ No newline at end of file diff --git a/tests/invalid-x509/id:000334,orig:id:000136,src:000016+000011,op:splice,rep:8,+cov.der b/tests/invalid-x509/id:000334,orig:id:000136,src:000016+000011,op:splice,rep:8,+cov.der deleted file mode 100644 index e0c9ec9..0000000 --- a/tests/invalid-x509/id:000334,orig:id:000136,src:000016+000011,op:splice,rep:8,+cov.der +++ /dev/null @@ -1 +0,0 @@ -0ÿÿÿû
\ No newline at end of file diff --git a/tests/invalid-x509/id:000344,src:000001,op:flip1,pos:6,+cov.der b/tests/invalid-x509/id:000344,src:000001,op:flip1,pos:6,+cov.der Binary files differdeleted file mode 100644 index cd7d0dd..0000000 --- a/tests/invalid-x509/id:000344,src:000001,op:flip1,pos:6,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000347,src:000001,op:flip1,pos:8,+cov.der b/tests/invalid-x509/id:000347,src:000001,op:flip1,pos:8,+cov.der Binary files differdeleted file mode 100644 index 30ecdae..0000000 --- a/tests/invalid-x509/id:000347,src:000001,op:flip1,pos:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000359,src:000001,op:flip1,pos:21,+cov.der b/tests/invalid-x509/id:000359,src:000001,op:flip1,pos:21,+cov.der Binary files differdeleted file mode 100644 index 1205344..0000000 --- a/tests/invalid-x509/id:000359,src:000001,op:flip1,pos:21,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000396,src:000001,op:flip1,pos:104.der b/tests/invalid-x509/id:000396,src:000001,op:flip1,pos:104.der Binary files differdeleted file mode 100644 index eb57fa0..0000000 --- a/tests/invalid-x509/id:000396,src:000001,op:flip1,pos:104.der +++ /dev/null diff --git a/tests/invalid-x509/id:000398,src:000001,op:flip1,pos:104,+cov.der b/tests/invalid-x509/id:000398,src:000001,op:flip1,pos:104,+cov.der Binary files differdeleted file mode 100644 index 5c21be9..0000000 --- a/tests/invalid-x509/id:000398,src:000001,op:flip1,pos:104,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000399,src:000001,op:flip1,pos:104.der b/tests/invalid-x509/id:000399,src:000001,op:flip1,pos:104.der Binary files differdeleted file mode 100644 index d4334e0..0000000 --- a/tests/invalid-x509/id:000399,src:000001,op:flip1,pos:104.der +++ /dev/null diff --git a/tests/invalid-x509/id:000415,src:000001,op:flip1,pos:228,+cov.der b/tests/invalid-x509/id:000415,src:000001,op:flip1,pos:228,+cov.der Binary files differdeleted file mode 100644 index 05c5274..0000000 --- a/tests/invalid-x509/id:000415,src:000001,op:flip1,pos:228,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000438,src:000001,op:flip1,pos:573.der b/tests/invalid-x509/id:000438,src:000001,op:flip1,pos:573.der Binary files differdeleted file mode 100644 index 2bbd821..0000000 --- a/tests/invalid-x509/id:000438,src:000001,op:flip1,pos:573.der +++ /dev/null diff --git a/tests/invalid-x509/id:000444,src:000001,op:flip1,pos:583,+cov.der b/tests/invalid-x509/id:000444,src:000001,op:flip1,pos:583,+cov.der Binary files differdeleted file mode 100644 index d5bc603..0000000 --- a/tests/invalid-x509/id:000444,src:000001,op:flip1,pos:583,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000459,src:000001,op:flip2,pos:23,+cov.der b/tests/invalid-x509/id:000459,src:000001,op:flip2,pos:23,+cov.der Binary files differdeleted file mode 100644 index 7a2b5f8..0000000 --- a/tests/invalid-x509/id:000459,src:000001,op:flip2,pos:23,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000469,src:000001,op:flip2,pos:542,+cov.der b/tests/invalid-x509/id:000469,src:000001,op:flip2,pos:542,+cov.der Binary files differdeleted file mode 100644 index fbfd384..0000000 --- a/tests/invalid-x509/id:000469,src:000001,op:flip2,pos:542,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000470,src:000001,op:flip2,pos:544.der b/tests/invalid-x509/id:000470,src:000001,op:flip2,pos:544.der Binary files differdeleted file mode 100644 index 1772877..0000000 --- a/tests/invalid-x509/id:000470,src:000001,op:flip2,pos:544.der +++ /dev/null diff --git a/tests/invalid-x509/id:000473,src:000001,op:flip2,pos:714.der b/tests/invalid-x509/id:000473,src:000001,op:flip2,pos:714.der Binary files differdeleted file mode 100644 index 049844f..0000000 --- a/tests/invalid-x509/id:000473,src:000001,op:flip2,pos:714.der +++ /dev/null diff --git a/tests/invalid-x509/id:000476,src:000001,op:flip2,pos:739.der b/tests/invalid-x509/id:000476,src:000001,op:flip2,pos:739.der Binary files differdeleted file mode 100644 index 9175e8d..0000000 --- a/tests/invalid-x509/id:000476,src:000001,op:flip2,pos:739.der +++ /dev/null diff --git a/tests/invalid-x509/id:000478,src:000001,op:flip4,pos:21.der b/tests/invalid-x509/id:000478,src:000001,op:flip4,pos:21.der Binary files differdeleted file mode 100644 index 8619342..0000000 --- a/tests/invalid-x509/id:000478,src:000001,op:flip4,pos:21.der +++ /dev/null diff --git a/tests/invalid-x509/id:000487,src:000001,op:flip4,pos:739.der b/tests/invalid-x509/id:000487,src:000001,op:flip4,pos:739.der Binary files differdeleted file mode 100644 index 3b64f12..0000000 --- a/tests/invalid-x509/id:000487,src:000001,op:flip4,pos:739.der +++ /dev/null diff --git a/tests/invalid-x509/id:000492,src:000001,op:flip8,pos:36,+cov.der b/tests/invalid-x509/id:000492,src:000001,op:flip8,pos:36,+cov.der Binary files differdeleted file mode 100644 index 42a84c7..0000000 --- a/tests/invalid-x509/id:000492,src:000001,op:flip8,pos:36,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000503,src:000001,op:arith8,pos:104,val:-17,+cov.der b/tests/invalid-x509/id:000503,src:000001,op:arith8,pos:104,val:-17,+cov.der Binary files differdeleted file mode 100644 index 9dc2885..0000000 --- a/tests/invalid-x509/id:000503,src:000001,op:arith8,pos:104,val:-17,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000505,src:000001,op:arith8,pos:174,val:+35.der b/tests/invalid-x509/id:000505,src:000001,op:arith8,pos:174,val:+35.der Binary files differdeleted file mode 100644 index c8819b5..0000000 --- a/tests/invalid-x509/id:000505,src:000001,op:arith8,pos:174,val:+35.der +++ /dev/null diff --git a/tests/invalid-x509/id:000508,src:000001,op:arith8,pos:503,val:+3,+cov.der b/tests/invalid-x509/id:000508,src:000001,op:arith8,pos:503,val:+3,+cov.der Binary files differdeleted file mode 100644 index 4c3f1cf..0000000 --- a/tests/invalid-x509/id:000508,src:000001,op:arith8,pos:503,val:+3,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000509,src:000001,op:arith8,pos:506,val:+3,+cov.der b/tests/invalid-x509/id:000509,src:000001,op:arith8,pos:506,val:+3,+cov.der Binary files differdeleted file mode 100644 index 1f607da..0000000 --- a/tests/invalid-x509/id:000509,src:000001,op:arith8,pos:506,val:+3,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000517,src:000001,op:int8,pos:11,val:-128,+cov.der b/tests/invalid-x509/id:000517,src:000001,op:int8,pos:11,val:-128,+cov.der Binary files differdeleted file mode 100644 index 9d850e8..0000000 --- a/tests/invalid-x509/id:000517,src:000001,op:int8,pos:11,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000519,src:000001,op:int8,pos:21,val:-128,+cov.der b/tests/invalid-x509/id:000519,src:000001,op:int8,pos:21,val:-128,+cov.der Binary files differdeleted file mode 100644 index 0e469a0..0000000 --- a/tests/invalid-x509/id:000519,src:000001,op:int8,pos:21,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000521,src:000001,op:int8,pos:34,val:-128,+cov.der b/tests/invalid-x509/id:000521,src:000001,op:int8,pos:34,val:-128,+cov.der Binary files differdeleted file mode 100644 index 232311b..0000000 --- a/tests/invalid-x509/id:000521,src:000001,op:int8,pos:34,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000523,src:000001,op:int8,pos:43,val:-128,+cov.der b/tests/invalid-x509/id:000523,src:000001,op:int8,pos:43,val:-128,+cov.der Binary files differdeleted file mode 100644 index 9841b8a..0000000 --- a/tests/invalid-x509/id:000523,src:000001,op:int8,pos:43,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000527,src:000001,op:int8,pos:104,val:-128,+cov.der b/tests/invalid-x509/id:000527,src:000001,op:int8,pos:104,val:-128,+cov.der Binary files differdeleted file mode 100644 index 759b6ea..0000000 --- a/tests/invalid-x509/id:000527,src:000001,op:int8,pos:104,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000532,src:000001,op:int8,pos:516,val:-128,+cov.der b/tests/invalid-x509/id:000532,src:000001,op:int8,pos:516,val:-128,+cov.der Binary files differdeleted file mode 100644 index 84e9ef8..0000000 --- a/tests/invalid-x509/id:000532,src:000001,op:int8,pos:516,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000535,src:000001,op:int8,pos:739,val:+127.der b/tests/invalid-x509/id:000535,src:000001,op:int8,pos:739,val:+127.der Binary files differdeleted file mode 100644 index b3b051c..0000000 --- a/tests/invalid-x509/id:000535,src:000001,op:int8,pos:739,val:+127.der +++ /dev/null diff --git a/tests/invalid-x509/id:000542,src:000001,op:int16,pos:209,val:be:+127,+cov.der b/tests/invalid-x509/id:000542,src:000001,op:int16,pos:209,val:be:+127,+cov.der Binary files differdeleted file mode 100644 index 3c1ec22..0000000 --- a/tests/invalid-x509/id:000542,src:000001,op:int16,pos:209,val:be:+127,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000552,src:000001,op:int32,pos:21,val:+100663045.der b/tests/invalid-x509/id:000552,src:000001,op:int32,pos:21,val:+100663045.der Binary files differdeleted file mode 100644 index 6635674..0000000 --- a/tests/invalid-x509/id:000552,src:000001,op:int32,pos:21,val:+100663045.der +++ /dev/null diff --git a/tests/invalid-x509/id:000565,src:000001,op:int32,pos:104,val:+255,+cov.der b/tests/invalid-x509/id:000565,src:000001,op:int32,pos:104,val:+255,+cov.der Binary files differdeleted file mode 100644 index 56d9892..0000000 --- a/tests/invalid-x509/id:000565,src:000001,op:int32,pos:104,val:+255,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000566,src:000001,op:int32,pos:178,val:be:-128,+cov.der b/tests/invalid-x509/id:000566,src:000001,op:int32,pos:178,val:be:-128,+cov.der Binary files differdeleted file mode 100644 index 64d4232..0000000 --- a/tests/invalid-x509/id:000566,src:000001,op:int32,pos:178,val:be:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000574,src:000001,op:int32,pos:515,val:be:-128.der b/tests/invalid-x509/id:000574,src:000001,op:int32,pos:515,val:be:-128.der Binary files differdeleted file mode 100644 index b5fae8f..0000000 --- a/tests/invalid-x509/id:000574,src:000001,op:int32,pos:515,val:be:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000578,src:000001,op:havoc,rep:32.der b/tests/invalid-x509/id:000578,src:000001,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index f42160a..0000000 --- a/tests/invalid-x509/id:000578,src:000001,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:000581,src:000001,op:havoc,rep:2.der b/tests/invalid-x509/id:000581,src:000001,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 6c98d86..0000000 --- a/tests/invalid-x509/id:000581,src:000001,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000582,src:000001,op:havoc,rep:2.der b/tests/invalid-x509/id:000582,src:000001,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 1d51db3..0000000 --- a/tests/invalid-x509/id:000582,src:000001,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000585,src:000001,op:havoc,rep:8.der b/tests/invalid-x509/id:000585,src:000001,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index b892ade..0000000 --- a/tests/invalid-x509/id:000585,src:000001,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:000586,src:000001,op:havoc,rep:16.der b/tests/invalid-x509/id:000586,src:000001,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index c89faa6..0000000 --- a/tests/invalid-x509/id:000586,src:000001,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:000587,src:000001,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000587,src:000001,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index da623b4..0000000 --- a/tests/invalid-x509/id:000587,src:000001,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000590,src:000001,op:havoc,rep:32,+cov.der b/tests/invalid-x509/id:000590,src:000001,op:havoc,rep:32,+cov.der Binary files differdeleted file mode 100644 index f980acf..0000000 --- a/tests/invalid-x509/id:000590,src:000001,op:havoc,rep:32,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000592,src:000001,op:havoc,rep:32,+cov.der b/tests/invalid-x509/id:000592,src:000001,op:havoc,rep:32,+cov.der Binary files differdeleted file mode 100644 index f187fa1..0000000 --- a/tests/invalid-x509/id:000592,src:000001,op:havoc,rep:32,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000594,src:000001,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000594,src:000001,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index a93b6c0..0000000 --- a/tests/invalid-x509/id:000594,src:000001,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000595,src:000001,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000595,src:000001,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index e19efd4..0000000 --- a/tests/invalid-x509/id:000595,src:000001,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000598,src:000001,op:havoc,rep:32.der b/tests/invalid-x509/id:000598,src:000001,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 055bc42..0000000 --- a/tests/invalid-x509/id:000598,src:000001,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:000600,src:000001,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:000600,src:000001,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index bfef89c..0000000 --- a/tests/invalid-x509/id:000600,src:000001,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000601,src:000001,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:000601,src:000001,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index 68bf2cf..0000000 --- a/tests/invalid-x509/id:000601,src:000001,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000603,src:000002,op:flip1,pos:19.der b/tests/invalid-x509/id:000603,src:000002,op:flip1,pos:19.der Binary files differdeleted file mode 100644 index 8c31213..0000000 --- a/tests/invalid-x509/id:000603,src:000002,op:flip1,pos:19.der +++ /dev/null diff --git a/tests/invalid-x509/id:000605,src:000002,op:havoc,rep:8.der b/tests/invalid-x509/id:000605,src:000002,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 0dd69e1..0000000 --- a/tests/invalid-x509/id:000605,src:000002,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:000621,src:000003,op:flip1,pos:229,+cov.der b/tests/invalid-x509/id:000621,src:000003,op:flip1,pos:229,+cov.der Binary files differdeleted file mode 100644 index 4af92d9..0000000 --- a/tests/invalid-x509/id:000621,src:000003,op:flip1,pos:229,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000629,src:000003,op:arith8,pos:205,val:-26,+cov.der b/tests/invalid-x509/id:000629,src:000003,op:arith8,pos:205,val:-26,+cov.der Binary files differdeleted file mode 100644 index 35f729d..0000000 --- a/tests/invalid-x509/id:000629,src:000003,op:arith8,pos:205,val:-26,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000636,src:000003,op:int8,pos:205,val:-128,+cov.der b/tests/invalid-x509/id:000636,src:000003,op:int8,pos:205,val:-128,+cov.der Binary files differdeleted file mode 100644 index 381415b..0000000 --- a/tests/invalid-x509/id:000636,src:000003,op:int8,pos:205,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000637,src:000003,op:int8,pos:207,val:-128,+cov.der b/tests/invalid-x509/id:000637,src:000003,op:int8,pos:207,val:-128,+cov.der Binary files differdeleted file mode 100644 index 6556bea..0000000 --- a/tests/invalid-x509/id:000637,src:000003,op:int8,pos:207,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000639,src:000003,op:int16,pos:205,val:+128,+cov.der b/tests/invalid-x509/id:000639,src:000003,op:int16,pos:205,val:+128,+cov.der Binary files differdeleted file mode 100644 index b9af482..0000000 --- a/tests/invalid-x509/id:000639,src:000003,op:int16,pos:205,val:+128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000644,src:000003,op:int32,pos:205,val:+255,+cov.der b/tests/invalid-x509/id:000644,src:000003,op:int32,pos:205,val:+255,+cov.der Binary files differdeleted file mode 100644 index 84bcfe1..0000000 --- a/tests/invalid-x509/id:000644,src:000003,op:int32,pos:205,val:+255,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000648,src:000003,op:havoc,rep:8.der b/tests/invalid-x509/id:000648,src:000003,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 7eb86a0..0000000 --- a/tests/invalid-x509/id:000648,src:000003,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:000649,src:000003,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000649,src:000003,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 9402b5c..0000000 --- a/tests/invalid-x509/id:000649,src:000003,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000650,src:000003,op:havoc,rep:8.der b/tests/invalid-x509/id:000650,src:000003,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 2d6e952..0000000 --- a/tests/invalid-x509/id:000650,src:000003,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:000652,src:000003,op:havoc,rep:4.der b/tests/invalid-x509/id:000652,src:000003,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 0739f62..0000000 --- a/tests/invalid-x509/id:000652,src:000003,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:000654,src:000003,op:havoc,rep:16.der b/tests/invalid-x509/id:000654,src:000003,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index c733059..0000000 --- a/tests/invalid-x509/id:000654,src:000003,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:000657,src:000003,op:havoc,rep:2.der b/tests/invalid-x509/id:000657,src:000003,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 776eab7..0000000 --- a/tests/invalid-x509/id:000657,src:000003,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000658,src:000003,op:havoc,rep:4.der b/tests/invalid-x509/id:000658,src:000003,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 60016f2..0000000 --- a/tests/invalid-x509/id:000658,src:000003,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:000660,src:000003,op:havoc,rep:4.der b/tests/invalid-x509/id:000660,src:000003,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index acdcce0..0000000 --- a/tests/invalid-x509/id:000660,src:000003,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:000661,src:000003,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:000661,src:000003,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index 0ccf68d..0000000 --- a/tests/invalid-x509/id:000661,src:000003,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000662,src:000003,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:000662,src:000003,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index 3358ad3..0000000 --- a/tests/invalid-x509/id:000662,src:000003,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000664,src:000003,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000664,src:000003,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 57a4760..0000000 --- a/tests/invalid-x509/id:000664,src:000003,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000670,src:000182,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:000670,src:000182,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index c795fa8..0000000 --- a/tests/invalid-x509/id:000670,src:000182,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000672,src:000182,op:havoc,rep:8.der b/tests/invalid-x509/id:000672,src:000182,op:havoc,rep:8.der deleted file mode 100644 index 2b4ad4f..0000000 --- a/tests/invalid-x509/id:000672,src:000182,op:havoc,rep:8.der +++ /dev/null @@ -1 +0,0 @@ -0€0€
\ No newline at end of file diff --git a/tests/invalid-x509/id:000676,src:000254,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:000676,src:000254,op:havoc,rep:4,+cov.der deleted file mode 100644 index d95ca0f..0000000 --- a/tests/invalid-x509/id:000676,src:000254,op:havoc,rep:4,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00d€d•
\ No newline at end of file diff --git a/tests/invalid-x509/id:000677,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000677,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index 501b455..0000000 --- a/tests/invalid-x509/id:000677,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ê
\ No newline at end of file diff --git a/tests/invalid-x509/id:000678,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000678,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index 2c30255..0000000 --- a/tests/invalid-x509/id:000678,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ßø
\ No newline at end of file diff --git a/tests/invalid-x509/id:000679,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000679,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index cd8741b..0000000 --- a/tests/invalid-x509/id:000679,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1,2 +0,0 @@ -00ø -ø
\ No newline at end of file diff --git a/tests/invalid-x509/id:000680,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000680,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index 90e6f78..0000000 --- a/tests/invalid-x509/id:000680,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ÛÛ
\ No newline at end of file diff --git a/tests/invalid-x509/id:000681,src:000254,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:000681,src:000254,op:havoc,rep:4,+cov.der deleted file mode 100644 index 9345efc..0000000 --- a/tests/invalid-x509/id:000681,src:000254,op:havoc,rep:4,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00éé
\ No newline at end of file diff --git a/tests/invalid-x509/id:000682,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000682,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index 4cdc6cc..0000000 --- a/tests/invalid-x509/id:000682,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ÿøÿø
\ No newline at end of file diff --git a/tests/invalid-x509/id:000683,src:000254,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:000683,src:000254,op:havoc,rep:4,+cov.der deleted file mode 100644 index 016c8ba..0000000 --- a/tests/invalid-x509/id:000683,src:000254,op:havoc,rep:4,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00Úû
\ No newline at end of file diff --git a/tests/invalid-x509/id:000684,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000684,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index 6360bf6..0000000 --- a/tests/invalid-x509/id:000684,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ÿ
\ No newline at end of file diff --git a/tests/invalid-x509/id:000685,src:000254,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000685,src:000254,op:havoc,rep:2,+cov.der deleted file mode 100644 index 8f54019..0000000 --- a/tests/invalid-x509/id:000685,src:000254,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ä÷
\ No newline at end of file diff --git a/tests/invalid-x509/id:000687,src:000336,op:flip1,pos:508.der b/tests/invalid-x509/id:000687,src:000336,op:flip1,pos:508.der Binary files differdeleted file mode 100644 index f0c9333..0000000 --- a/tests/invalid-x509/id:000687,src:000336,op:flip1,pos:508.der +++ /dev/null diff --git a/tests/invalid-x509/id:000688,src:000336,op:flip4,pos:508.der b/tests/invalid-x509/id:000688,src:000336,op:flip4,pos:508.der Binary files differdeleted file mode 100644 index 3872e5a..0000000 --- a/tests/invalid-x509/id:000688,src:000336,op:flip4,pos:508.der +++ /dev/null diff --git a/tests/invalid-x509/id:000689,src:000336,op:int16,pos:424,val:be:-128,+cov.der b/tests/invalid-x509/id:000689,src:000336,op:int16,pos:424,val:be:-128,+cov.der Binary files differdeleted file mode 100644 index 14c1171..0000000 --- a/tests/invalid-x509/id:000689,src:000336,op:int16,pos:424,val:be:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000691,src:000336,op:int32,pos:423,val:-128,+cov.der b/tests/invalid-x509/id:000691,src:000336,op:int32,pos:423,val:-128,+cov.der Binary files differdeleted file mode 100644 index e7d942e..0000000 --- a/tests/invalid-x509/id:000691,src:000336,op:int32,pos:423,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000694,src:000350,op:flip8,pos:16.der b/tests/invalid-x509/id:000694,src:000350,op:flip8,pos:16.der Binary files differdeleted file mode 100644 index 883540c..0000000 --- a/tests/invalid-x509/id:000694,src:000350,op:flip8,pos:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:000695,src:000350,op:arith8,pos:12,val:-35.der b/tests/invalid-x509/id:000695,src:000350,op:arith8,pos:12,val:-35.der Binary files differdeleted file mode 100644 index b84511d..0000000 --- a/tests/invalid-x509/id:000695,src:000350,op:arith8,pos:12,val:-35.der +++ /dev/null diff --git a/tests/invalid-x509/id:000704,src:000403,op:flip4,pos:103.der b/tests/invalid-x509/id:000704,src:000403,op:flip4,pos:103.der Binary files differdeleted file mode 100644 index 8d921cc..0000000 --- a/tests/invalid-x509/id:000704,src:000403,op:flip4,pos:103.der +++ /dev/null diff --git a/tests/invalid-x509/id:000708,src:000416,op:flip4,pos:228,+cov.der b/tests/invalid-x509/id:000708,src:000416,op:flip4,pos:228,+cov.der Binary files differdeleted file mode 100644 index e5c6cf6..0000000 --- a/tests/invalid-x509/id:000708,src:000416,op:flip4,pos:228,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000709,src:000436,op:int32,pos:550,val:+0.der b/tests/invalid-x509/id:000709,src:000436,op:int32,pos:550,val:+0.der Binary files differdeleted file mode 100644 index 5c8efb9..0000000 --- a/tests/invalid-x509/id:000709,src:000436,op:int32,pos:550,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000712,src:000444,op:flip1,pos:584,+cov.der b/tests/invalid-x509/id:000712,src:000444,op:flip1,pos:584,+cov.der Binary files differdeleted file mode 100644 index 1916b0a..0000000 --- a/tests/invalid-x509/id:000712,src:000444,op:flip1,pos:584,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000714,src:000444,op:ext_AO,pos:584,+cov.der b/tests/invalid-x509/id:000714,src:000444,op:ext_AO,pos:584,+cov.der Binary files differdeleted file mode 100644 index e9df802..0000000 --- a/tests/invalid-x509/id:000714,src:000444,op:ext_AO,pos:584,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000722,src:000472,op:havoc,rep:2.der b/tests/invalid-x509/id:000722,src:000472,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 8684f35..0000000 --- a/tests/invalid-x509/id:000722,src:000472,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000723,src:000472,op:havoc,rep:4.der b/tests/invalid-x509/id:000723,src:000472,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index a38df30..0000000 --- a/tests/invalid-x509/id:000723,src:000472,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:000729,src:000483,op:int32,pos:229,val:+0.der b/tests/invalid-x509/id:000729,src:000483,op:int32,pos:229,val:+0.der Binary files differdeleted file mode 100644 index cae5964..0000000 --- a/tests/invalid-x509/id:000729,src:000483,op:int32,pos:229,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000730,src:000484,op:flip1,pos:503.der b/tests/invalid-x509/id:000730,src:000484,op:flip1,pos:503.der Binary files differdeleted file mode 100644 index f0d28d5..0000000 --- a/tests/invalid-x509/id:000730,src:000484,op:flip1,pos:503.der +++ /dev/null diff --git a/tests/invalid-x509/id:000731,src:000484,op:flip1,pos:505,+cov.der b/tests/invalid-x509/id:000731,src:000484,op:flip1,pos:505,+cov.der Binary files differdeleted file mode 100644 index da492c9..0000000 --- a/tests/invalid-x509/id:000731,src:000484,op:flip1,pos:505,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000735,src:000484,op:int32,pos:505,val:-128.der b/tests/invalid-x509/id:000735,src:000484,op:int32,pos:505,val:-128.der Binary files differdeleted file mode 100644 index 35fe384..0000000 --- a/tests/invalid-x509/id:000735,src:000484,op:int32,pos:505,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000738,src:000495,op:int32,pos:550,val:+0.der b/tests/invalid-x509/id:000738,src:000495,op:int32,pos:550,val:+0.der Binary files differdeleted file mode 100644 index 09d9199..0000000 --- a/tests/invalid-x509/id:000738,src:000495,op:int32,pos:550,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000743,src:000508,op:ext_AO,pos:504,+cov.der b/tests/invalid-x509/id:000743,src:000508,op:ext_AO,pos:504,+cov.der Binary files differdeleted file mode 100644 index 1f9f127..0000000 --- a/tests/invalid-x509/id:000743,src:000508,op:ext_AO,pos:504,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000744,src:000509,op:ext_AO,pos:507,+cov.der b/tests/invalid-x509/id:000744,src:000509,op:ext_AO,pos:507,+cov.der Binary files differdeleted file mode 100644 index c277e9b..0000000 --- a/tests/invalid-x509/id:000744,src:000509,op:ext_AO,pos:507,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000748,src:000522,op:int8,pos:34,val:-128.der b/tests/invalid-x509/id:000748,src:000522,op:int8,pos:34,val:-128.der Binary files differdeleted file mode 100644 index e11035e..0000000 --- a/tests/invalid-x509/id:000748,src:000522,op:int8,pos:34,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000753,src:000528,op:int16,pos:119,val:+16.der b/tests/invalid-x509/id:000753,src:000528,op:int16,pos:119,val:+16.der Binary files differdeleted file mode 100644 index 5b998a7..0000000 --- a/tests/invalid-x509/id:000753,src:000528,op:int16,pos:119,val:+16.der +++ /dev/null diff --git a/tests/invalid-x509/id:000754,src:000528,op:havoc,rep:2.der b/tests/invalid-x509/id:000754,src:000528,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index f1d452f..0000000 --- a/tests/invalid-x509/id:000754,src:000528,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000756,src:000539,op:flip1,pos:268,+cov.der b/tests/invalid-x509/id:000756,src:000539,op:flip1,pos:268,+cov.der Binary files differdeleted file mode 100644 index dc99ed2..0000000 --- a/tests/invalid-x509/id:000756,src:000539,op:flip1,pos:268,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000757,src:000539,op:flip32,pos:47,+cov.der b/tests/invalid-x509/id:000757,src:000539,op:flip32,pos:47,+cov.der Binary files differdeleted file mode 100644 index 0eaae56..0000000 --- a/tests/invalid-x509/id:000757,src:000539,op:flip32,pos:47,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000763,src:000539,op:havoc,rep:32,+cov.der b/tests/invalid-x509/id:000763,src:000539,op:havoc,rep:32,+cov.der Binary files differdeleted file mode 100644 index bd12f8b..0000000 --- a/tests/invalid-x509/id:000763,src:000539,op:havoc,rep:32,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000767,src:000539,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:000767,src:000539,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index 622921b..0000000 --- a/tests/invalid-x509/id:000767,src:000539,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000769,src:000539,op:havoc,rep:32,+cov.der b/tests/invalid-x509/id:000769,src:000539,op:havoc,rep:32,+cov.der Binary files differdeleted file mode 100644 index 1512c92..0000000 --- a/tests/invalid-x509/id:000769,src:000539,op:havoc,rep:32,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000770,src:000539,op:havoc,rep:32.der b/tests/invalid-x509/id:000770,src:000539,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 71bd1b1..0000000 --- a/tests/invalid-x509/id:000770,src:000539,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:000776,src:000549,op:int32,pos:13,val:+0.der b/tests/invalid-x509/id:000776,src:000549,op:int32,pos:13,val:+0.der Binary files differdeleted file mode 100644 index f5afde8..0000000 --- a/tests/invalid-x509/id:000776,src:000549,op:int32,pos:13,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000783,src:000579,op:ext_AO,pos:33,+cov.der b/tests/invalid-x509/id:000783,src:000579,op:ext_AO,pos:33,+cov.der Binary files differdeleted file mode 100644 index 51c7dc5..0000000 --- a/tests/invalid-x509/id:000783,src:000579,op:ext_AO,pos:33,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000784,src:000587,op:ext_AO,pos:15,+cov.der b/tests/invalid-x509/id:000784,src:000587,op:ext_AO,pos:15,+cov.der Binary files differdeleted file mode 100644 index eee1620..0000000 --- a/tests/invalid-x509/id:000784,src:000587,op:ext_AO,pos:15,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000786,src:000600,op:ext_AO,pos:545,+cov.der b/tests/invalid-x509/id:000786,src:000600,op:ext_AO,pos:545,+cov.der Binary files differdeleted file mode 100644 index 774661d..0000000 --- a/tests/invalid-x509/id:000786,src:000600,op:ext_AO,pos:545,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000787,src:000601,op:int16,pos:103,val:-1.der b/tests/invalid-x509/id:000787,src:000601,op:int16,pos:103,val:-1.der Binary files differdeleted file mode 100644 index 120144c..0000000 --- a/tests/invalid-x509/id:000787,src:000601,op:int16,pos:103,val:-1.der +++ /dev/null diff --git a/tests/invalid-x509/id:000788,src:000601,op:ext_AO,pos:105,+cov.der b/tests/invalid-x509/id:000788,src:000601,op:ext_AO,pos:105,+cov.der Binary files differdeleted file mode 100644 index 4f4d2b5..0000000 --- a/tests/invalid-x509/id:000788,src:000601,op:ext_AO,pos:105,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000789,src:000608,op:havoc,rep:8.der b/tests/invalid-x509/id:000789,src:000608,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 1769900..0000000 --- a/tests/invalid-x509/id:000789,src:000608,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:000791,src:000612,op:int32,pos:206,val:+0.der b/tests/invalid-x509/id:000791,src:000612,op:int32,pos:206,val:+0.der Binary files differdeleted file mode 100644 index 653738f..0000000 --- a/tests/invalid-x509/id:000791,src:000612,op:int32,pos:206,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000792,src:000613,op:flip4,pos:207.der b/tests/invalid-x509/id:000792,src:000613,op:flip4,pos:207.der Binary files differdeleted file mode 100644 index 41966ab..0000000 --- a/tests/invalid-x509/id:000792,src:000613,op:flip4,pos:207.der +++ /dev/null diff --git a/tests/invalid-x509/id:000797,src:000621,op:flip1,pos:235.der b/tests/invalid-x509/id:000797,src:000621,op:flip1,pos:235.der Binary files differdeleted file mode 100644 index 657ed9a..0000000 --- a/tests/invalid-x509/id:000797,src:000621,op:flip1,pos:235.der +++ /dev/null diff --git a/tests/invalid-x509/id:000799,src:000623,op:flip1,pos:354,+cov.der b/tests/invalid-x509/id:000799,src:000623,op:flip1,pos:354,+cov.der Binary files differdeleted file mode 100644 index 0b5859f..0000000 --- a/tests/invalid-x509/id:000799,src:000623,op:flip1,pos:354,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000800,src:000623,op:flip1,pos:354,+cov.der b/tests/invalid-x509/id:000800,src:000623,op:flip1,pos:354,+cov.der Binary files differdeleted file mode 100644 index dacb36e..0000000 --- a/tests/invalid-x509/id:000800,src:000623,op:flip1,pos:354,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000801,src:000623,op:arith8,pos:354,val:-25,+cov.der b/tests/invalid-x509/id:000801,src:000623,op:arith8,pos:354,val:-25,+cov.der Binary files differdeleted file mode 100644 index a6fbbf7..0000000 --- a/tests/invalid-x509/id:000801,src:000623,op:arith8,pos:354,val:-25,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000802,src:000623,op:int16,pos:354,val:-128,+cov.der b/tests/invalid-x509/id:000802,src:000623,op:int16,pos:354,val:-128,+cov.der Binary files differdeleted file mode 100644 index 401fa61..0000000 --- a/tests/invalid-x509/id:000802,src:000623,op:int16,pos:354,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000804,src:000623,op:int32,pos:193,val:-32768,+cov.der b/tests/invalid-x509/id:000804,src:000623,op:int32,pos:193,val:-32768,+cov.der Binary files differdeleted file mode 100644 index 4522961..0000000 --- a/tests/invalid-x509/id:000804,src:000623,op:int32,pos:193,val:-32768,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000805,src:000624,op:int8,pos:355,val:-128,+cov.der b/tests/invalid-x509/id:000805,src:000624,op:int8,pos:355,val:-128,+cov.der Binary files differdeleted file mode 100644 index c2bb742..0000000 --- a/tests/invalid-x509/id:000805,src:000624,op:int8,pos:355,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000806,src:000624,op:int32,pos:193,val:-32768,+cov.der b/tests/invalid-x509/id:000806,src:000624,op:int32,pos:193,val:-32768,+cov.der Binary files differdeleted file mode 100644 index 6e077f3..0000000 --- a/tests/invalid-x509/id:000806,src:000624,op:int32,pos:193,val:-32768,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000810,src:000628,op:flip1,pos:7.der b/tests/invalid-x509/id:000810,src:000628,op:flip1,pos:7.der Binary files differdeleted file mode 100644 index a681f7d..0000000 --- a/tests/invalid-x509/id:000810,src:000628,op:flip1,pos:7.der +++ /dev/null diff --git a/tests/invalid-x509/id:000815,src:000640,op:int32,pos:230,val:-2147483648.der b/tests/invalid-x509/id:000815,src:000640,op:int32,pos:230,val:-2147483648.der Binary files differdeleted file mode 100644 index fc11f24..0000000 --- a/tests/invalid-x509/id:000815,src:000640,op:int32,pos:230,val:-2147483648.der +++ /dev/null diff --git a/tests/invalid-x509/id:000817,src:000641,op:flip1,pos:11.der b/tests/invalid-x509/id:000817,src:000641,op:flip1,pos:11.der Binary files differdeleted file mode 100644 index 7eacdde..0000000 --- a/tests/invalid-x509/id:000817,src:000641,op:flip1,pos:11.der +++ /dev/null diff --git a/tests/invalid-x509/id:000821,src:000645,op:flip1,pos:207.der b/tests/invalid-x509/id:000821,src:000645,op:flip1,pos:207.der Binary files differdeleted file mode 100644 index 94687f7..0000000 --- a/tests/invalid-x509/id:000821,src:000645,op:flip1,pos:207.der +++ /dev/null diff --git a/tests/invalid-x509/id:000823,src:000645,op:int32,pos:211,val:+0.der b/tests/invalid-x509/id:000823,src:000645,op:int32,pos:211,val:+0.der Binary files differdeleted file mode 100644 index 86fe589..0000000 --- a/tests/invalid-x509/id:000823,src:000645,op:int32,pos:211,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000825,src:000647,op:int32,pos:232,val:+0.der b/tests/invalid-x509/id:000825,src:000647,op:int32,pos:232,val:+0.der Binary files differdeleted file mode 100644 index ced5dcc..0000000 --- a/tests/invalid-x509/id:000825,src:000647,op:int32,pos:232,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000828,src:000652,op:int32,pos:30,val:+0.der b/tests/invalid-x509/id:000828,src:000652,op:int32,pos:30,val:+0.der Binary files differdeleted file mode 100644 index df37575..0000000 --- a/tests/invalid-x509/id:000828,src:000652,op:int32,pos:30,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000833,src:000654,op:int32,pos:43,val:+0.der b/tests/invalid-x509/id:000833,src:000654,op:int32,pos:43,val:+0.der Binary files differdeleted file mode 100644 index 9f48b6e..0000000 --- a/tests/invalid-x509/id:000833,src:000654,op:int32,pos:43,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000840,src:000655,op:havoc,rep:16,+cov.der b/tests/invalid-x509/id:000840,src:000655,op:havoc,rep:16,+cov.der Binary files differdeleted file mode 100644 index 38119bc..0000000 --- a/tests/invalid-x509/id:000840,src:000655,op:havoc,rep:16,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000841,src:000655,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:000841,src:000655,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index a0c787f..0000000 --- a/tests/invalid-x509/id:000841,src:000655,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000846,src:000655,op:havoc,rep:64.der b/tests/invalid-x509/id:000846,src:000655,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index b58efc8..0000000 --- a/tests/invalid-x509/id:000846,src:000655,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:000849,src:000655,op:havoc,rep:2.der b/tests/invalid-x509/id:000849,src:000655,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index e69322d..0000000 --- a/tests/invalid-x509/id:000849,src:000655,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000852,src:000655,op:havoc,rep:32.der b/tests/invalid-x509/id:000852,src:000655,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index f30e7c3..0000000 --- a/tests/invalid-x509/id:000852,src:000655,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:000854,src:000655,op:havoc,rep:16.der b/tests/invalid-x509/id:000854,src:000655,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index efd19e1..0000000 --- a/tests/invalid-x509/id:000854,src:000655,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:000855,src:000655,op:havoc,rep:64.der b/tests/invalid-x509/id:000855,src:000655,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 33fd46e..0000000 --- a/tests/invalid-x509/id:000855,src:000655,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:000857,src:000655,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:000857,src:000655,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index 0fa65e0..0000000 --- a/tests/invalid-x509/id:000857,src:000655,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000859,src:000659,op:ext_AO,pos:259,+cov.der b/tests/invalid-x509/id:000859,src:000659,op:ext_AO,pos:259,+cov.der Binary files differdeleted file mode 100644 index fb0a561..0000000 --- a/tests/invalid-x509/id:000859,src:000659,op:ext_AO,pos:259,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000861,src:000660,op:int32,pos:92,val:+0.der b/tests/invalid-x509/id:000861,src:000660,op:int32,pos:92,val:+0.der Binary files differdeleted file mode 100644 index fa5d54a..0000000 --- a/tests/invalid-x509/id:000861,src:000660,op:int32,pos:92,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000862,src:000661,op:flip4,pos:282,+cov.der b/tests/invalid-x509/id:000862,src:000661,op:flip4,pos:282,+cov.der Binary files differdeleted file mode 100644 index 9b7982f..0000000 --- a/tests/invalid-x509/id:000862,src:000661,op:flip4,pos:282,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000864,src:000661,op:int8,pos:356,val:-128,+cov.der b/tests/invalid-x509/id:000864,src:000661,op:int8,pos:356,val:-128,+cov.der Binary files differdeleted file mode 100644 index 84b34ba..0000000 --- a/tests/invalid-x509/id:000864,src:000661,op:int8,pos:356,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000865,src:000661,op:int16,pos:356,val:-128,+cov.der b/tests/invalid-x509/id:000865,src:000661,op:int16,pos:356,val:-128,+cov.der Binary files differdeleted file mode 100644 index 647d0b5..0000000 --- a/tests/invalid-x509/id:000865,src:000661,op:int16,pos:356,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000866,src:000661,op:int32,pos:193,val:-32768,+cov.der b/tests/invalid-x509/id:000866,src:000661,op:int32,pos:193,val:-32768,+cov.der Binary files differdeleted file mode 100644 index 1f97f36..0000000 --- a/tests/invalid-x509/id:000866,src:000661,op:int32,pos:193,val:-32768,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000867,src:000664,op:ext_AO,pos:206,+cov.der b/tests/invalid-x509/id:000867,src:000664,op:ext_AO,pos:206,+cov.der Binary files differdeleted file mode 100644 index 101fb63..0000000 --- a/tests/invalid-x509/id:000867,src:000664,op:ext_AO,pos:206,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000871,src:000676,op:arith8,pos:6,val:-5,+cov.der b/tests/invalid-x509/id:000871,src:000676,op:arith8,pos:6,val:-5,+cov.der deleted file mode 100644 index 2aa418e..0000000 --- a/tests/invalid-x509/id:000871,src:000676,op:arith8,pos:6,val:-5,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00d€_•
\ No newline at end of file diff --git a/tests/invalid-x509/id:000872,src:000676,op:arith8,pos:7,val:-21,+cov.der b/tests/invalid-x509/id:000872,src:000676,op:arith8,pos:7,val:-21,+cov.der deleted file mode 100644 index c6f486c..0000000 --- a/tests/invalid-x509/id:000872,src:000676,op:arith8,pos:7,val:-21,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00d€d€
\ No newline at end of file diff --git a/tests/invalid-x509/id:000873,src:000676,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000873,src:000676,op:havoc,rep:2,+cov.der deleted file mode 100644 index d589560..0000000 --- a/tests/invalid-x509/id:000873,src:000676,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00d€
\ No newline at end of file diff --git a/tests/invalid-x509/id:000875,src:000680,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000875,src:000680,op:havoc,rep:2,+cov.der deleted file mode 100644 index faa1788..0000000 --- a/tests/invalid-x509/id:000875,src:000680,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ÕÛ
\ No newline at end of file diff --git a/tests/invalid-x509/id:000876,src:000681,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000876,src:000681,op:havoc,rep:2,+cov.der deleted file mode 100644 index 4f79e25..0000000 --- a/tests/invalid-x509/id:000876,src:000681,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00éé
\ No newline at end of file diff --git a/tests/invalid-x509/id:000880,src:000683,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000880,src:000683,op:havoc,rep:2,+cov.der deleted file mode 100644 index f3e73f7..0000000 --- a/tests/invalid-x509/id:000880,src:000683,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00óØÚû
\ No newline at end of file diff --git a/tests/invalid-x509/id:000881,src:000685,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:000881,src:000685,op:havoc,rep:2,+cov.der deleted file mode 100644 index 0344d80..0000000 --- a/tests/invalid-x509/id:000881,src:000685,op:havoc,rep:2,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00äæææ÷
\ No newline at end of file diff --git a/tests/invalid-x509/id:000885,src:000701,op:int32,pos:106,val:+0.der b/tests/invalid-x509/id:000885,src:000701,op:int32,pos:106,val:+0.der Binary files differdeleted file mode 100644 index 373b87b..0000000 --- a/tests/invalid-x509/id:000885,src:000701,op:int32,pos:106,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000886,src:000701,op:int32,pos:107,val:+0.der b/tests/invalid-x509/id:000886,src:000701,op:int32,pos:107,val:+0.der Binary files differdeleted file mode 100644 index aff1698..0000000 --- a/tests/invalid-x509/id:000886,src:000701,op:int32,pos:107,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000887,src:000708,op:ext_AO,pos:229,+cov.der b/tests/invalid-x509/id:000887,src:000708,op:ext_AO,pos:229,+cov.der Binary files differdeleted file mode 100644 index dd8ab77..0000000 --- a/tests/invalid-x509/id:000887,src:000708,op:ext_AO,pos:229,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000888,src:000713,op:flip1,pos:601.der b/tests/invalid-x509/id:000888,src:000713,op:flip1,pos:601.der Binary files differdeleted file mode 100644 index 2a5a5ef..0000000 --- a/tests/invalid-x509/id:000888,src:000713,op:flip1,pos:601.der +++ /dev/null diff --git a/tests/invalid-x509/id:000889,src:000713,op:flip1,pos:647.der b/tests/invalid-x509/id:000889,src:000713,op:flip1,pos:647.der Binary files differdeleted file mode 100644 index 89a9838..0000000 --- a/tests/invalid-x509/id:000889,src:000713,op:flip1,pos:647.der +++ /dev/null diff --git a/tests/invalid-x509/id:000890,src:000714,op:flip1,pos:503,+cov.der b/tests/invalid-x509/id:000890,src:000714,op:flip1,pos:503,+cov.der Binary files differdeleted file mode 100644 index 28ee30a..0000000 --- a/tests/invalid-x509/id:000890,src:000714,op:flip1,pos:503,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000891,src:000721,op:int32,pos:798,val:be:+1.der b/tests/invalid-x509/id:000891,src:000721,op:int32,pos:798,val:be:+1.der Binary files differdeleted file mode 100644 index 8ed41db..0000000 --- a/tests/invalid-x509/id:000891,src:000721,op:int32,pos:798,val:be:+1.der +++ /dev/null diff --git a/tests/invalid-x509/id:000892,src:000724,op:int16,pos:503,val:+1.der b/tests/invalid-x509/id:000892,src:000724,op:int16,pos:503,val:+1.der Binary files differdeleted file mode 100644 index a14f807..0000000 --- a/tests/invalid-x509/id:000892,src:000724,op:int16,pos:503,val:+1.der +++ /dev/null diff --git a/tests/invalid-x509/id:000894,src:000734,op:int16,pos:503,val:+1.der b/tests/invalid-x509/id:000894,src:000734,op:int16,pos:503,val:+1.der Binary files differdeleted file mode 100644 index 61f6237..0000000 --- a/tests/invalid-x509/id:000894,src:000734,op:int16,pos:503,val:+1.der +++ /dev/null diff --git a/tests/invalid-x509/id:000895,src:000745,op:flip4,pos:751.der b/tests/invalid-x509/id:000895,src:000745,op:flip4,pos:751.der Binary files differdeleted file mode 100644 index cac6321..0000000 --- a/tests/invalid-x509/id:000895,src:000745,op:flip4,pos:751.der +++ /dev/null diff --git a/tests/invalid-x509/id:000900,src:000745,op:havoc,rep:64.der b/tests/invalid-x509/id:000900,src:000745,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 7990ed9..0000000 --- a/tests/invalid-x509/id:000900,src:000745,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:000901,src:000745,op:havoc,rep:8.der b/tests/invalid-x509/id:000901,src:000745,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 00fac92..0000000 --- a/tests/invalid-x509/id:000901,src:000745,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:000903,src:000768,op:int16,pos:230,val:+256.der b/tests/invalid-x509/id:000903,src:000768,op:int16,pos:230,val:+256.der Binary files differdeleted file mode 100644 index c533bf8..0000000 --- a/tests/invalid-x509/id:000903,src:000768,op:int16,pos:230,val:+256.der +++ /dev/null diff --git a/tests/invalid-x509/id:000904,src:000768,op:int16,pos:1012,val:-128,+cov.der b/tests/invalid-x509/id:000904,src:000768,op:int16,pos:1012,val:-128,+cov.der Binary files differdeleted file mode 100644 index efa9435..0000000 --- a/tests/invalid-x509/id:000904,src:000768,op:int16,pos:1012,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000905,src:000768,op:int32,pos:1010,val:-128,+cov.der b/tests/invalid-x509/id:000905,src:000768,op:int32,pos:1010,val:-128,+cov.der Binary files differdeleted file mode 100644 index 093148e..0000000 --- a/tests/invalid-x509/id:000905,src:000768,op:int32,pos:1010,val:-128,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000906,src:000768,op:int32,pos:1011,val:+32768,+cov.der b/tests/invalid-x509/id:000906,src:000768,op:int32,pos:1011,val:+32768,+cov.der Binary files differdeleted file mode 100644 index 8853b93..0000000 --- a/tests/invalid-x509/id:000906,src:000768,op:int32,pos:1011,val:+32768,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000910,src:000777,op:int32,pos:28,val:+0.der b/tests/invalid-x509/id:000910,src:000777,op:int32,pos:28,val:+0.der Binary files differdeleted file mode 100644 index b24dd22..0000000 --- a/tests/invalid-x509/id:000910,src:000777,op:int32,pos:28,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000913,src:000793,op:int32,pos:208,val:-2147483648.der b/tests/invalid-x509/id:000913,src:000793,op:int32,pos:208,val:-2147483648.der Binary files differdeleted file mode 100644 index 66d6e9b..0000000 --- a/tests/invalid-x509/id:000913,src:000793,op:int32,pos:208,val:-2147483648.der +++ /dev/null diff --git a/tests/invalid-x509/id:000914,src:000793,op:ext_AO,pos:208,+cov.der b/tests/invalid-x509/id:000914,src:000793,op:ext_AO,pos:208,+cov.der Binary files differdeleted file mode 100644 index 67b8170..0000000 --- a/tests/invalid-x509/id:000914,src:000793,op:ext_AO,pos:208,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000916,src:000808,op:flip1,pos:44.der b/tests/invalid-x509/id:000916,src:000808,op:flip1,pos:44.der Binary files differdeleted file mode 100644 index f8729a5..0000000 --- a/tests/invalid-x509/id:000916,src:000808,op:flip1,pos:44.der +++ /dev/null diff --git a/tests/invalid-x509/id:000918,src:000811,op:int8,pos:300,val:-128.der b/tests/invalid-x509/id:000918,src:000811,op:int8,pos:300,val:-128.der Binary files differdeleted file mode 100644 index 5349687..0000000 --- a/tests/invalid-x509/id:000918,src:000811,op:int8,pos:300,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000920,src:000813,op:int32,pos:231,val:+0.der b/tests/invalid-x509/id:000920,src:000813,op:int32,pos:231,val:+0.der Binary files differdeleted file mode 100644 index 05640b9..0000000 --- a/tests/invalid-x509/id:000920,src:000813,op:int32,pos:231,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000923,src:000818,op:int32,pos:18,val:+0.der b/tests/invalid-x509/id:000923,src:000818,op:int32,pos:18,val:+0.der Binary files differdeleted file mode 100644 index 3dd5ba6..0000000 --- a/tests/invalid-x509/id:000923,src:000818,op:int32,pos:18,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000924,src:000818,op:int32,pos:19,val:+0.der b/tests/invalid-x509/id:000924,src:000818,op:int32,pos:19,val:+0.der Binary files differdeleted file mode 100644 index e2d173a..0000000 --- a/tests/invalid-x509/id:000924,src:000818,op:int32,pos:19,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000927,src:000819,op:int8,pos:9,val:-128.der b/tests/invalid-x509/id:000927,src:000819,op:int8,pos:9,val:-128.der Binary files differdeleted file mode 100644 index af69968..0000000 --- a/tests/invalid-x509/id:000927,src:000819,op:int8,pos:9,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000928,src:000819,op:int32,pos:9,val:+255.der b/tests/invalid-x509/id:000928,src:000819,op:int32,pos:9,val:+255.der Binary files differdeleted file mode 100644 index d6fda79..0000000 --- a/tests/invalid-x509/id:000928,src:000819,op:int32,pos:9,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:000930,src:000820,op:flip1,pos:205.der b/tests/invalid-x509/id:000930,src:000820,op:flip1,pos:205.der Binary files differdeleted file mode 100644 index 7621ece..0000000 --- a/tests/invalid-x509/id:000930,src:000820,op:flip1,pos:205.der +++ /dev/null diff --git a/tests/invalid-x509/id:000935,src:000822,op:int32,pos:214,val:+0.der b/tests/invalid-x509/id:000935,src:000822,op:int32,pos:214,val:+0.der Binary files differdeleted file mode 100644 index ffed7c6..0000000 --- a/tests/invalid-x509/id:000935,src:000822,op:int32,pos:214,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000936,src:000826,op:flip1,pos:229.der b/tests/invalid-x509/id:000936,src:000826,op:flip1,pos:229.der Binary files differdeleted file mode 100644 index edb706c..0000000 --- a/tests/invalid-x509/id:000936,src:000826,op:flip1,pos:229.der +++ /dev/null diff --git a/tests/invalid-x509/id:000939,src:000828,op:int32,pos:34,val:+0.der b/tests/invalid-x509/id:000939,src:000828,op:int32,pos:34,val:+0.der Binary files differdeleted file mode 100644 index 87aed35..0000000 --- a/tests/invalid-x509/id:000939,src:000828,op:int32,pos:34,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000940,src:000829,op:flip2,pos:334.der b/tests/invalid-x509/id:000940,src:000829,op:flip2,pos:334.der Binary files differdeleted file mode 100644 index d3c435b..0000000 --- a/tests/invalid-x509/id:000940,src:000829,op:flip2,pos:334.der +++ /dev/null diff --git a/tests/invalid-x509/id:000943,src:000832,op:int32,pos:46,val:+0.der b/tests/invalid-x509/id:000943,src:000832,op:int32,pos:46,val:+0.der Binary files differdeleted file mode 100644 index cf9a363..0000000 --- a/tests/invalid-x509/id:000943,src:000832,op:int32,pos:46,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000945,src:000840,op:flip1,pos:518,+cov.der b/tests/invalid-x509/id:000945,src:000840,op:flip1,pos:518,+cov.der Binary files differdeleted file mode 100644 index 6a26584..0000000 --- a/tests/invalid-x509/id:000945,src:000840,op:flip1,pos:518,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000947,src:000849,op:flip1,pos:279.der b/tests/invalid-x509/id:000947,src:000849,op:flip1,pos:279.der Binary files differdeleted file mode 100644 index ed847ab..0000000 --- a/tests/invalid-x509/id:000947,src:000849,op:flip1,pos:279.der +++ /dev/null diff --git a/tests/invalid-x509/id:000949,src:000858,op:arith8,pos:280,val:-5.der b/tests/invalid-x509/id:000949,src:000858,op:arith8,pos:280,val:-5.der Binary files differdeleted file mode 100644 index 519f7cc..0000000 --- a/tests/invalid-x509/id:000949,src:000858,op:arith8,pos:280,val:-5.der +++ /dev/null diff --git a/tests/invalid-x509/id:000950,src:000860,op:int16,pos:95,val:+0.der b/tests/invalid-x509/id:000950,src:000860,op:int16,pos:95,val:+0.der Binary files differdeleted file mode 100644 index 9cb481d..0000000 --- a/tests/invalid-x509/id:000950,src:000860,op:int16,pos:95,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000953,src:000862,op:flip1,pos:355,+cov.der b/tests/invalid-x509/id:000953,src:000862,op:flip1,pos:355,+cov.der Binary files differdeleted file mode 100644 index e902738..0000000 --- a/tests/invalid-x509/id:000953,src:000862,op:flip1,pos:355,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000954,src:000862,op:flip1,pos:355,+cov.der b/tests/invalid-x509/id:000954,src:000862,op:flip1,pos:355,+cov.der Binary files differdeleted file mode 100644 index 4f54a1c..0000000 --- a/tests/invalid-x509/id:000954,src:000862,op:flip1,pos:355,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000955,src:000862,op:flip1,pos:356,+cov.der b/tests/invalid-x509/id:000955,src:000862,op:flip1,pos:356,+cov.der Binary files differdeleted file mode 100644 index 233359f..0000000 --- a/tests/invalid-x509/id:000955,src:000862,op:flip1,pos:356,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000956,src:000862,op:flip2,pos:355,+cov.der b/tests/invalid-x509/id:000956,src:000862,op:flip2,pos:355,+cov.der Binary files differdeleted file mode 100644 index f0782e7..0000000 --- a/tests/invalid-x509/id:000956,src:000862,op:flip2,pos:355,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000958,src:000863,op:flip1,pos:228.der b/tests/invalid-x509/id:000958,src:000863,op:flip1,pos:228.der Binary files differdeleted file mode 100644 index 94ee913..0000000 --- a/tests/invalid-x509/id:000958,src:000863,op:flip1,pos:228.der +++ /dev/null diff --git a/tests/invalid-x509/id:000959,src:000864,op:flip1,pos:357,+cov.der b/tests/invalid-x509/id:000959,src:000864,op:flip1,pos:357,+cov.der Binary files differdeleted file mode 100644 index dfa0be1..0000000 --- a/tests/invalid-x509/id:000959,src:000864,op:flip1,pos:357,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000961,src:000866,op:flip1,pos:357,+cov.der b/tests/invalid-x509/id:000961,src:000866,op:flip1,pos:357,+cov.der Binary files differdeleted file mode 100644 index 7a7d21a..0000000 --- a/tests/invalid-x509/id:000961,src:000866,op:flip1,pos:357,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:000962,src:000875,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:000962,src:000875,op:havoc,rep:4,+cov.der deleted file mode 100644 index 781ac5d..0000000 --- a/tests/invalid-x509/id:000962,src:000875,op:havoc,rep:4,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00Õœÿÿû
\ No newline at end of file diff --git a/tests/invalid-x509/id:000963,src:000876,op:flip4,pos:5,+cov.der b/tests/invalid-x509/id:000963,src:000876,op:flip4,pos:5,+cov.der deleted file mode 100644 index 1e2388d..0000000 --- a/tests/invalid-x509/id:000963,src:000876,op:flip4,pos:5,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00î‚é
\ No newline at end of file diff --git a/tests/invalid-x509/id:000964,src:000878,op:int16,pos:4,val:be:-128,+cov.der b/tests/invalid-x509/id:000964,src:000878,op:int16,pos:4,val:be:-128,+cov.der deleted file mode 100644 index d183d9e..0000000 --- a/tests/invalid-x509/id:000964,src:000878,op:int16,pos:4,val:be:-128,+cov.der +++ /dev/null @@ -1 +0,0 @@ -00ÿ€óóóø
\ No newline at end of file diff --git a/tests/invalid-x509/id:000975,src:000920,op:int32,pos:235,val:+0.der b/tests/invalid-x509/id:000975,src:000920,op:int32,pos:235,val:+0.der Binary files differdeleted file mode 100644 index b4623d6..0000000 --- a/tests/invalid-x509/id:000975,src:000920,op:int32,pos:235,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000976,src:000924,op:int32,pos:23,val:+0.der b/tests/invalid-x509/id:000976,src:000924,op:int32,pos:23,val:+0.der Binary files differdeleted file mode 100644 index 29d05fb..0000000 --- a/tests/invalid-x509/id:000976,src:000924,op:int32,pos:23,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000977,src:000928,op:int32,pos:20,val:+0.der b/tests/invalid-x509/id:000977,src:000928,op:int32,pos:20,val:+0.der Binary files differdeleted file mode 100644 index 96ed291..0000000 --- a/tests/invalid-x509/id:000977,src:000928,op:int32,pos:20,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000978,src:000928,op:havoc,rep:32.der b/tests/invalid-x509/id:000978,src:000928,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 0264af9..0000000 --- a/tests/invalid-x509/id:000978,src:000928,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:000980,src:000929,op:int32,pos:212,val:+0.der b/tests/invalid-x509/id:000980,src:000929,op:int32,pos:212,val:+0.der Binary files differdeleted file mode 100644 index 76ae238..0000000 --- a/tests/invalid-x509/id:000980,src:000929,op:int32,pos:212,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000983,src:000934,op:int32,pos:216,val:+0.der b/tests/invalid-x509/id:000983,src:000934,op:int32,pos:216,val:+0.der Binary files differdeleted file mode 100644 index b9bc647..0000000 --- a/tests/invalid-x509/id:000983,src:000934,op:int32,pos:216,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000985,src:000934,op:havoc,rep:2.der b/tests/invalid-x509/id:000985,src:000934,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 5ebb790..0000000 --- a/tests/invalid-x509/id:000985,src:000934,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000986,src:000935,op:int32,pos:205,val:+255.der b/tests/invalid-x509/id:000986,src:000935,op:int32,pos:205,val:+255.der Binary files differdeleted file mode 100644 index c9bbfe3..0000000 --- a/tests/invalid-x509/id:000986,src:000935,op:int32,pos:205,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:000988,src:000936,op:int32,pos:237,val:+0.der b/tests/invalid-x509/id:000988,src:000936,op:int32,pos:237,val:+0.der Binary files differdeleted file mode 100644 index 6a326bd..0000000 --- a/tests/invalid-x509/id:000988,src:000936,op:int32,pos:237,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000989,src:000939,op:flip2,pos:39.der b/tests/invalid-x509/id:000989,src:000939,op:flip2,pos:39.der Binary files differdeleted file mode 100644 index 868479b..0000000 --- a/tests/invalid-x509/id:000989,src:000939,op:flip2,pos:39.der +++ /dev/null diff --git a/tests/invalid-x509/id:000990,src:000939,op:int16,pos:39,val:+0.der b/tests/invalid-x509/id:000990,src:000939,op:int16,pos:39,val:+0.der Binary files differdeleted file mode 100644 index c43a474..0000000 --- a/tests/invalid-x509/id:000990,src:000939,op:int16,pos:39,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:000991,src:000944,op:int32,pos:41,val:-32768.der b/tests/invalid-x509/id:000991,src:000944,op:int32,pos:41,val:-32768.der Binary files differdeleted file mode 100644 index 8ecd348..0000000 --- a/tests/invalid-x509/id:000991,src:000944,op:int32,pos:41,val:-32768.der +++ /dev/null diff --git a/tests/invalid-x509/id:000992,src:000944,op:int32,pos:371,val:-128.der b/tests/invalid-x509/id:000992,src:000944,op:int32,pos:371,val:-128.der Binary files differdeleted file mode 100644 index a6cac2a..0000000 --- a/tests/invalid-x509/id:000992,src:000944,op:int32,pos:371,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:000995,src:000944,op:havoc,rep:4.der b/tests/invalid-x509/id:000995,src:000944,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index f704dde..0000000 --- a/tests/invalid-x509/id:000995,src:000944,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:000997,src:000944,op:havoc,rep:2.der b/tests/invalid-x509/id:000997,src:000944,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 2180484..0000000 --- a/tests/invalid-x509/id:000997,src:000944,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:000998,src:000944,op:havoc,rep:2.der b/tests/invalid-x509/id:000998,src:000944,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 7159728..0000000 --- a/tests/invalid-x509/id:000998,src:000944,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001001,src:000950,op:int32,pos:97,val:+0.der b/tests/invalid-x509/id:001001,src:000950,op:int32,pos:97,val:+0.der Binary files differdeleted file mode 100644 index 7de1659..0000000 --- a/tests/invalid-x509/id:001001,src:000950,op:int32,pos:97,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001003,src:000951,op:havoc,rep:2.der b/tests/invalid-x509/id:001003,src:000951,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index f0eadcc..0000000 --- a/tests/invalid-x509/id:001003,src:000951,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001004,src:000957,op:havoc,rep:16.der b/tests/invalid-x509/id:001004,src:000957,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 04faaa1..0000000 --- a/tests/invalid-x509/id:001004,src:000957,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001005,src:000965,op:arith8,pos:426,val:+14.der b/tests/invalid-x509/id:001005,src:000965,op:arith8,pos:426,val:+14.der Binary files differdeleted file mode 100644 index c6028a7..0000000 --- a/tests/invalid-x509/id:001005,src:000965,op:arith8,pos:426,val:+14.der +++ /dev/null diff --git a/tests/invalid-x509/id:001007,src:000965,op:havoc,rep:64.der b/tests/invalid-x509/id:001007,src:000965,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 8b97840..0000000 --- a/tests/invalid-x509/id:001007,src:000965,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001015,src:000968,op:int32,pos:35,val:-128.der b/tests/invalid-x509/id:001015,src:000968,op:int32,pos:35,val:-128.der Binary files differdeleted file mode 100644 index 6ef849f..0000000 --- a/tests/invalid-x509/id:001015,src:000968,op:int32,pos:35,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001017,src:000973,op:int32,pos:237,val:+0.der b/tests/invalid-x509/id:001017,src:000973,op:int32,pos:237,val:+0.der Binary files differdeleted file mode 100644 index cd94ee7..0000000 --- a/tests/invalid-x509/id:001017,src:000973,op:int32,pos:237,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001019,src:000974,op:int32,pos:230,val:be:+32768.der b/tests/invalid-x509/id:001019,src:000974,op:int32,pos:230,val:be:+32768.der Binary files differdeleted file mode 100644 index 550268a..0000000 --- a/tests/invalid-x509/id:001019,src:000974,op:int32,pos:230,val:be:+32768.der +++ /dev/null diff --git a/tests/invalid-x509/id:001021,src:000978,op:int32,pos:29,val:+0.der b/tests/invalid-x509/id:001021,src:000978,op:int32,pos:29,val:+0.der Binary files differdeleted file mode 100644 index ed35d27..0000000 --- a/tests/invalid-x509/id:001021,src:000978,op:int32,pos:29,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001022,src:000978,op:havoc,rep:8.der b/tests/invalid-x509/id:001022,src:000978,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index d5b3b2a..0000000 --- a/tests/invalid-x509/id:001022,src:000978,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001026,src:000986,op:int32,pos:217,val:+0.der b/tests/invalid-x509/id:001026,src:000986,op:int32,pos:217,val:+0.der Binary files differdeleted file mode 100644 index 96b2fd1..0000000 --- a/tests/invalid-x509/id:001026,src:000986,op:int32,pos:217,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001028,src:000992,op:havoc,rep:2.der b/tests/invalid-x509/id:001028,src:000992,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index e08213d..0000000 --- a/tests/invalid-x509/id:001028,src:000992,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001033,src:001016,op:int32,pos:239,val:+0.der b/tests/invalid-x509/id:001033,src:001016,op:int32,pos:239,val:+0.der Binary files differdeleted file mode 100644 index 13b6248..0000000 --- a/tests/invalid-x509/id:001033,src:001016,op:int32,pos:239,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001034,src:001017,op:int32,pos:240,val:+0.der b/tests/invalid-x509/id:001034,src:001017,op:int32,pos:240,val:+0.der Binary files differdeleted file mode 100644 index e5c13f3..0000000 --- a/tests/invalid-x509/id:001034,src:001017,op:int32,pos:240,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001037,src:000942,op:int32,pos:48,val:+0.der b/tests/invalid-x509/id:001037,src:000942,op:int32,pos:48,val:+0.der Binary files differdeleted file mode 100644 index d69dd5c..0000000 --- a/tests/invalid-x509/id:001037,src:000942,op:int32,pos:48,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001040,src:001035,op:int32,pos:234,val:+0.der b/tests/invalid-x509/id:001040,src:001035,op:int32,pos:234,val:+0.der Binary files differdeleted file mode 100644 index cd9f10f..0000000 --- a/tests/invalid-x509/id:001040,src:001035,op:int32,pos:234,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001041,src:001035,op:int32,pos:235,val:+0.der b/tests/invalid-x509/id:001041,src:001035,op:int32,pos:235,val:+0.der Binary files differdeleted file mode 100644 index 5ede851..0000000 --- a/tests/invalid-x509/id:001041,src:001035,op:int32,pos:235,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001042,src:001036,op:flip2,pos:229.der b/tests/invalid-x509/id:001042,src:001036,op:flip2,pos:229.der Binary files differdeleted file mode 100644 index b4bf50f..0000000 --- a/tests/invalid-x509/id:001042,src:001036,op:flip2,pos:229.der +++ /dev/null diff --git a/tests/invalid-x509/id:001044,src:001039,op:int32,pos:236,val:+0.der b/tests/invalid-x509/id:001044,src:001039,op:int32,pos:236,val:+0.der Binary files differdeleted file mode 100644 index f0c75c7..0000000 --- a/tests/invalid-x509/id:001044,src:001039,op:int32,pos:236,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001047,src:000328,op:havoc,rep:2.der b/tests/invalid-x509/id:001047,src:000328,op:havoc,rep:2.der deleted file mode 100644 index de605c1..0000000 --- a/tests/invalid-x509/id:001047,src:000328,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -?€€€€?€€€€ÿ‡‡†ÿ‡‡†t
\ No newline at end of file diff --git a/tests/invalid-x509/id:001051,src:001050,op:havoc,rep:2.der b/tests/invalid-x509/id:001051,src:001050,op:havoc,rep:2.der deleted file mode 100644 index 3ccab9a..0000000 --- a/tests/invalid-x509/id:001051,src:001050,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -?€€€€?€€€€€ÿ‡w†?€€ÿ
\ No newline at end of file diff --git a/tests/invalid-x509/id:001052,src:001050,op:havoc,rep:2.der b/tests/invalid-x509/id:001052,src:001050,op:havoc,rep:2.der deleted file mode 100644 index 47b8df5..0000000 --- a/tests/invalid-x509/id:001052,src:001050,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -?€€€€?€€€€€ÿ‡‡†€ÿ
\ No newline at end of file diff --git a/tests/invalid-x509/id:001054,src:001050,op:havoc,rep:2.der b/tests/invalid-x509/id:001054,src:001050,op:havoc,rep:2.der deleted file mode 100644 index 3fe4570..0000000 --- a/tests/invalid-x509/id:001054,src:001050,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -?€€€€?€€€€€ÿ‡‡†€€€ÿ
\ No newline at end of file diff --git a/tests/invalid-x509/id:001056,src:001050,op:havoc,rep:2.der b/tests/invalid-x509/id:001056,src:001050,op:havoc,rep:2.der deleted file mode 100644 index 6bc079b..0000000 --- a/tests/invalid-x509/id:001056,src:001050,op:havoc,rep:2.der +++ /dev/null @@ -1 +0,0 @@ -?€?€€€€€ÿ‡Ÿ†€€ÿ
\ No newline at end of file diff --git a/tests/invalid-x509/id:001069,src:000337,op:flip1,pos:285.der b/tests/invalid-x509/id:001069,src:000337,op:flip1,pos:285.der Binary files differdeleted file mode 100644 index 6c8a004..0000000 --- a/tests/invalid-x509/id:001069,src:000337,op:flip1,pos:285.der +++ /dev/null diff --git a/tests/invalid-x509/id:001071,src:000337,op:flip8,pos:245.der b/tests/invalid-x509/id:001071,src:000337,op:flip8,pos:245.der Binary files differdeleted file mode 100644 index 96b590d..0000000 --- a/tests/invalid-x509/id:001071,src:000337,op:flip8,pos:245.der +++ /dev/null diff --git a/tests/invalid-x509/id:001072,src:000337,op:havoc,rep:4.der b/tests/invalid-x509/id:001072,src:000337,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index a805c7b..0000000 --- a/tests/invalid-x509/id:001072,src:000337,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001076,src:001073,op:havoc,rep:64.der b/tests/invalid-x509/id:001076,src:001073,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 43a13c1..0000000 --- a/tests/invalid-x509/id:001076,src:001073,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001078,src:001073,op:havoc,rep:128.der b/tests/invalid-x509/id:001078,src:001073,op:havoc,rep:128.der Binary files differdeleted file mode 100644 index ee3e64e..0000000 --- a/tests/invalid-x509/id:001078,src:001073,op:havoc,rep:128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001079,src:001073,op:havoc,rep:128.der b/tests/invalid-x509/id:001079,src:001073,op:havoc,rep:128.der Binary files differdeleted file mode 100644 index ffac2f3..0000000 --- a/tests/invalid-x509/id:001079,src:001073,op:havoc,rep:128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001081,src:001073,op:havoc,rep:4.der b/tests/invalid-x509/id:001081,src:001073,op:havoc,rep:4.der deleted file mode 100644 index 0ee2768..0000000 --- a/tests/invalid-x509/id:001081,src:001073,op:havoc,rep:4.der +++ /dev/null @@ -1,3 +0,0 @@ -0‚ð0€€€ú0 UÿÿûÎŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒ - -G
\ No newline at end of file diff --git a/tests/invalid-x509/id:001082,src:001073,op:havoc,rep:16.der b/tests/invalid-x509/id:001082,src:001073,op:havoc,rep:16.der deleted file mode 100644 index 90df437..0000000 --- a/tests/invalid-x509/id:001082,src:001073,op:havoc,rep:16.der +++ /dev/null @@ -1,3 +0,0 @@ -0‚ð0€€€ú2ŒŒ†ŒŒŒŒŒŒŒŒŒŒŒŒŒ†ŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒ - -Gogle Xnc1%0#\Google Internet AuthoriTy ÿ2
\ No newline at end of file diff --git a/tests/invalid-x509/id:001083,src:001080,op:havoc,rep:16.der b/tests/invalid-x509/id:001083,src:001080,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index ca6df8a..0000000 --- a/tests/invalid-x509/id:001083,src:001080,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001084,src:001080,op:havoc,rep:16.der b/tests/invalid-x509/id:001084,src:001080,op:havoc,rep:16.der deleted file mode 100644 index fda118d..0000000 --- a/tests/invalid-x509/id:001084,src:001080,op:havoc,rep:16.der +++ /dev/null @@ -1 +0,0 @@ -0‚ð0€€€ú0 UUS@Î0US@Î0US¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤€€€a¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦gzzzzzzzzzzzzzzzzzzzzzzzzzzzzz€€€a¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦g‡€€€`€€€a¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦a¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦gŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒ
\ No newline at end of file diff --git a/tests/invalid-x509/id:001087,src:000435,op:havoc,rep:8.der b/tests/invalid-x509/id:001087,src:000435,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 460ab1f..0000000 --- a/tests/invalid-x509/id:001087,src:000435,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001095,src:000435,op:havoc,rep:64,+cov.der b/tests/invalid-x509/id:001095,src:000435,op:havoc,rep:64,+cov.der Binary files differdeleted file mode 100644 index 28750d5..0000000 --- a/tests/invalid-x509/id:001095,src:000435,op:havoc,rep:64,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001098,src:000992,op:havoc,rep:2.der b/tests/invalid-x509/id:001098,src:000992,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 09f6ccf..0000000 --- a/tests/invalid-x509/id:001098,src:000992,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001099,src:001095,op:flip1,pos:573.der b/tests/invalid-x509/id:001099,src:001095,op:flip1,pos:573.der Binary files differdeleted file mode 100644 index 3fce894..0000000 --- a/tests/invalid-x509/id:001099,src:001095,op:flip1,pos:573.der +++ /dev/null diff --git a/tests/invalid-x509/id:001104,src:001096,op:havoc,rep:4.der b/tests/invalid-x509/id:001104,src:001096,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 6f4d18b..0000000 --- a/tests/invalid-x509/id:001104,src:001096,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001105,src:001102,op:havoc,rep:8.der b/tests/invalid-x509/id:001105,src:001102,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index c00e813..0000000 --- a/tests/invalid-x509/id:001105,src:001102,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001106,src:000413,op:havoc,rep:4.der b/tests/invalid-x509/id:001106,src:000413,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 3bd1529..0000000 --- a/tests/invalid-x509/id:001106,src:000413,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001108,src:000004,op:ext_AO,pos:258.der b/tests/invalid-x509/id:001108,src:000004,op:ext_AO,pos:258.der Binary files differdeleted file mode 100644 index 857e9d4..0000000 --- a/tests/invalid-x509/id:001108,src:000004,op:ext_AO,pos:258.der +++ /dev/null diff --git a/tests/invalid-x509/id:001111,src:001108,op:flip1,pos:262.der b/tests/invalid-x509/id:001111,src:001108,op:flip1,pos:262.der Binary files differdeleted file mode 100644 index 8cfb14c..0000000 --- a/tests/invalid-x509/id:001111,src:001108,op:flip1,pos:262.der +++ /dev/null diff --git a/tests/invalid-x509/id:001112,src:001108,op:ext_AO,pos:280.der b/tests/invalid-x509/id:001112,src:001108,op:ext_AO,pos:280.der Binary files differdeleted file mode 100644 index 7478f56..0000000 --- a/tests/invalid-x509/id:001112,src:001108,op:ext_AO,pos:280.der +++ /dev/null diff --git a/tests/invalid-x509/id:001114,src:000425,op:flip1,pos:749.der b/tests/invalid-x509/id:001114,src:000425,op:flip1,pos:749.der Binary files differdeleted file mode 100644 index 9c6e1d8..0000000 --- a/tests/invalid-x509/id:001114,src:000425,op:flip1,pos:749.der +++ /dev/null diff --git a/tests/invalid-x509/id:001116,src:000584,op:havoc,rep:2.der b/tests/invalid-x509/id:001116,src:000584,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index ea775ca..0000000 --- a/tests/invalid-x509/id:001116,src:000584,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001118,src:000592,op:havoc,rep:64.der b/tests/invalid-x509/id:001118,src:000592,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 4efde52..0000000 --- a/tests/invalid-x509/id:001118,src:000592,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001120,src:000669,op:int16,pos:6,val:be:+1000,+cov.der b/tests/invalid-x509/id:001120,src:000669,op:int16,pos:6,val:be:+1000,+cov.der Binary files differdeleted file mode 100644 index 03c65a0..0000000 --- a/tests/invalid-x509/id:001120,src:000669,op:int16,pos:6,val:be:+1000,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001123,src:000589,op:flip2,pos:551.der b/tests/invalid-x509/id:001123,src:000589,op:flip2,pos:551.der Binary files differdeleted file mode 100644 index 0d1f2b8..0000000 --- a/tests/invalid-x509/id:001123,src:000589,op:flip2,pos:551.der +++ /dev/null diff --git a/tests/invalid-x509/id:001124,src:000589,op:arith8,pos:551,val:+9.der b/tests/invalid-x509/id:001124,src:000589,op:arith8,pos:551,val:+9.der Binary files differdeleted file mode 100644 index 06ea8a6..0000000 --- a/tests/invalid-x509/id:001124,src:000589,op:arith8,pos:551,val:+9.der +++ /dev/null diff --git a/tests/invalid-x509/id:001125,src:000589,op:int32,pos:550,val:-128.der b/tests/invalid-x509/id:001125,src:000589,op:int32,pos:550,val:-128.der Binary files differdeleted file mode 100644 index 43359da..0000000 --- a/tests/invalid-x509/id:001125,src:000589,op:int32,pos:550,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001129,src:001126,op:arith8,pos:503,val:+1.der b/tests/invalid-x509/id:001129,src:001126,op:arith8,pos:503,val:+1.der Binary files differdeleted file mode 100644 index 52f3e77..0000000 --- a/tests/invalid-x509/id:001129,src:001126,op:arith8,pos:503,val:+1.der +++ /dev/null diff --git a/tests/invalid-x509/id:001130,src:001126,op:havoc,rep:4.der b/tests/invalid-x509/id:001130,src:001126,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 2d8aed1..0000000 --- a/tests/invalid-x509/id:001130,src:001126,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001136,src:000605,op:havoc,rep:4.der b/tests/invalid-x509/id:001136,src:000605,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 17781df..0000000 --- a/tests/invalid-x509/id:001136,src:000605,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001137,src:000827,op:flip1,pos:210.der b/tests/invalid-x509/id:001137,src:000827,op:flip1,pos:210.der Binary files differdeleted file mode 100644 index 0994ec2..0000000 --- a/tests/invalid-x509/id:001137,src:000827,op:flip1,pos:210.der +++ /dev/null diff --git a/tests/invalid-x509/id:001138,src:000827,op:arith8,pos:210,val:-12.der b/tests/invalid-x509/id:001138,src:000827,op:arith8,pos:210,val:-12.der Binary files differdeleted file mode 100644 index fca9a54..0000000 --- a/tests/invalid-x509/id:001138,src:000827,op:arith8,pos:210,val:-12.der +++ /dev/null diff --git a/tests/invalid-x509/id:001145,src:000728,op:havoc,rep:32.der b/tests/invalid-x509/id:001145,src:000728,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 0e132a1..0000000 --- a/tests/invalid-x509/id:001145,src:000728,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001148,src:001142,op:havoc,rep:8.der b/tests/invalid-x509/id:001148,src:001142,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 68bd5b8..0000000 --- a/tests/invalid-x509/id:001148,src:001142,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001156,src:001152,op:flip1,pos:39.der b/tests/invalid-x509/id:001156,src:001152,op:flip1,pos:39.der Binary files differdeleted file mode 100644 index 9c46db2..0000000 --- a/tests/invalid-x509/id:001156,src:001152,op:flip1,pos:39.der +++ /dev/null diff --git a/tests/invalid-x509/id:001163,src:001152,op:flip1,pos:46.der b/tests/invalid-x509/id:001163,src:001152,op:flip1,pos:46.der Binary files differdeleted file mode 100644 index 5d1935c..0000000 --- a/tests/invalid-x509/id:001163,src:001152,op:flip1,pos:46.der +++ /dev/null diff --git a/tests/invalid-x509/id:001164,src:001152,op:flip1,pos:47.der b/tests/invalid-x509/id:001164,src:001152,op:flip1,pos:47.der Binary files differdeleted file mode 100644 index 21427e3..0000000 --- a/tests/invalid-x509/id:001164,src:001152,op:flip1,pos:47.der +++ /dev/null diff --git a/tests/invalid-x509/id:001169,src:001152,op:flip1,pos:64.der b/tests/invalid-x509/id:001169,src:001152,op:flip1,pos:64.der Binary files differdeleted file mode 100644 index 1e09e7d..0000000 --- a/tests/invalid-x509/id:001169,src:001152,op:flip1,pos:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001170,src:001152,op:flip1,pos:95.der b/tests/invalid-x509/id:001170,src:001152,op:flip1,pos:95.der Binary files differdeleted file mode 100644 index 80720d1..0000000 --- a/tests/invalid-x509/id:001170,src:001152,op:flip1,pos:95.der +++ /dev/null diff --git a/tests/invalid-x509/id:001172,src:001152,op:havoc,rep:4.der b/tests/invalid-x509/id:001172,src:001152,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 94dd54d..0000000 --- a/tests/invalid-x509/id:001172,src:001152,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001173,src:001152,op:havoc,rep:16.der b/tests/invalid-x509/id:001173,src:001152,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index aab1e05..0000000 --- a/tests/invalid-x509/id:001173,src:001152,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001175,src:001159,op:havoc,rep:4.der b/tests/invalid-x509/id:001175,src:001159,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 9491a8c..0000000 --- a/tests/invalid-x509/id:001175,src:001159,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001176,src:001165,op:havoc,rep:32.der b/tests/invalid-x509/id:001176,src:001165,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 648027a..0000000 --- a/tests/invalid-x509/id:001176,src:001165,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001177,src:000591,op:arith8,pos:575,val:+3.der b/tests/invalid-x509/id:001177,src:000591,op:arith8,pos:575,val:+3.der Binary files differdeleted file mode 100644 index 79ce6d1..0000000 --- a/tests/invalid-x509/id:001177,src:000591,op:arith8,pos:575,val:+3.der +++ /dev/null diff --git a/tests/invalid-x509/id:001178,src:000656,op:int32,pos:353,val:-32768,+cov.der b/tests/invalid-x509/id:001178,src:000656,op:int32,pos:353,val:-32768,+cov.der Binary files differdeleted file mode 100644 index 1f38680..0000000 --- a/tests/invalid-x509/id:001178,src:000656,op:int32,pos:353,val:-32768,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001179,src:001178,op:flip1,pos:355,+cov.der b/tests/invalid-x509/id:001179,src:001178,op:flip1,pos:355,+cov.der Binary files differdeleted file mode 100644 index 55550bc..0000000 --- a/tests/invalid-x509/id:001179,src:001178,op:flip1,pos:355,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001180,src:001178,op:flip1,pos:355,+cov.der b/tests/invalid-x509/id:001180,src:001178,op:flip1,pos:355,+cov.der Binary files differdeleted file mode 100644 index 5902867..0000000 --- a/tests/invalid-x509/id:001180,src:001178,op:flip1,pos:355,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001185,src:000857,op:havoc,rep:16.der b/tests/invalid-x509/id:001185,src:000857,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index c96049b..0000000 --- a/tests/invalid-x509/id:001185,src:000857,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001188,src:000966,op:havoc,rep:32.der b/tests/invalid-x509/id:001188,src:000966,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index f213473..0000000 --- a/tests/invalid-x509/id:001188,src:000966,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001189,src:000990,op:havoc,rep:2.der b/tests/invalid-x509/id:001189,src:000990,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 9fb8044..0000000 --- a/tests/invalid-x509/id:001189,src:000990,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001190,src:001177,op:arith8,pos:639,val:+3.der b/tests/invalid-x509/id:001190,src:001177,op:arith8,pos:639,val:+3.der Binary files differdeleted file mode 100644 index 0e56e75..0000000 --- a/tests/invalid-x509/id:001190,src:001177,op:arith8,pos:639,val:+3.der +++ /dev/null diff --git a/tests/invalid-x509/id:001191,src:001189,op:flip1,pos:27.der b/tests/invalid-x509/id:001191,src:001189,op:flip1,pos:27.der Binary files differdeleted file mode 100644 index 8ebd496..0000000 --- a/tests/invalid-x509/id:001191,src:001189,op:flip1,pos:27.der +++ /dev/null diff --git a/tests/invalid-x509/id:001192,src:001189,op:int32,pos:25,val:+255.der b/tests/invalid-x509/id:001192,src:001189,op:int32,pos:25,val:+255.der Binary files differdeleted file mode 100644 index 404e0b4..0000000 --- a/tests/invalid-x509/id:001192,src:001189,op:int32,pos:25,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001193,src:001189,op:ext_AO,pos:5.der b/tests/invalid-x509/id:001193,src:001189,op:ext_AO,pos:5.der Binary files differdeleted file mode 100644 index 11c8050..0000000 --- a/tests/invalid-x509/id:001193,src:001189,op:ext_AO,pos:5.der +++ /dev/null diff --git a/tests/invalid-x509/id:001194,src:001189,op:havoc,rep:16.der b/tests/invalid-x509/id:001194,src:001189,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 2eac8a0..0000000 --- a/tests/invalid-x509/id:001194,src:001189,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001195,src:001189,op:havoc,rep:32.der b/tests/invalid-x509/id:001195,src:001189,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index aec51c3..0000000 --- a/tests/invalid-x509/id:001195,src:001189,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001196,src:001189,op:havoc,rep:2.der b/tests/invalid-x509/id:001196,src:001189,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 12e51ce..0000000 --- a/tests/invalid-x509/id:001196,src:001189,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001197,src:001189,op:havoc,rep:8.der b/tests/invalid-x509/id:001197,src:001189,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index e9524a3..0000000 --- a/tests/invalid-x509/id:001197,src:001189,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001198,src:001189,op:havoc,rep:4.der b/tests/invalid-x509/id:001198,src:001189,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 5508ec3..0000000 --- a/tests/invalid-x509/id:001198,src:001189,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001200,src:001193,op:flip2,pos:154.der b/tests/invalid-x509/id:001200,src:001193,op:flip2,pos:154.der Binary files differdeleted file mode 100644 index b3e5154..0000000 --- a/tests/invalid-x509/id:001200,src:001193,op:flip2,pos:154.der +++ /dev/null diff --git a/tests/invalid-x509/id:001201,src:001195,op:int8,pos:47,val:+0.der b/tests/invalid-x509/id:001201,src:001195,op:int8,pos:47,val:+0.der Binary files differdeleted file mode 100644 index 5fdeae6..0000000 --- a/tests/invalid-x509/id:001201,src:001195,op:int8,pos:47,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001202,src:001196,op:flip1,pos:31.der b/tests/invalid-x509/id:001202,src:001196,op:flip1,pos:31.der Binary files differdeleted file mode 100644 index a52629d..0000000 --- a/tests/invalid-x509/id:001202,src:001196,op:flip1,pos:31.der +++ /dev/null diff --git a/tests/invalid-x509/id:001204,src:000710,op:arith8,pos:639,val:+3.der b/tests/invalid-x509/id:001204,src:000710,op:arith8,pos:639,val:+3.der Binary files differdeleted file mode 100644 index 50386af..0000000 --- a/tests/invalid-x509/id:001204,src:000710,op:arith8,pos:639,val:+3.der +++ /dev/null diff --git a/tests/invalid-x509/id:001206,src:000829,op:havoc,rep:16.der b/tests/invalid-x509/id:001206,src:000829,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 5ac131f..0000000 --- a/tests/invalid-x509/id:001206,src:000829,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001207,src:000886,op:int32,pos:110,val:+0.der b/tests/invalid-x509/id:001207,src:000886,op:int32,pos:110,val:+0.der Binary files differdeleted file mode 100644 index 397c602..0000000 --- a/tests/invalid-x509/id:001207,src:000886,op:int32,pos:110,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001208,src:000934,op:havoc,rep:2.der b/tests/invalid-x509/id:001208,src:000934,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index fca1b20..0000000 --- a/tests/invalid-x509/id:001208,src:000934,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001209,src:000958,op:int16,pos:230,val:+1024.der b/tests/invalid-x509/id:001209,src:000958,op:int16,pos:230,val:+1024.der Binary files differdeleted file mode 100644 index ed2f042..0000000 --- a/tests/invalid-x509/id:001209,src:000958,op:int16,pos:230,val:+1024.der +++ /dev/null diff --git a/tests/invalid-x509/id:001210,src:001025,op:flip1,pos:204.der b/tests/invalid-x509/id:001210,src:001025,op:flip1,pos:204.der Binary files differdeleted file mode 100644 index 56c5eb8..0000000 --- a/tests/invalid-x509/id:001210,src:001025,op:flip1,pos:204.der +++ /dev/null diff --git a/tests/invalid-x509/id:001215,src:001093,op:havoc,rep:16.der b/tests/invalid-x509/id:001215,src:001093,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index d53f640..0000000 --- a/tests/invalid-x509/id:001215,src:001093,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001217,src:001119,op:flip1,pos:27.der b/tests/invalid-x509/id:001217,src:001119,op:flip1,pos:27.der Binary files differdeleted file mode 100644 index 1454617..0000000 --- a/tests/invalid-x509/id:001217,src:001119,op:flip1,pos:27.der +++ /dev/null diff --git a/tests/invalid-x509/id:001219,src:001136,op:flip1,pos:40.der b/tests/invalid-x509/id:001219,src:001136,op:flip1,pos:40.der Binary files differdeleted file mode 100644 index 6fcb82f..0000000 --- a/tests/invalid-x509/id:001219,src:001136,op:flip1,pos:40.der +++ /dev/null diff --git a/tests/invalid-x509/id:001244,src:001239,op:flip1,pos:344.der b/tests/invalid-x509/id:001244,src:001239,op:flip1,pos:344.der Binary files differdeleted file mode 100644 index 6adb530..0000000 --- a/tests/invalid-x509/id:001244,src:001239,op:flip1,pos:344.der +++ /dev/null diff --git a/tests/invalid-x509/id:001245,src:001239,op:flip1,pos:347.der b/tests/invalid-x509/id:001245,src:001239,op:flip1,pos:347.der Binary files differdeleted file mode 100644 index 833c57d..0000000 --- a/tests/invalid-x509/id:001245,src:001239,op:flip1,pos:347.der +++ /dev/null diff --git a/tests/invalid-x509/id:001247,src:001239,op:flip1,pos:356.der b/tests/invalid-x509/id:001247,src:001239,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index 077598b..0000000 --- a/tests/invalid-x509/id:001247,src:001239,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001248,src:001239,op:flip1,pos:356.der b/tests/invalid-x509/id:001248,src:001239,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index 7eee675..0000000 --- a/tests/invalid-x509/id:001248,src:001239,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001250,src:001239,op:flip2,pos:356.der b/tests/invalid-x509/id:001250,src:001239,op:flip2,pos:356.der Binary files differdeleted file mode 100644 index 531e9f5..0000000 --- a/tests/invalid-x509/id:001250,src:001239,op:flip2,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001251,src:001239,op:flip4,pos:347.der b/tests/invalid-x509/id:001251,src:001239,op:flip4,pos:347.der Binary files differdeleted file mode 100644 index a71c101..0000000 --- a/tests/invalid-x509/id:001251,src:001239,op:flip4,pos:347.der +++ /dev/null diff --git a/tests/invalid-x509/id:001252,src:001239,op:arith8,pos:310,val:+10.der b/tests/invalid-x509/id:001252,src:001239,op:arith8,pos:310,val:+10.der Binary files differdeleted file mode 100644 index 379e087..0000000 --- a/tests/invalid-x509/id:001252,src:001239,op:arith8,pos:310,val:+10.der +++ /dev/null diff --git a/tests/invalid-x509/id:001254,src:001239,op:int32,pos:353,val:+255.der b/tests/invalid-x509/id:001254,src:001239,op:int32,pos:353,val:+255.der Binary files differdeleted file mode 100644 index 9da5edf..0000000 --- a/tests/invalid-x509/id:001254,src:001239,op:int32,pos:353,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001255,src:001239,op:int32,pos:353,val:be:+1000.der b/tests/invalid-x509/id:001255,src:001239,op:int32,pos:353,val:be:+1000.der Binary files differdeleted file mode 100644 index 1fc12ba..0000000 --- a/tests/invalid-x509/id:001255,src:001239,op:int32,pos:353,val:be:+1000.der +++ /dev/null diff --git a/tests/invalid-x509/id:001257,src:001239,op:ext_AO,pos:355.der b/tests/invalid-x509/id:001257,src:001239,op:ext_AO,pos:355.der Binary files differdeleted file mode 100644 index c4b90e6..0000000 --- a/tests/invalid-x509/id:001257,src:001239,op:ext_AO,pos:355.der +++ /dev/null diff --git a/tests/invalid-x509/id:001258,src:001239,op:ext_AO,pos:356.der b/tests/invalid-x509/id:001258,src:001239,op:ext_AO,pos:356.der Binary files differdeleted file mode 100644 index 8bd72d5..0000000 --- a/tests/invalid-x509/id:001258,src:001239,op:ext_AO,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001259,src:001252,op:flip1,pos:356.der b/tests/invalid-x509/id:001259,src:001252,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index df22449..0000000 --- a/tests/invalid-x509/id:001259,src:001252,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001260,src:001252,op:flip1,pos:356.der b/tests/invalid-x509/id:001260,src:001252,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index 1a7bee7..0000000 --- a/tests/invalid-x509/id:001260,src:001252,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001261,src:001252,op:flip2,pos:356.der b/tests/invalid-x509/id:001261,src:001252,op:flip2,pos:356.der Binary files differdeleted file mode 100644 index 59978c4..0000000 --- a/tests/invalid-x509/id:001261,src:001252,op:flip2,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001262,src:001252,op:int16,pos:355,val:+255.der b/tests/invalid-x509/id:001262,src:001252,op:int16,pos:355,val:+255.der Binary files differdeleted file mode 100644 index b0aba48..0000000 --- a/tests/invalid-x509/id:001262,src:001252,op:int16,pos:355,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001264,src:001252,op:int32,pos:353,val:be:+1000.der b/tests/invalid-x509/id:001264,src:001252,op:int32,pos:353,val:be:+1000.der Binary files differdeleted file mode 100644 index 8c47445..0000000 --- a/tests/invalid-x509/id:001264,src:001252,op:int32,pos:353,val:be:+1000.der +++ /dev/null diff --git a/tests/invalid-x509/id:001265,src:001252,op:int32,pos:354,val:+255.der b/tests/invalid-x509/id:001265,src:001252,op:int32,pos:354,val:+255.der Binary files differdeleted file mode 100644 index 507b763..0000000 --- a/tests/invalid-x509/id:001265,src:001252,op:int32,pos:354,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001266,src:001252,op:ext_AO,pos:355.der b/tests/invalid-x509/id:001266,src:001252,op:ext_AO,pos:355.der Binary files differdeleted file mode 100644 index dde7b0d..0000000 --- a/tests/invalid-x509/id:001266,src:001252,op:ext_AO,pos:355.der +++ /dev/null diff --git a/tests/invalid-x509/id:001267,src:001252,op:ext_AO,pos:356.der b/tests/invalid-x509/id:001267,src:001252,op:ext_AO,pos:356.der Binary files differdeleted file mode 100644 index b693bac..0000000 --- a/tests/invalid-x509/id:001267,src:001252,op:ext_AO,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001270,src:001252,op:havoc,rep:8.der b/tests/invalid-x509/id:001270,src:001252,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index f09be9b..0000000 --- a/tests/invalid-x509/id:001270,src:001252,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001272,src:001254,op:flip1,pos:207.der b/tests/invalid-x509/id:001272,src:001254,op:flip1,pos:207.der Binary files differdeleted file mode 100644 index 0103c02..0000000 --- a/tests/invalid-x509/id:001272,src:001254,op:flip1,pos:207.der +++ /dev/null diff --git a/tests/invalid-x509/id:001273,src:001254,op:flip1,pos:278.der b/tests/invalid-x509/id:001273,src:001254,op:flip1,pos:278.der Binary files differdeleted file mode 100644 index a14c1e7..0000000 --- a/tests/invalid-x509/id:001273,src:001254,op:flip1,pos:278.der +++ /dev/null diff --git a/tests/invalid-x509/id:001274,src:001254,op:flip1,pos:279.der b/tests/invalid-x509/id:001274,src:001254,op:flip1,pos:279.der Binary files differdeleted file mode 100644 index a0bc684..0000000 --- a/tests/invalid-x509/id:001274,src:001254,op:flip1,pos:279.der +++ /dev/null diff --git a/tests/invalid-x509/id:001275,src:001254,op:flip1,pos:328.der b/tests/invalid-x509/id:001275,src:001254,op:flip1,pos:328.der Binary files differdeleted file mode 100644 index 3d96ca9..0000000 --- a/tests/invalid-x509/id:001275,src:001254,op:flip1,pos:328.der +++ /dev/null diff --git a/tests/invalid-x509/id:001276,src:001254,op:flip1,pos:344.der b/tests/invalid-x509/id:001276,src:001254,op:flip1,pos:344.der Binary files differdeleted file mode 100644 index 40356a7..0000000 --- a/tests/invalid-x509/id:001276,src:001254,op:flip1,pos:344.der +++ /dev/null diff --git a/tests/invalid-x509/id:001277,src:001254,op:flip1,pos:347.der b/tests/invalid-x509/id:001277,src:001254,op:flip1,pos:347.der Binary files differdeleted file mode 100644 index 5a3ef64..0000000 --- a/tests/invalid-x509/id:001277,src:001254,op:flip1,pos:347.der +++ /dev/null diff --git a/tests/invalid-x509/id:001278,src:001254,op:flip1,pos:353.der b/tests/invalid-x509/id:001278,src:001254,op:flip1,pos:353.der Binary files differdeleted file mode 100644 index e27303e..0000000 --- a/tests/invalid-x509/id:001278,src:001254,op:flip1,pos:353.der +++ /dev/null diff --git a/tests/invalid-x509/id:001279,src:001254,op:flip1,pos:353.der b/tests/invalid-x509/id:001279,src:001254,op:flip1,pos:353.der Binary files differdeleted file mode 100644 index c86a1d8..0000000 --- a/tests/invalid-x509/id:001279,src:001254,op:flip1,pos:353.der +++ /dev/null diff --git a/tests/invalid-x509/id:001280,src:001254,op:flip2,pos:353.der b/tests/invalid-x509/id:001280,src:001254,op:flip2,pos:353.der Binary files differdeleted file mode 100644 index 18051c9..0000000 --- a/tests/invalid-x509/id:001280,src:001254,op:flip2,pos:353.der +++ /dev/null diff --git a/tests/invalid-x509/id:001282,src:001254,op:arith8,pos:310,val:+7.der b/tests/invalid-x509/id:001282,src:001254,op:arith8,pos:310,val:+7.der Binary files differdeleted file mode 100644 index 9d4913b..0000000 --- a/tests/invalid-x509/id:001282,src:001254,op:arith8,pos:310,val:+7.der +++ /dev/null diff --git a/tests/invalid-x509/id:001286,src:001254,op:int32,pos:351,val:+255.der b/tests/invalid-x509/id:001286,src:001254,op:int32,pos:351,val:+255.der Binary files differdeleted file mode 100644 index f351421..0000000 --- a/tests/invalid-x509/id:001286,src:001254,op:int32,pos:351,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001287,src:001254,op:havoc,rep:8.der b/tests/invalid-x509/id:001287,src:001254,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 78d6f48..0000000 --- a/tests/invalid-x509/id:001287,src:001254,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001288,src:001254,op:havoc,rep:4.der b/tests/invalid-x509/id:001288,src:001254,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index eadd68e..0000000 --- a/tests/invalid-x509/id:001288,src:001254,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001289,src:001254,op:havoc,rep:4.der b/tests/invalid-x509/id:001289,src:001254,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index b5c669a..0000000 --- a/tests/invalid-x509/id:001289,src:001254,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001291,src:001255,op:flip1,pos:278.der b/tests/invalid-x509/id:001291,src:001255,op:flip1,pos:278.der Binary files differdeleted file mode 100644 index 0acb26e..0000000 --- a/tests/invalid-x509/id:001291,src:001255,op:flip1,pos:278.der +++ /dev/null diff --git a/tests/invalid-x509/id:001293,src:001255,op:int16,pos:356,val:-128.der b/tests/invalid-x509/id:001293,src:001255,op:int16,pos:356,val:-128.der Binary files differdeleted file mode 100644 index 1c8880e..0000000 --- a/tests/invalid-x509/id:001293,src:001255,op:int16,pos:356,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001294,src:001271,op:flip1,pos:353.der b/tests/invalid-x509/id:001294,src:001271,op:flip1,pos:353.der Binary files differdeleted file mode 100644 index d2a5ad7..0000000 --- a/tests/invalid-x509/id:001294,src:001271,op:flip1,pos:353.der +++ /dev/null diff --git a/tests/invalid-x509/id:001298,src:001297,op:flip1,pos:207.der b/tests/invalid-x509/id:001298,src:001297,op:flip1,pos:207.der Binary files differdeleted file mode 100644 index bf2581a..0000000 --- a/tests/invalid-x509/id:001298,src:001297,op:flip1,pos:207.der +++ /dev/null diff --git a/tests/invalid-x509/id:001300,src:001297,op:flip1,pos:278.der b/tests/invalid-x509/id:001300,src:001297,op:flip1,pos:278.der Binary files differdeleted file mode 100644 index 3439afe..0000000 --- a/tests/invalid-x509/id:001300,src:001297,op:flip1,pos:278.der +++ /dev/null diff --git a/tests/invalid-x509/id:001302,src:001297,op:flip1,pos:347.der b/tests/invalid-x509/id:001302,src:001297,op:flip1,pos:347.der Binary files differdeleted file mode 100644 index 0e3d972..0000000 --- a/tests/invalid-x509/id:001302,src:001297,op:flip1,pos:347.der +++ /dev/null diff --git a/tests/invalid-x509/id:001303,src:001297,op:flip4,pos:344.der b/tests/invalid-x509/id:001303,src:001297,op:flip4,pos:344.der Binary files differdeleted file mode 100644 index 56e80b2..0000000 --- a/tests/invalid-x509/id:001303,src:001297,op:flip4,pos:344.der +++ /dev/null diff --git a/tests/invalid-x509/id:001304,src:001297,op:int16,pos:354,val:+128.der b/tests/invalid-x509/id:001304,src:001297,op:int16,pos:354,val:+128.der Binary files differdeleted file mode 100644 index 5b06911..0000000 --- a/tests/invalid-x509/id:001304,src:001297,op:int16,pos:354,val:+128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001305,src:001297,op:int32,pos:349,val:be:+1024.der b/tests/invalid-x509/id:001305,src:001297,op:int32,pos:349,val:be:+1024.der Binary files differdeleted file mode 100644 index f5c38d0..0000000 --- a/tests/invalid-x509/id:001305,src:001297,op:int32,pos:349,val:be:+1024.der +++ /dev/null diff --git a/tests/invalid-x509/id:001306,src:001297,op:int32,pos:351,val:be:+512.der b/tests/invalid-x509/id:001306,src:001297,op:int32,pos:351,val:be:+512.der Binary files differdeleted file mode 100644 index 1b09c87..0000000 --- a/tests/invalid-x509/id:001306,src:001297,op:int32,pos:351,val:be:+512.der +++ /dev/null diff --git a/tests/invalid-x509/id:001308,src:001299,op:int16,pos:354,val:+128.der b/tests/invalid-x509/id:001308,src:001299,op:int16,pos:354,val:+128.der Binary files differdeleted file mode 100644 index 3151ce8..0000000 --- a/tests/invalid-x509/id:001308,src:001299,op:int16,pos:354,val:+128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001310,src:001042,op:havoc,rep:8,+cov.der b/tests/invalid-x509/id:001310,src:001042,op:havoc,rep:8,+cov.der Binary files differdeleted file mode 100644 index 5ce3cdc..0000000 --- a/tests/invalid-x509/id:001310,src:001042,op:havoc,rep:8,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001311,src:001227,op:flip1,pos:359.der b/tests/invalid-x509/id:001311,src:001227,op:flip1,pos:359.der Binary files differdeleted file mode 100644 index 9ff4990..0000000 --- a/tests/invalid-x509/id:001311,src:001227,op:flip1,pos:359.der +++ /dev/null diff --git a/tests/invalid-x509/id:001312,src:001227,op:flip4,pos:358.der b/tests/invalid-x509/id:001312,src:001227,op:flip4,pos:358.der Binary files differdeleted file mode 100644 index 6d66bae..0000000 --- a/tests/invalid-x509/id:001312,src:001227,op:flip4,pos:358.der +++ /dev/null diff --git a/tests/invalid-x509/id:001314,src:001310,op:flip1,pos:48,+cov.der b/tests/invalid-x509/id:001314,src:001310,op:flip1,pos:48,+cov.der Binary files differdeleted file mode 100644 index 0a238e0..0000000 --- a/tests/invalid-x509/id:001314,src:001310,op:flip1,pos:48,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001315,src:001310,op:flip1,pos:403,+cov.der b/tests/invalid-x509/id:001315,src:001310,op:flip1,pos:403,+cov.der Binary files differdeleted file mode 100644 index 76ca324..0000000 --- a/tests/invalid-x509/id:001315,src:001310,op:flip1,pos:403,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001316,src:001310,op:flip2,pos:48,+cov.der b/tests/invalid-x509/id:001316,src:001310,op:flip2,pos:48,+cov.der Binary files differdeleted file mode 100644 index bdeb74a..0000000 --- a/tests/invalid-x509/id:001316,src:001310,op:flip2,pos:48,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001317,src:001310,op:int32,pos:401,val:be:-32768,+cov.der b/tests/invalid-x509/id:001317,src:001310,op:int32,pos:401,val:be:-32768,+cov.der Binary files differdeleted file mode 100644 index 763e167..0000000 --- a/tests/invalid-x509/id:001317,src:001310,op:int32,pos:401,val:be:-32768,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001319,src:001314,op:flip1,pos:402,+cov.der b/tests/invalid-x509/id:001319,src:001314,op:flip1,pos:402,+cov.der Binary files differdeleted file mode 100644 index cef0616..0000000 --- a/tests/invalid-x509/id:001319,src:001314,op:flip1,pos:402,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001320,src:001314,op:flip1,pos:402,+cov.der b/tests/invalid-x509/id:001320,src:001314,op:flip1,pos:402,+cov.der Binary files differdeleted file mode 100644 index 70e4275..0000000 --- a/tests/invalid-x509/id:001320,src:001314,op:flip1,pos:402,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001321,src:001318,op:flip2,pos:752.der b/tests/invalid-x509/id:001321,src:001318,op:flip2,pos:752.der Binary files differdeleted file mode 100644 index 1addc2f..0000000 --- a/tests/invalid-x509/id:001321,src:001318,op:flip2,pos:752.der +++ /dev/null diff --git a/tests/invalid-x509/id:001322,src:000713,op:havoc,rep:4.der b/tests/invalid-x509/id:001322,src:000713,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 5f1a9e3..0000000 --- a/tests/invalid-x509/id:001322,src:000713,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001323,src:000998,op:havoc,rep:16.der b/tests/invalid-x509/id:001323,src:000998,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index eccb082..0000000 --- a/tests/invalid-x509/id:001323,src:000998,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001325,src:000998,op:havoc,rep:4.der b/tests/invalid-x509/id:001325,src:000998,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 36cc5fc..0000000 --- a/tests/invalid-x509/id:001325,src:000998,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001329,src:000998,op:havoc,rep:8.der b/tests/invalid-x509/id:001329,src:000998,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index aeff168..0000000 --- a/tests/invalid-x509/id:001329,src:000998,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001330,src:001026,op:flip1,pos:204.der b/tests/invalid-x509/id:001330,src:001026,op:flip1,pos:204.der Binary files differdeleted file mode 100644 index 5b62978..0000000 --- a/tests/invalid-x509/id:001330,src:001026,op:flip1,pos:204.der +++ /dev/null diff --git a/tests/invalid-x509/id:001331,src:001029,op:havoc,rep:16.der b/tests/invalid-x509/id:001331,src:001029,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 375787c..0000000 --- a/tests/invalid-x509/id:001331,src:001029,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001334,src:001044,op:int16,pos:241,val:+0.der b/tests/invalid-x509/id:001334,src:001044,op:int16,pos:241,val:+0.der Binary files differdeleted file mode 100644 index f73fc17..0000000 --- a/tests/invalid-x509/id:001334,src:001044,op:int16,pos:241,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001335,src:001074,op:int16,pos:227,val:+0.der b/tests/invalid-x509/id:001335,src:001074,op:int16,pos:227,val:+0.der Binary files differdeleted file mode 100644 index 3b6d12a..0000000 --- a/tests/invalid-x509/id:001335,src:001074,op:int16,pos:227,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001340,src:001120,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001340,src:001120,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index f6d29ad..0000000 --- a/tests/invalid-x509/id:001340,src:001120,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001341,src:001120,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001341,src:001120,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 514a681..0000000 --- a/tests/invalid-x509/id:001341,src:001120,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001342,src:001120,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001342,src:001120,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index de736c9..0000000 --- a/tests/invalid-x509/id:001342,src:001120,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001343,src:001120,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001343,src:001120,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index b63a484..0000000 --- a/tests/invalid-x509/id:001343,src:001120,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001344,src:001120,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001344,src:001120,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 27f5457..0000000 --- a/tests/invalid-x509/id:001344,src:001120,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001350,src:000891,op:havoc,rep:2.der b/tests/invalid-x509/id:001350,src:000891,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 3ba82d3..0000000 --- a/tests/invalid-x509/id:001350,src:000891,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001351,src:001002,op:havoc,rep:8.der b/tests/invalid-x509/id:001351,src:001002,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 8ae7746..0000000 --- a/tests/invalid-x509/id:001351,src:001002,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001352,src:001250,op:flip1,pos:207.der b/tests/invalid-x509/id:001352,src:001250,op:flip1,pos:207.der Binary files differdeleted file mode 100644 index 2d06a2e..0000000 --- a/tests/invalid-x509/id:001352,src:001250,op:flip1,pos:207.der +++ /dev/null diff --git a/tests/invalid-x509/id:001353,src:001250,op:flip1,pos:278.der b/tests/invalid-x509/id:001353,src:001250,op:flip1,pos:278.der Binary files differdeleted file mode 100644 index 1d3cdfb..0000000 --- a/tests/invalid-x509/id:001353,src:001250,op:flip1,pos:278.der +++ /dev/null diff --git a/tests/invalid-x509/id:001354,src:001250,op:flip1,pos:347.der b/tests/invalid-x509/id:001354,src:001250,op:flip1,pos:347.der Binary files differdeleted file mode 100644 index 3fd4a2a..0000000 --- a/tests/invalid-x509/id:001354,src:001250,op:flip1,pos:347.der +++ /dev/null diff --git a/tests/invalid-x509/id:001355,src:001351,op:flip1,pos:88.der b/tests/invalid-x509/id:001355,src:001351,op:flip1,pos:88.der Binary files differdeleted file mode 100644 index 5afddeb..0000000 --- a/tests/invalid-x509/id:001355,src:001351,op:flip1,pos:88.der +++ /dev/null diff --git a/tests/invalid-x509/id:001356,src:001133,op:flip4,pos:552.der b/tests/invalid-x509/id:001356,src:001133,op:flip4,pos:552.der Binary files differdeleted file mode 100644 index 72ecedf..0000000 --- a/tests/invalid-x509/id:001356,src:001133,op:flip4,pos:552.der +++ /dev/null diff --git a/tests/invalid-x509/id:001357,src:001185,op:havoc,rep:8.der b/tests/invalid-x509/id:001357,src:001185,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 37d6737..0000000 --- a/tests/invalid-x509/id:001357,src:001185,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001358,src:001187,op:havoc,rep:8.der b/tests/invalid-x509/id:001358,src:001187,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 9d905f2..0000000 --- a/tests/invalid-x509/id:001358,src:001187,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001359,src:001206,op:havoc,rep:8.der b/tests/invalid-x509/id:001359,src:001206,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 8c0ac1c..0000000 --- a/tests/invalid-x509/id:001359,src:001206,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001360,src:001206,op:havoc,rep:8.der b/tests/invalid-x509/id:001360,src:001206,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 1e4ea82..0000000 --- a/tests/invalid-x509/id:001360,src:001206,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001361,src:001208,op:flip2,pos:200.der b/tests/invalid-x509/id:001361,src:001208,op:flip2,pos:200.der Binary files differdeleted file mode 100644 index fd176cd..0000000 --- a/tests/invalid-x509/id:001361,src:001208,op:flip2,pos:200.der +++ /dev/null diff --git a/tests/invalid-x509/id:001362,src:001208,op:int32,pos:205,val:+255.der b/tests/invalid-x509/id:001362,src:001208,op:int32,pos:205,val:+255.der Binary files differdeleted file mode 100644 index 0635841..0000000 --- a/tests/invalid-x509/id:001362,src:001208,op:int32,pos:205,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001365,src:001221,op:int16,pos:114,val:+0.der b/tests/invalid-x509/id:001365,src:001221,op:int16,pos:114,val:+0.der Binary files differdeleted file mode 100644 index 590a24a..0000000 --- a/tests/invalid-x509/id:001365,src:001221,op:int16,pos:114,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001366,src:001221,op:int32,pos:113,val:+0.der b/tests/invalid-x509/id:001366,src:001221,op:int32,pos:113,val:+0.der Binary files differdeleted file mode 100644 index f6afaa1..0000000 --- a/tests/invalid-x509/id:001366,src:001221,op:int32,pos:113,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001367,src:001221,op:int32,pos:114,val:+0.der b/tests/invalid-x509/id:001367,src:001221,op:int32,pos:114,val:+0.der Binary files differdeleted file mode 100644 index 1646823..0000000 --- a/tests/invalid-x509/id:001367,src:001221,op:int32,pos:114,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001370,src:001232,op:flip4,pos:358.der b/tests/invalid-x509/id:001370,src:001232,op:flip4,pos:358.der Binary files differdeleted file mode 100644 index 3c31eff..0000000 --- a/tests/invalid-x509/id:001370,src:001232,op:flip4,pos:358.der +++ /dev/null diff --git a/tests/invalid-x509/id:001371,src:001232,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001371,src:001232,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index 32b341c..0000000 --- a/tests/invalid-x509/id:001371,src:001232,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001372,src:001232,op:havoc,rep:4.der b/tests/invalid-x509/id:001372,src:001232,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index a7f8c57..0000000 --- a/tests/invalid-x509/id:001372,src:001232,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001375,src:001122,op:flip2,pos:502.der b/tests/invalid-x509/id:001375,src:001122,op:flip2,pos:502.der Binary files differdeleted file mode 100644 index 250288d..0000000 --- a/tests/invalid-x509/id:001375,src:001122,op:flip2,pos:502.der +++ /dev/null diff --git a/tests/invalid-x509/id:001379,src:001144,op:havoc,rep:16.der b/tests/invalid-x509/id:001379,src:001144,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 5eb9bc8..0000000 --- a/tests/invalid-x509/id:001379,src:001144,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001380,src:001144,op:havoc,rep:32.der b/tests/invalid-x509/id:001380,src:001144,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 3d38fda..0000000 --- a/tests/invalid-x509/id:001380,src:001144,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001381,src:001144,op:havoc,rep:32.der b/tests/invalid-x509/id:001381,src:001144,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index e5121df..0000000 --- a/tests/invalid-x509/id:001381,src:001144,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001382,src:001231,op:flip4,pos:358.der b/tests/invalid-x509/id:001382,src:001231,op:flip4,pos:358.der Binary files differdeleted file mode 100644 index 1aeff71..0000000 --- a/tests/invalid-x509/id:001382,src:001231,op:flip4,pos:358.der +++ /dev/null diff --git a/tests/invalid-x509/id:001383,src:001235,op:flip4,pos:358.der b/tests/invalid-x509/id:001383,src:001235,op:flip4,pos:358.der Binary files differdeleted file mode 100644 index 71cefc8..0000000 --- a/tests/invalid-x509/id:001383,src:001235,op:flip4,pos:358.der +++ /dev/null diff --git a/tests/invalid-x509/id:001385,src:001240,op:flip1,pos:356.der b/tests/invalid-x509/id:001385,src:001240,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index 1a98b64..0000000 --- a/tests/invalid-x509/id:001385,src:001240,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001386,src:001240,op:ext_AO,pos:356.der b/tests/invalid-x509/id:001386,src:001240,op:ext_AO,pos:356.der Binary files differdeleted file mode 100644 index 0a60ae1..0000000 --- a/tests/invalid-x509/id:001386,src:001240,op:ext_AO,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001389,src:001242,op:int16,pos:272,val:be:+512.der b/tests/invalid-x509/id:001389,src:001242,op:int16,pos:272,val:be:+512.der Binary files differdeleted file mode 100644 index 838a270..0000000 --- a/tests/invalid-x509/id:001389,src:001242,op:int16,pos:272,val:be:+512.der +++ /dev/null diff --git a/tests/invalid-x509/id:001390,src:001242,op:int16,pos:355,val:+255.der b/tests/invalid-x509/id:001390,src:001242,op:int16,pos:355,val:+255.der Binary files differdeleted file mode 100644 index 4b8d80e..0000000 --- a/tests/invalid-x509/id:001390,src:001242,op:int16,pos:355,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001391,src:001242,op:int32,pos:354,val:+255.der b/tests/invalid-x509/id:001391,src:001242,op:int32,pos:354,val:+255.der Binary files differdeleted file mode 100644 index 3f11e25..0000000 --- a/tests/invalid-x509/id:001391,src:001242,op:int32,pos:354,val:+255.der +++ /dev/null diff --git a/tests/invalid-x509/id:001392,src:001242,op:ext_AO,pos:356.der b/tests/invalid-x509/id:001392,src:001242,op:ext_AO,pos:356.der Binary files differdeleted file mode 100644 index 157c008..0000000 --- a/tests/invalid-x509/id:001392,src:001242,op:ext_AO,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001393,src:001245,op:flip1,pos:356.der b/tests/invalid-x509/id:001393,src:001245,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index 1efae5f..0000000 --- a/tests/invalid-x509/id:001393,src:001245,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001394,src:001245,op:flip1,pos:356.der b/tests/invalid-x509/id:001394,src:001245,op:flip1,pos:356.der Binary files differdeleted file mode 100644 index 2a871bb..0000000 --- a/tests/invalid-x509/id:001394,src:001245,op:flip1,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001395,src:001245,op:ext_AO,pos:356.der b/tests/invalid-x509/id:001395,src:001245,op:ext_AO,pos:356.der Binary files differdeleted file mode 100644 index 7179ed0..0000000 --- a/tests/invalid-x509/id:001395,src:001245,op:ext_AO,pos:356.der +++ /dev/null diff --git a/tests/invalid-x509/id:001396,src:001257,op:flip4,pos:344.der b/tests/invalid-x509/id:001396,src:001257,op:flip4,pos:344.der Binary files differdeleted file mode 100644 index 53f51e4..0000000 --- a/tests/invalid-x509/id:001396,src:001257,op:flip4,pos:344.der +++ /dev/null diff --git a/tests/invalid-x509/id:001397,src:001257,op:int16,pos:357,val:-128.der b/tests/invalid-x509/id:001397,src:001257,op:int16,pos:357,val:-128.der Binary files differdeleted file mode 100644 index 20679b6..0000000 --- a/tests/invalid-x509/id:001397,src:001257,op:int16,pos:357,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001398,src:001266,op:int16,pos:357,val:-128.der b/tests/invalid-x509/id:001398,src:001266,op:int16,pos:357,val:-128.der Binary files differdeleted file mode 100644 index ec461af..0000000 --- a/tests/invalid-x509/id:001398,src:001266,op:int16,pos:357,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001400,src:001267,op:flip1,pos:279.der b/tests/invalid-x509/id:001400,src:001267,op:flip1,pos:279.der Binary files differdeleted file mode 100644 index bce098e..0000000 --- a/tests/invalid-x509/id:001400,src:001267,op:flip1,pos:279.der +++ /dev/null diff --git a/tests/invalid-x509/id:001401,src:001267,op:int16,pos:358,val:-128.der b/tests/invalid-x509/id:001401,src:001267,op:int16,pos:358,val:-128.der Binary files differdeleted file mode 100644 index 7d3ca40..0000000 --- a/tests/invalid-x509/id:001401,src:001267,op:int16,pos:358,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001402,src:001279,op:flip1,pos:278.der b/tests/invalid-x509/id:001402,src:001279,op:flip1,pos:278.der Binary files differdeleted file mode 100644 index 8cfe556..0000000 --- a/tests/invalid-x509/id:001402,src:001279,op:flip1,pos:278.der +++ /dev/null diff --git a/tests/invalid-x509/id:001403,src:001279,op:flip1,pos:328.der b/tests/invalid-x509/id:001403,src:001279,op:flip1,pos:328.der Binary files differdeleted file mode 100644 index 25895b0..0000000 --- a/tests/invalid-x509/id:001403,src:001279,op:flip1,pos:328.der +++ /dev/null diff --git a/tests/invalid-x509/id:001404,src:001303,op:havoc,rep:8.der b/tests/invalid-x509/id:001404,src:001303,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 366c501..0000000 --- a/tests/invalid-x509/id:001404,src:001303,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001405,src:001404,op:flip1,pos:198.der b/tests/invalid-x509/id:001405,src:001404,op:flip1,pos:198.der Binary files differdeleted file mode 100644 index 0e93c14..0000000 --- a/tests/invalid-x509/id:001405,src:001404,op:flip1,pos:198.der +++ /dev/null diff --git a/tests/invalid-x509/id:001407,src:001406,op:flip1,pos:209.der b/tests/invalid-x509/id:001407,src:001406,op:flip1,pos:209.der Binary files differdeleted file mode 100644 index e2efdb3..0000000 --- a/tests/invalid-x509/id:001407,src:001406,op:flip1,pos:209.der +++ /dev/null diff --git a/tests/invalid-x509/id:001408,src:001406,op:flip16,pos:209.der b/tests/invalid-x509/id:001408,src:001406,op:flip16,pos:209.der Binary files differdeleted file mode 100644 index a0625b1..0000000 --- a/tests/invalid-x509/id:001408,src:001406,op:flip16,pos:209.der +++ /dev/null diff --git a/tests/invalid-x509/id:001409,src:000748,op:int32,pos:38,val:+0.der b/tests/invalid-x509/id:001409,src:000748,op:int32,pos:38,val:+0.der Binary files differdeleted file mode 100644 index 4cf0c97..0000000 --- a/tests/invalid-x509/id:001409,src:000748,op:int32,pos:38,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001410,src:000748,op:int32,pos:48,val:+0.der b/tests/invalid-x509/id:001410,src:000748,op:int32,pos:48,val:+0.der Binary files differdeleted file mode 100644 index c6ab5b9..0000000 --- a/tests/invalid-x509/id:001410,src:000748,op:int32,pos:48,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001411,src:000979,op:havoc,rep:2.der b/tests/invalid-x509/id:001411,src:000979,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index ab9db83..0000000 --- a/tests/invalid-x509/id:001411,src:000979,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001413,src:001222,op:havoc,rep:64.der b/tests/invalid-x509/id:001413,src:001222,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 5c451dc..0000000 --- a/tests/invalid-x509/id:001413,src:001222,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001414,src:001237,op:flip4,pos:358.der b/tests/invalid-x509/id:001414,src:001237,op:flip4,pos:358.der Binary files differdeleted file mode 100644 index 07625ce..0000000 --- a/tests/invalid-x509/id:001414,src:001237,op:flip4,pos:358.der +++ /dev/null diff --git a/tests/invalid-x509/id:001415,src:001258,op:int16,pos:358,val:-128.der b/tests/invalid-x509/id:001415,src:001258,op:int16,pos:358,val:-128.der Binary files differdeleted file mode 100644 index 08e36ab..0000000 --- a/tests/invalid-x509/id:001415,src:001258,op:int16,pos:358,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001416,src:001297,op:havoc,rep:8.der b/tests/invalid-x509/id:001416,src:001297,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 0de881f..0000000 --- a/tests/invalid-x509/id:001416,src:001297,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001417,src:001314,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001417,src:001314,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 3c7fd28..0000000 --- a/tests/invalid-x509/id:001417,src:001314,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001418,src:001314,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001418,src:001314,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index ba8fc8d..0000000 --- a/tests/invalid-x509/id:001418,src:001314,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001419,src:001411,op:flip1,pos:204.der b/tests/invalid-x509/id:001419,src:001411,op:flip1,pos:204.der Binary files differdeleted file mode 100644 index e29a382..0000000 --- a/tests/invalid-x509/id:001419,src:001411,op:flip1,pos:204.der +++ /dev/null diff --git a/tests/invalid-x509/id:001420,src:001411,op:havoc,rep:2.der b/tests/invalid-x509/id:001420,src:001411,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index fd7b484..0000000 --- a/tests/invalid-x509/id:001420,src:001411,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001421,src:001147,op:havoc,rep:8.der b/tests/invalid-x509/id:001421,src:001147,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 6fe5698..0000000 --- a/tests/invalid-x509/id:001421,src:001147,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001422,src:001147,op:havoc,rep:8.der b/tests/invalid-x509/id:001422,src:001147,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 08023b6..0000000 --- a/tests/invalid-x509/id:001422,src:001147,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001424,src:001324,op:int16,pos:21,val:+256.der b/tests/invalid-x509/id:001424,src:001324,op:int16,pos:21,val:+256.der Binary files differdeleted file mode 100644 index 257473d..0000000 --- a/tests/invalid-x509/id:001424,src:001324,op:int16,pos:21,val:+256.der +++ /dev/null diff --git a/tests/invalid-x509/id:001429,src:001324,op:havoc,rep:2.der b/tests/invalid-x509/id:001429,src:001324,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 8f4135e..0000000 --- a/tests/invalid-x509/id:001429,src:001324,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001432,src:001326,op:havoc,rep:4.der b/tests/invalid-x509/id:001432,src:001326,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index bed0141..0000000 --- a/tests/invalid-x509/id:001432,src:001326,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001433,src:001334,op:havoc,rep:16.der b/tests/invalid-x509/id:001433,src:001334,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 89a6df5..0000000 --- a/tests/invalid-x509/id:001433,src:001334,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001434,src:001350,op:havoc,rep:8.der b/tests/invalid-x509/id:001434,src:001350,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index d406bd0..0000000 --- a/tests/invalid-x509/id:001434,src:001350,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001435,src:001357,op:havoc,rep:8.der b/tests/invalid-x509/id:001435,src:001357,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 2977b46..0000000 --- a/tests/invalid-x509/id:001435,src:001357,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001436,src:001360,op:havoc,rep:8.der b/tests/invalid-x509/id:001436,src:001360,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 170ebf9..0000000 --- a/tests/invalid-x509/id:001436,src:001360,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001437,src:001369,op:havoc,rep:4.der b/tests/invalid-x509/id:001437,src:001369,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index d46fefe..0000000 --- a/tests/invalid-x509/id:001437,src:001369,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001439,src:001379,op:havoc,rep:16.der b/tests/invalid-x509/id:001439,src:001379,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index e03de22..0000000 --- a/tests/invalid-x509/id:001439,src:001379,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001440,src:001386,op:int16,pos:358,val:-128.der b/tests/invalid-x509/id:001440,src:001386,op:int16,pos:358,val:-128.der Binary files differdeleted file mode 100644 index 9f34f97..0000000 --- a/tests/invalid-x509/id:001440,src:001386,op:int16,pos:358,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001441,src:001400,op:int16,pos:358,val:-128.der b/tests/invalid-x509/id:001441,src:001400,op:int16,pos:358,val:-128.der Binary files differdeleted file mode 100644 index 3d35fd3..0000000 --- a/tests/invalid-x509/id:001441,src:001400,op:int16,pos:358,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001442,src:001401,op:flip1,pos:310.der b/tests/invalid-x509/id:001442,src:001401,op:flip1,pos:310.der Binary files differdeleted file mode 100644 index 54508e3..0000000 --- a/tests/invalid-x509/id:001442,src:001401,op:flip1,pos:310.der +++ /dev/null diff --git a/tests/invalid-x509/id:001443,src:001405,op:havoc,rep:4.der b/tests/invalid-x509/id:001443,src:001405,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index d97a40c..0000000 --- a/tests/invalid-x509/id:001443,src:001405,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001445,src:001429,op:havoc,rep:2.der b/tests/invalid-x509/id:001445,src:001429,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 964b5cd..0000000 --- a/tests/invalid-x509/id:001445,src:001429,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001454,src:001444,op:havoc,rep:4.der b/tests/invalid-x509/id:001454,src:001444,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index c737399..0000000 --- a/tests/invalid-x509/id:001454,src:001444,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001461,src:001218,op:int8,pos:196,val:-128.der b/tests/invalid-x509/id:001461,src:001218,op:int8,pos:196,val:-128.der Binary files differdeleted file mode 100644 index 7466905..0000000 --- a/tests/invalid-x509/id:001461,src:001218,op:int8,pos:196,val:-128.der +++ /dev/null diff --git a/tests/invalid-x509/id:001462,src:001461,op:flip1,pos:234.der b/tests/invalid-x509/id:001462,src:001461,op:flip1,pos:234.der Binary files differdeleted file mode 100644 index 78490f5..0000000 --- a/tests/invalid-x509/id:001462,src:001461,op:flip1,pos:234.der +++ /dev/null diff --git a/tests/invalid-x509/id:001463,src:001335,op:int32,pos:144,val:+32768.der b/tests/invalid-x509/id:001463,src:001335,op:int32,pos:144,val:+32768.der Binary files differdeleted file mode 100644 index 69c0453..0000000 --- a/tests/invalid-x509/id:001463,src:001335,op:int32,pos:144,val:+32768.der +++ /dev/null diff --git a/tests/invalid-x509/id:001464,src:001349,op:havoc,rep:2.der b/tests/invalid-x509/id:001464,src:001349,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 97d11e4..0000000 --- a/tests/invalid-x509/id:001464,src:001349,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001465,src:001349,op:havoc,rep:64.der b/tests/invalid-x509/id:001465,src:001349,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 5a4dfa3..0000000 --- a/tests/invalid-x509/id:001465,src:001349,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001466,src:001406,op:havoc,rep:4.der b/tests/invalid-x509/id:001466,src:001406,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index bba1dc1..0000000 --- a/tests/invalid-x509/id:001466,src:001406,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001467,src:001414,op:flip2,pos:347.der b/tests/invalid-x509/id:001467,src:001414,op:flip2,pos:347.der Binary files differdeleted file mode 100644 index 8c28aa8..0000000 --- a/tests/invalid-x509/id:001467,src:001414,op:flip2,pos:347.der +++ /dev/null diff --git a/tests/invalid-x509/id:001469,src:000679,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001469,src:000679,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index dde15ef..0000000 --- a/tests/invalid-x509/id:001469,src:000679,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001476,src:001209,op:int8,pos:232,val:+127,+cov.der b/tests/invalid-x509/id:001476,src:001209,op:int8,pos:232,val:+127,+cov.der Binary files differdeleted file mode 100644 index 93f1607..0000000 --- a/tests/invalid-x509/id:001476,src:001209,op:int8,pos:232,val:+127,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001478,src:001215,op:int32,pos:502,val:-32768.der b/tests/invalid-x509/id:001478,src:001215,op:int32,pos:502,val:-32768.der Binary files differdeleted file mode 100644 index ebc5861..0000000 --- a/tests/invalid-x509/id:001478,src:001215,op:int32,pos:502,val:-32768.der +++ /dev/null diff --git a/tests/invalid-x509/id:001479,src:001348,op:havoc,rep:16.der b/tests/invalid-x509/id:001479,src:001348,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index dd170ed..0000000 --- a/tests/invalid-x509/id:001479,src:001348,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001480,src:001404,op:havoc,rep:8.der b/tests/invalid-x509/id:001480,src:001404,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index f4c8ccc..0000000 --- a/tests/invalid-x509/id:001480,src:001404,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001481,src:001346,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001481,src:001346,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index 7bb6535..0000000 --- a/tests/invalid-x509/id:001481,src:001346,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001482,src:001468,op:havoc,rep:32.der b/tests/invalid-x509/id:001482,src:001468,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 33bbc27..0000000 --- a/tests/invalid-x509/id:001482,src:001468,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001483,src:001481,op:flip1,pos:7,+cov.der b/tests/invalid-x509/id:001483,src:001481,op:flip1,pos:7,+cov.der Binary files differdeleted file mode 100644 index e25fa60..0000000 --- a/tests/invalid-x509/id:001483,src:001481,op:flip1,pos:7,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001484,src:001481,op:flip1,pos:7,+cov.der b/tests/invalid-x509/id:001484,src:001481,op:flip1,pos:7,+cov.der Binary files differdeleted file mode 100644 index 35659d7..0000000 --- a/tests/invalid-x509/id:001484,src:001481,op:flip1,pos:7,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001485,src:001481,op:flip2,pos:7,+cov.der b/tests/invalid-x509/id:001485,src:001481,op:flip2,pos:7,+cov.der Binary files differdeleted file mode 100644 index eded26a..0000000 --- a/tests/invalid-x509/id:001485,src:001481,op:flip2,pos:7,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001486,src:001481,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001486,src:001481,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index 0735c67..0000000 --- a/tests/invalid-x509/id:001486,src:001481,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001487,src:001481,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001487,src:001481,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index fd7ef13..0000000 --- a/tests/invalid-x509/id:001487,src:001481,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001488,src:001481,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001488,src:001481,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index ac674f4..0000000 --- a/tests/invalid-x509/id:001488,src:001481,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001489,src:001481,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001489,src:001481,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 37eaf51..0000000 --- a/tests/invalid-x509/id:001489,src:001481,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001491,src:001211,op:flip1,pos:24.der b/tests/invalid-x509/id:001491,src:001211,op:flip1,pos:24.der Binary files differdeleted file mode 100644 index 5b0148a..0000000 --- a/tests/invalid-x509/id:001491,src:001211,op:flip1,pos:24.der +++ /dev/null diff --git a/tests/invalid-x509/id:001492,src:001211,op:flip1,pos:230.der b/tests/invalid-x509/id:001492,src:001211,op:flip1,pos:230.der Binary files differdeleted file mode 100644 index 28fce92..0000000 --- a/tests/invalid-x509/id:001492,src:001211,op:flip1,pos:230.der +++ /dev/null diff --git a/tests/invalid-x509/id:001498,src:001439,op:havoc,rep:4.der b/tests/invalid-x509/id:001498,src:001439,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 9273d3a..0000000 --- a/tests/invalid-x509/id:001498,src:001439,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001499,src:001450,op:havoc,rep:8.der b/tests/invalid-x509/id:001499,src:001450,op:havoc,rep:8.der deleted file mode 100644 index 69efdce..0000000 --- a/tests/invalid-x509/id:001499,src:001450,op:havoc,rep:8.der +++ /dev/null @@ -1 +0,0 @@ -0‚0‚éÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ù>v癞ã
\ No newline at end of file diff --git a/tests/invalid-x509/id:001500,src:001452,op:havoc,rep:32.der b/tests/invalid-x509/id:001500,src:001452,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index 85c6fb7..0000000 --- a/tests/invalid-x509/id:001500,src:001452,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001501,src:001469,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001501,src:001469,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 376be3a..0000000 --- a/tests/invalid-x509/id:001501,src:001469,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001502,src:001501,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001502,src:001501,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index b15b9a8..0000000 --- a/tests/invalid-x509/id:001502,src:001501,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001503,src:001502,op:flip1,pos:9,+cov.der b/tests/invalid-x509/id:001503,src:001502,op:flip1,pos:9,+cov.der Binary files differdeleted file mode 100644 index d7f5f54..0000000 --- a/tests/invalid-x509/id:001503,src:001502,op:flip1,pos:9,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001504,src:001502,op:flip2,pos:9,+cov.der b/tests/invalid-x509/id:001504,src:001502,op:flip2,pos:9,+cov.der Binary files differdeleted file mode 100644 index 8baf9e3..0000000 --- a/tests/invalid-x509/id:001504,src:001502,op:flip2,pos:9,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001505,src:001502,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001505,src:001502,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index fdc9ce1..0000000 --- a/tests/invalid-x509/id:001505,src:001502,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001506,src:001502,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001506,src:001502,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 04c6f07..0000000 --- a/tests/invalid-x509/id:001506,src:001502,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001507,src:001502,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001507,src:001502,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index a7f1c22..0000000 --- a/tests/invalid-x509/id:001507,src:001502,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001508,src:001502,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001508,src:001502,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 20578a6..0000000 --- a/tests/invalid-x509/id:001508,src:001502,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001509,src:001502,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001509,src:001502,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index cd025f1..0000000 --- a/tests/invalid-x509/id:001509,src:001502,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001510,src:001506,op:flip1,pos:9,+cov.der b/tests/invalid-x509/id:001510,src:001506,op:flip1,pos:9,+cov.der Binary files differdeleted file mode 100644 index da95560..0000000 --- a/tests/invalid-x509/id:001510,src:001506,op:flip1,pos:9,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001511,src:001506,op:flip2,pos:9,+cov.der b/tests/invalid-x509/id:001511,src:001506,op:flip2,pos:9,+cov.der Binary files differdeleted file mode 100644 index fb4679c..0000000 --- a/tests/invalid-x509/id:001511,src:001506,op:flip2,pos:9,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001514,src:001476,op:havoc,rep:4.der b/tests/invalid-x509/id:001514,src:001476,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index fe6f8de..0000000 --- a/tests/invalid-x509/id:001514,src:001476,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001517,src:001461,op:havoc,rep:4.der b/tests/invalid-x509/id:001517,src:001461,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 125789b..0000000 --- a/tests/invalid-x509/id:001517,src:001461,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001518,src:001463,op:havoc,rep:4.der b/tests/invalid-x509/id:001518,src:001463,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 60a35a8..0000000 --- a/tests/invalid-x509/id:001518,src:001463,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001519,src:001490,op:flip1,pos:280.der b/tests/invalid-x509/id:001519,src:001490,op:flip1,pos:280.der Binary files differdeleted file mode 100644 index 7f481d2..0000000 --- a/tests/invalid-x509/id:001519,src:001490,op:flip1,pos:280.der +++ /dev/null diff --git a/tests/invalid-x509/id:001520,src:001498,op:int16,pos:29,val:+512.der b/tests/invalid-x509/id:001520,src:001498,op:int16,pos:29,val:+512.der Binary files differdeleted file mode 100644 index f8a4c1e..0000000 --- a/tests/invalid-x509/id:001520,src:001498,op:int16,pos:29,val:+512.der +++ /dev/null diff --git a/tests/invalid-x509/id:001523,src:001375,op:flip1,pos:513.der b/tests/invalid-x509/id:001523,src:001375,op:flip1,pos:513.der Binary files differdeleted file mode 100644 index 3a78f9d..0000000 --- a/tests/invalid-x509/id:001523,src:001375,op:flip1,pos:513.der +++ /dev/null diff --git a/tests/invalid-x509/id:001524,src:001375,op:flip1,pos:514.der b/tests/invalid-x509/id:001524,src:001375,op:flip1,pos:514.der Binary files differdeleted file mode 100644 index da157be..0000000 --- a/tests/invalid-x509/id:001524,src:001375,op:flip1,pos:514.der +++ /dev/null diff --git a/tests/invalid-x509/id:001525,src:001375,op:flip1,pos:515.der b/tests/invalid-x509/id:001525,src:001375,op:flip1,pos:515.der Binary files differdeleted file mode 100644 index 23da3cd..0000000 --- a/tests/invalid-x509/id:001525,src:001375,op:flip1,pos:515.der +++ /dev/null diff --git a/tests/invalid-x509/id:001526,src:001512,op:flip16,pos:28.der b/tests/invalid-x509/id:001526,src:001512,op:flip16,pos:28.der Binary files differdeleted file mode 100644 index fea10a3..0000000 --- a/tests/invalid-x509/id:001526,src:001512,op:flip16,pos:28.der +++ /dev/null diff --git a/tests/invalid-x509/id:001527,src:001512,op:havoc,rep:4.der b/tests/invalid-x509/id:001527,src:001512,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index c0a13df..0000000 --- a/tests/invalid-x509/id:001527,src:001512,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001528,src:001512,op:havoc,rep:4.der b/tests/invalid-x509/id:001528,src:001512,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 43a8fd7..0000000 --- a/tests/invalid-x509/id:001528,src:001512,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001529,src:001512,op:havoc,rep:2.der b/tests/invalid-x509/id:001529,src:001512,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 14357b3..0000000 --- a/tests/invalid-x509/id:001529,src:001512,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001531,src:001460,op:flip2,pos:236.der b/tests/invalid-x509/id:001531,src:001460,op:flip2,pos:236.der Binary files differdeleted file mode 100644 index 3f3b927..0000000 --- a/tests/invalid-x509/id:001531,src:001460,op:flip2,pos:236.der +++ /dev/null diff --git a/tests/invalid-x509/id:001532,src:001477,op:flip2,pos:205.der b/tests/invalid-x509/id:001532,src:001477,op:flip2,pos:205.der Binary files differdeleted file mode 100644 index 0309668..0000000 --- a/tests/invalid-x509/id:001532,src:001477,op:flip2,pos:205.der +++ /dev/null diff --git a/tests/invalid-x509/id:001533,src:001477,op:flip4,pos:205.der b/tests/invalid-x509/id:001533,src:001477,op:flip4,pos:205.der Binary files differdeleted file mode 100644 index 55a4991..0000000 --- a/tests/invalid-x509/id:001533,src:001477,op:flip4,pos:205.der +++ /dev/null diff --git a/tests/invalid-x509/id:001534,src:001477,op:int16,pos:419,val:+1024,+cov.der b/tests/invalid-x509/id:001534,src:001477,op:int16,pos:419,val:+1024,+cov.der Binary files differdeleted file mode 100644 index 04fa74a..0000000 --- a/tests/invalid-x509/id:001534,src:001477,op:int16,pos:419,val:+1024,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001535,src:001477,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001535,src:001477,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 1204945..0000000 --- a/tests/invalid-x509/id:001535,src:001477,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001536,src:001477,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001536,src:001477,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index 4d803a9..0000000 --- a/tests/invalid-x509/id:001536,src:001477,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001538,src:001534,op:flip1,pos:207,+cov.der b/tests/invalid-x509/id:001538,src:001534,op:flip1,pos:207,+cov.der Binary files differdeleted file mode 100644 index a9400ca..0000000 --- a/tests/invalid-x509/id:001538,src:001534,op:flip1,pos:207,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001539,src:001534,op:flip1,pos:421,+cov.der b/tests/invalid-x509/id:001539,src:001534,op:flip1,pos:421,+cov.der Binary files differdeleted file mode 100644 index 6d3106a..0000000 --- a/tests/invalid-x509/id:001539,src:001534,op:flip1,pos:421,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001540,src:001534,op:flip1,pos:421,+cov.der b/tests/invalid-x509/id:001540,src:001534,op:flip1,pos:421,+cov.der Binary files differdeleted file mode 100644 index eda3e80..0000000 --- a/tests/invalid-x509/id:001540,src:001534,op:flip1,pos:421,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001541,src:001534,op:havoc,rep:4,+cov.der b/tests/invalid-x509/id:001541,src:001534,op:havoc,rep:4,+cov.der Binary files differdeleted file mode 100644 index f9ab091..0000000 --- a/tests/invalid-x509/id:001541,src:001534,op:havoc,rep:4,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001542,src:001535,op:int16,pos:409,val:+255,+cov.der b/tests/invalid-x509/id:001542,src:001535,op:int16,pos:409,val:+255,+cov.der Binary files differdeleted file mode 100644 index 046e36e..0000000 --- a/tests/invalid-x509/id:001542,src:001535,op:int16,pos:409,val:+255,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001543,src:001537,op:flip1,pos:602.der b/tests/invalid-x509/id:001543,src:001537,op:flip1,pos:602.der Binary files differdeleted file mode 100644 index bbb3b69..0000000 --- a/tests/invalid-x509/id:001543,src:001537,op:flip1,pos:602.der +++ /dev/null diff --git a/tests/invalid-x509/id:001546,src:001539,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001546,src:001539,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 744c6e6..0000000 --- a/tests/invalid-x509/id:001546,src:001539,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001547,src:001433,op:havoc,rep:16.der b/tests/invalid-x509/id:001547,src:001433,op:havoc,rep:16.der Binary files differdeleted file mode 100644 index 14310d2..0000000 --- a/tests/invalid-x509/id:001547,src:001433,op:havoc,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001548,src:001479,op:havoc,rep:32.der b/tests/invalid-x509/id:001548,src:001479,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index d580b34..0000000 --- a/tests/invalid-x509/id:001548,src:001479,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001549,src:001492,op:flip1,pos:424.der b/tests/invalid-x509/id:001549,src:001492,op:flip1,pos:424.der Binary files differdeleted file mode 100644 index 4beb257..0000000 --- a/tests/invalid-x509/id:001549,src:001492,op:flip1,pos:424.der +++ /dev/null diff --git a/tests/invalid-x509/id:001551,src:001499,op:havoc,rep:4.der b/tests/invalid-x509/id:001551,src:001499,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 65092ca..0000000 --- a/tests/invalid-x509/id:001551,src:001499,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001552,src:001447,op:havoc,rep:2.der b/tests/invalid-x509/id:001552,src:001447,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index 49be45d..0000000 --- a/tests/invalid-x509/id:001552,src:001447,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001553,src:001457,op:havoc,rep:4.der b/tests/invalid-x509/id:001553,src:001457,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index f01f704..0000000 --- a/tests/invalid-x509/id:001553,src:001457,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001554,src:001459,op:havoc,rep:8.der b/tests/invalid-x509/id:001554,src:001459,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 225c942..0000000 --- a/tests/invalid-x509/id:001554,src:001459,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001555,src:001459,op:havoc,rep:2.der b/tests/invalid-x509/id:001555,src:001459,op:havoc,rep:2.der Binary files differdeleted file mode 100644 index ebd6592..0000000 --- a/tests/invalid-x509/id:001555,src:001459,op:havoc,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001556,src:001507,op:havoc,rep:2,+cov.der b/tests/invalid-x509/id:001556,src:001507,op:havoc,rep:2,+cov.der Binary files differdeleted file mode 100644 index 735dfd5..0000000 --- a/tests/invalid-x509/id:001556,src:001507,op:havoc,rep:2,+cov.der +++ /dev/null diff --git a/tests/invalid-x509/id:001557,src:000685+000981,op:splice,rep:2.der b/tests/invalid-x509/id:001557,src:000685+000981,op:splice,rep:2.der Binary files differdeleted file mode 100644 index 835581e..0000000 --- a/tests/invalid-x509/id:001557,src:000685+000981,op:splice,rep:2.der +++ /dev/null diff --git a/tests/invalid-x509/id:001558,src:001421,op:havoc,rep:4.der b/tests/invalid-x509/id:001558,src:001421,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index e9cae3c..0000000 --- a/tests/invalid-x509/id:001558,src:001421,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001559,src:001421,op:havoc,rep:4.der b/tests/invalid-x509/id:001559,src:001421,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index f8c0f61..0000000 --- a/tests/invalid-x509/id:001559,src:001421,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001560,src:001421,op:havoc,rep:32.der b/tests/invalid-x509/id:001560,src:001421,op:havoc,rep:32.der Binary files differdeleted file mode 100644 index a484612..0000000 --- a/tests/invalid-x509/id:001560,src:001421,op:havoc,rep:32.der +++ /dev/null diff --git a/tests/invalid-x509/id:001562,src:001421,op:havoc,rep:8.der b/tests/invalid-x509/id:001562,src:001421,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index e066ab0..0000000 --- a/tests/invalid-x509/id:001562,src:001421,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001567,src:000806+001307,op:splice,rep:4.der b/tests/invalid-x509/id:001567,src:000806+001307,op:splice,rep:4.der Binary files differdeleted file mode 100644 index 4754663..0000000 --- a/tests/invalid-x509/id:001567,src:000806+001307,op:splice,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001568,src:001510+001564,op:splice,rep:4.der b/tests/invalid-x509/id:001568,src:001510+001564,op:splice,rep:4.der Binary files differdeleted file mode 100644 index e793b44..0000000 --- a/tests/invalid-x509/id:001568,src:001510+001564,op:splice,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001571,src:000037,op:havoc,rep:8.der b/tests/invalid-x509/id:001571,src:000037,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 7b72754..0000000 --- a/tests/invalid-x509/id:001571,src:000037,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001572,src:001530,op:flip1,pos:153.der b/tests/invalid-x509/id:001572,src:001530,op:flip1,pos:153.der Binary files differdeleted file mode 100644 index 5053cb1..0000000 --- a/tests/invalid-x509/id:001572,src:001530,op:flip1,pos:153.der +++ /dev/null diff --git a/tests/invalid-x509/id:001573,src:001530,op:flip2,pos:158.der b/tests/invalid-x509/id:001573,src:001530,op:flip2,pos:158.der Binary files differdeleted file mode 100644 index df55be0..0000000 --- a/tests/invalid-x509/id:001573,src:001530,op:flip2,pos:158.der +++ /dev/null diff --git a/tests/invalid-x509/id:001574,src:001540+001215,op:splice,rep:4.der b/tests/invalid-x509/id:001574,src:001540+001215,op:splice,rep:4.der Binary files differdeleted file mode 100644 index 644e225..0000000 --- a/tests/invalid-x509/id:001574,src:001540+001215,op:splice,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001575,src:001543,op:havoc,rep:8.der b/tests/invalid-x509/id:001575,src:001543,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 5da1e3b..0000000 --- a/tests/invalid-x509/id:001575,src:001543,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001577,src:001565,op:flip1,pos:21.der b/tests/invalid-x509/id:001577,src:001565,op:flip1,pos:21.der Binary files differdeleted file mode 100644 index 16a3f6a..0000000 --- a/tests/invalid-x509/id:001577,src:001565,op:flip1,pos:21.der +++ /dev/null diff --git a/tests/invalid-x509/id:001578,src:001565+000591,op:splice,rep:4.der b/tests/invalid-x509/id:001578,src:001565+000591,op:splice,rep:4.der Binary files differdeleted file mode 100644 index 742fe58..0000000 --- a/tests/invalid-x509/id:001578,src:001565+000591,op:splice,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001579,src:001577,op:havoc,rep:4.der b/tests/invalid-x509/id:001579,src:001577,op:havoc,rep:4.der Binary files differdeleted file mode 100644 index 0c3a8a5..0000000 --- a/tests/invalid-x509/id:001579,src:001577,op:havoc,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001580,src:001577,op:havoc,rep:64.der b/tests/invalid-x509/id:001580,src:001577,op:havoc,rep:64.der Binary files differdeleted file mode 100644 index 49c5853..0000000 --- a/tests/invalid-x509/id:001580,src:001577,op:havoc,rep:64.der +++ /dev/null diff --git a/tests/invalid-x509/id:001581,src:001473+001546,op:splice,rep:16.der b/tests/invalid-x509/id:001581,src:001473+001546,op:splice,rep:16.der Binary files differdeleted file mode 100644 index 2e4ca51..0000000 --- a/tests/invalid-x509/id:001581,src:001473+001546,op:splice,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001583,src:001473+001546,op:splice,rep:16.der b/tests/invalid-x509/id:001583,src:001473+001546,op:splice,rep:16.der Binary files differdeleted file mode 100644 index a24571b..0000000 --- a/tests/invalid-x509/id:001583,src:001473+001546,op:splice,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001584,src:001548,op:havoc,rep:8.der b/tests/invalid-x509/id:001584,src:001548,op:havoc,rep:8.der Binary files differdeleted file mode 100644 index 39577e1..0000000 --- a/tests/invalid-x509/id:001584,src:001548,op:havoc,rep:8.der +++ /dev/null diff --git a/tests/invalid-x509/id:001586,src:001576,op:int8,pos:498,val:+0.der b/tests/invalid-x509/id:001586,src:001576,op:int8,pos:498,val:+0.der Binary files differdeleted file mode 100644 index 612714f..0000000 --- a/tests/invalid-x509/id:001586,src:001576,op:int8,pos:498,val:+0.der +++ /dev/null diff --git a/tests/invalid-x509/id:001587,src:001576+001104,op:splice,rep:4.der b/tests/invalid-x509/id:001587,src:001576+001104,op:splice,rep:4.der Binary files differdeleted file mode 100644 index 8a4c10b..0000000 --- a/tests/invalid-x509/id:001587,src:001576+001104,op:splice,rep:4.der +++ /dev/null diff --git a/tests/invalid-x509/id:001588,src:001576+001104,op:splice,rep:16.der b/tests/invalid-x509/id:001588,src:001576+001104,op:splice,rep:16.der Binary files differdeleted file mode 100644 index 7d625be..0000000 --- a/tests/invalid-x509/id:001588,src:001576+001104,op:splice,rep:16.der +++ /dev/null diff --git a/tests/invalid-x509/id:001589,src:000691+001423,op:splice,rep:4.der b/tests/invalid-x509/id:001589,src:000691+001423,op:splice,rep:4.der Binary files differdeleted file mode 100644 index a557015..0000000 --- a/tests/invalid-x509/id:001589,src:000691+001423,op:splice,rep:4.der +++ /dev/null diff --git a/tests/libtasn1.supp b/tests/libtasn1.supp deleted file mode 100644 index fce46eb..0000000 --- a/tests/libtasn1.supp +++ /dev/null @@ -1 +0,0 @@ -leak:_asn1_add_static_node diff --git a/tests/mscat.asn b/tests/mscat.asn deleted file mode 100644 index beb69f7..0000000 --- a/tests/mscat.asn +++ /dev/null @@ -1,34 +0,0 @@ -CATALOG {} -DEFINITIONS IMPLICIT TAGS ::= -- assuming implicit tags, should try explicit too - -BEGIN - --- SPC_PE_IMAGE_DATA -SpcPEImageData ::= SEQUENCE { - flags SpcPeImageFlags DEFAULT includeResources, - link [0] EXPLICIT SpcLink OPTIONAL -} - -SpcPeImageFlags ::= BIT STRING { - includeResources (0), - includeDebugInfo (1), - includeImportAddressTable (2) -} - -SpcLink ::= CHOICE { - url [0] IMPLICIT IA5String, - moniker [1] IMPLICIT SpcSerializedObject, - file [2] EXPLICIT SpcString -} - -SpcSerializedObject ::= SEQUENCE { - classId OCTET STRING, -- GUID - data OCTET STRING -- Binary structure -} - -SpcString ::= CHOICE { - unicode [0] IMPLICIT BMPString, - ascii [1] IMPLICIT IA5String -} - -END diff --git a/tests/object-id-decoding.c b/tests/object-id-decoding.c deleted file mode 100644 index e3e9669..0000000 --- a/tests/object-id-decoding.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (C) 2016 Red Hat, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include "libtasn1.h" - -struct tv -{ - int der_len; - const unsigned char *der_str; - const char *oid; - int expected_error; -}; - -static const struct tv tv[] = { - {.der_len = 12, - .der_str = (void *) "\x06\x0a\x2b\x06\x01\x04\x01\x92\x08\x09\x05\x01", - .oid = "1.3.6.1.4.1.2312.9.5.1", - .expected_error = ASN1_SUCCESS}, - {.der_len = 19, - .der_str = - (void *) - "\x06\x11\x2b\x06\x01\x04\x01\x92\x08\x09\x02\xaa\xda\xbe\xbe\xfa\x72\x01\x07", - .oid = "1.3.6.1.4.1.2312.9.2.1467399257458.1.7", - .expected_error = ASN1_SUCCESS}, -}; - -int -main (int argc, char *argv[]) -{ - char str[128]; - int ret, ret_len; - size_t i; - - for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++) - { - /* decode */ - ret = - asn1_get_object_id_der (tv[i].der_str+1, - tv[i].der_len-1, &ret_len, str, - sizeof (str)); - if (ret != tv[i].expected_error) - { - fprintf (stderr, - "%d: asn1_get_object_id_der iter %lu: got %d expected %d\n", - __LINE__, (unsigned long) i, ret, tv[i].expected_error); - return 1; - } - - if (ret_len != tv[i].der_len-1) - { - fprintf (stderr, - "%d: iter %lu: error in DER, length returned is %d, had %d\n", - __LINE__, (unsigned long)i, ret_len, tv[i].der_len-1); - return 1; - } - - if (strcmp (tv[i].oid, str) != 0) - { - fprintf (stderr, - "%d: strcmp iter %lu: got invalid OID: %s, expected: %s\n", - __LINE__, (unsigned long) i, str, tv[i].oid); - return 1; - } - - } - - return 0; -} diff --git a/tests/ocsp-basic-response.c b/tests/ocsp-basic-response.c deleted file mode 100644 index 3a190a8..0000000 --- a/tests/ocsp-basic-response.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (C) 2016 Red Hat, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <libtasn1.h> - -int -main (int argc, char** argv) -{ - int result = 0, len; - asn1_node definitions = NULL, node1 = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *choicefile = getenv ("ASN1CHOICE_OCSP"); - const char *datafile = getenv ("ASN1_RESPONSE_OCSP_DATA"); - FILE *fp; - char data[1024]; - int data_size = sizeof (data); - unsigned etype; - - if (!choicefile) - choicefile = "pkix.asn"; - - if (!datafile) - datafile = "ocsp-basic-response.der"; - - result = asn1_parser2tree (choicefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - result = asn1_create_element (definitions, "PKIX1.BasicOCSPResponse", &node1); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "error in %d\n", __LINE__); - exit (1); - } - - fp = fopen(datafile, "rb"); - if (fp == NULL) - { - fprintf (stderr, "error in %d\n", __LINE__); - exit (1); - } - data_size = fread(data, 1, sizeof(data), fp); - fclose(fp); - - result = asn1_der_decoding2 (&node1, data, &data_size, ASN1_DECODE_FLAG_STRICT_DER, errorDescription); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "error in %d: decoding: %s\n", __LINE__, errorDescription); - exit (1); - } - - len = sizeof(data); - result = asn1_read_value(node1, "tbsResponseData.responderID", data, &len); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - if (strcmp(data, "byKey") != 0) - { - fprintf (stderr, "error in %d: %s\n", __LINE__, data); - exit (1); - } - - len = 0; - result = asn1_read_value_type(node1, "tbsResponseData.responderID.byKey", NULL, &len, &etype); - if (result != ASN1_MEM_ERROR) - { - fprintf (stderr, "error in %d: result is: %s\n", __LINE__, asn1_strerror(result)); - exit (1); - } - - if (etype != ASN1_ETYPE_OCTET_STRING) - { - fprintf (stderr, "error in %d: The type (%d) doesn't match octet string.\n", __LINE__, (int)etype); - exit (1); - } - - if (len != 20) - { - fprintf (stderr, "length doesn't match the expected (got: %d, should be: 20)\n", len); - exit (1); - } - - - - len = sizeof(data); - result = asn1_read_value(node1, "tbsResponseData.responderID.byKey", data, &len); - if (result != ASN1_SUCCESS) - { - fprintf (stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - if (memcmp(data, "\x50\xEA\x73\x89\xDB\x29\xFB\x10\x8F\x9E\xE5\x01\x20\xD4\xDE\x79\x99\x48\x83\xF7", len) != 0) - { - fprintf (stderr, "contents don't match\n"); - exit (1); - } - - asn1_delete_structure (&node1); - asn1_delete_structure (&definitions); - - return 0; -} diff --git a/tests/ocsp-basic-response.der b/tests/ocsp-basic-response.der Binary files differdeleted file mode 100644 index d87678c..0000000 --- a/tests/ocsp-basic-response.der +++ /dev/null diff --git a/tests/ocsp.der b/tests/ocsp.der Binary files differdeleted file mode 100644 index 3134309..0000000 --- a/tests/ocsp.der +++ /dev/null diff --git a/tests/octet-string.c b/tests/octet-string.c deleted file mode 100644 index 6d53d50..0000000 --- a/tests/octet-string.c +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (C) 2011-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * Written by Simon Josefsson - * - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include "libtasn1.h" - -struct tv -{ - int der_len; - const unsigned char *der_str; - int len; - const unsigned char *string; - int expected_error; - int ber; -}; - -static const struct tv tv[] = { - /* primitive octet strings */ - {.der_len = 10, - .der_str = - (void*)"\x04\x08\x01\x23\x45\x67\x89\xab\xcd\xef", - .len = 8, - .string = - (void*)"\x01\x23\x45\x67\x89\xab\xcd\xef", - .ber = 0}, - {.der_len = 22, - .der_str = - (void*)"\x04\x14\x13\x00\xd9\xa8\x47\xf7\xf2\x1c\xf4\xb0\xec\x5f\xc1\x73\xe5\x1b\x25\xc2\x62\x27", - .len = 20, - .string = - (void*)"\x13\x00\xD9\xA8\x47\xF7\xF2\x1C\xF4\xB0\xEC\x5F\xC1\x73\xE5\x1B\x25\xC2\x62\x27"}, - - /* long type of length */ - {.der_len = 23, - .der_str = - (void*)"\x04\x81\x14\x13\x00\xd9\xa8\x47\xf7\xf2\x1c\xf4\xb0\xec\x5f\xc1\x73\xe5\x1b\x25\xc2\x62\x27", - .len = 20, - .string = - (void*)"\x13\x00\xD9\xA8\x47\xF7\xF2\x1C\xF4\xB0\xEC\x5F\xC1\x73\xE5\x1B\x25\xC2\x62\x27", - .ber = 1}, - {.der_len = 11, - .der_str = - (void*)"\x04\x81\x08\x01\x23\x45\x67\x89\xab\xcd\xef", - .len = 8, - .string = - (void*)"\x01\x23\x45\x67\x89\xab\xcd\xef", - .ber = 1}, - - /* constructed - indefinite */ - {.der_len = 11, - .der_str = (void*)"\x24\x80\x04\x05\x01\x02\x03\x04\x05\x00\x00", - .len = 5, - .string = (void*)"\x01\x02\x03\x04\x05", - .ber = 1, - }, - - /* a large amount of recursive indefinite encoding */ - {.der_len = 29325, - .der_str = (void*)"\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80\x24\x80", - .len = 0, - .ber = 1, - .expected_error = ASN1_DER_ERROR - } -}; - -int -main (int argc, char *argv[]) -{ - unsigned char str[100]; - unsigned char der[100]; - int der_len = sizeof (der); - int str_size = sizeof (str); - unsigned char *tmp = NULL; - int ret, ret_len; - size_t i; - - for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++) - { - /* Decode */ - - if (tv[i].ber == 0) - { - str_size = sizeof (str); - ret = - asn1_get_octet_der (tv[i].der_str + 1, - tv[i].der_len - 1, &ret_len, str, - sizeof (str), &str_size); - if (ret != tv[i].expected_error) - { - fprintf (stderr, - "%d: asn1_get_octet_der iter %lu: got %d expected %d\n", - __LINE__, (unsigned long) i, ret, - tv[i].expected_error); - return 1; - } - if (tv[i].expected_error) - continue; - - if (ret_len != tv[i].der_len - 1) - { - fprintf (stderr, - "%d: error in DER, length returned is %d, had %d\n", - __LINE__, ret_len, tv[i].der_len - 1); - return 1; - } - - if (str_size != tv[i].len - || memcmp (tv[i].string, str, tv[i].len) != 0) - { - fprintf (stderr, - "%d: memcmp iter %lu: got invalid decoding\n", - __LINE__, (unsigned long) i); - return 1; - } - - /* Encode */ - der_len = sizeof (der); - asn1_octet_der (str, str_size, der, &der_len); - - if (der_len != tv[i].der_len - 1 - || memcmp (tv[i].der_str + 1, der, tv[i].der_len - 1) != 0) - { - fprintf (stderr, - "encoding iter %lu: got invalid encoding\n", - (unsigned long) i); - return 1; - } - } - - ret = - asn1_decode_simple_ber (ASN1_ETYPE_OCTET_STRING, - tv[i].der_str, tv[i].der_len, - &tmp, (unsigned int*)&str_size, (unsigned int*)&der_len); - if (ret != tv[i].expected_error) - { - fprintf (stderr, - "%d: asn1_decode_simple_ber iter %lu: got %s expected %s\n", - __LINE__, (unsigned long) i, asn1_strerror(ret), asn1_strerror(tv[i].expected_error)); - return 1; - } - if (tv[i].expected_error) - continue; - - if (der_len != tv[i].der_len) - { - fprintf (stderr, - "%d: error in iter %lu: DER, length returned is %d, had %d\n", - __LINE__, (unsigned long)i, der_len, tv[i].der_len); - return 1; - } - - if (str_size != tv[i].len || memcmp (tv[i].string, tmp, tv[i].len) != 0) - { - fprintf (stderr, - "%d: memcmp iter %lu: got invalid decoding\n", - __LINE__, (unsigned long) i); - return 1; - } - free (tmp); - tmp = NULL; - - } - - return 0; -} diff --git a/tests/pkix.asn b/tests/pkix.asn deleted file mode 100644 index efdf95e..0000000 --- a/tests/pkix.asn +++ /dev/null @@ -1,1311 +0,0 @@ - -PKIX1 { } - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - --- This contains both PKIX1Implicit88 and RFC2630 ASN.1 modules. - --- ISO arc for standard certificate and CRL extensions - -id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29} - - --- authority key identifier OID and syntax - -id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 } - -AuthorityKeyIdentifier ::= SEQUENCE { - keyIdentifier [0] KeyIdentifier OPTIONAL, - authorityCertIssuer [1] GeneralNames OPTIONAL, - authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL } - -- authorityCertIssuer and authorityCertSerialNumber shall both - -- be present or both be absgent - -KeyIdentifier ::= OCTET STRING - --- subject key identifier OID and syntax - -id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 } - -SubjectKeyIdentifier ::= KeyIdentifier - --- key usage extension OID and syntax - -id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 } - -KeyUsage ::= BIT STRING { - digitalSignature (0), - nonRepudiation (1), - keyEncipherment (2), - dataEncipherment (3), - keyAgreement (4), - keyCertSign (5), - cRLSign (6), - encipherOnly (7), - decipherOnly (8) } - --- private key usage period extension OID and syntax - -id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= { id-ce 16 } - -PrivateKeyUsagePeriod ::= SEQUENCE { - notBefore [0] GeneralizedTime OPTIONAL, - notAfter [1] GeneralizedTime OPTIONAL } - -- either notBefore or notAfter shall be present - --- certificate policies extension OID and syntax - -id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 } - -CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation - -PolicyInformation ::= SEQUENCE { - policyIdentifier CertPolicyId, - policyQualifiers SEQUENCE SIZE (1..MAX) OF - PolicyQualifierInfo OPTIONAL } - -CertPolicyId ::= OBJECT IDENTIFIER - -PolicyQualifierInfo ::= SEQUENCE { - policyQualifierId PolicyQualifierId, - qualifier ANY DEFINED BY policyQualifierId } - --- Implementations that recognize additional policy qualifiers shall --- augment the following definition for PolicyQualifierId - -PolicyQualifierId ::= - OBJECT IDENTIFIER -- ( id-qt-cps | id-qt-unotice ) - --- CPS pointer qualifier - -CPSuri ::= IA5String - --- user notice qualifier - -UserNotice ::= SEQUENCE { - noticeRef NoticeReference OPTIONAL, - explicitText DisplayText OPTIONAL} - -NoticeReference ::= SEQUENCE { - organization DisplayText, - noticeNumbers SEQUENCE OF INTEGER } - -DisplayText ::= CHOICE { - visibleString VisibleString (SIZE (1..200)), - bmpString BMPString (SIZE (1..200)), - utf8String UTF8String (SIZE (1..200)) } - --- policy mapping extension OID and syntax - -id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 } - -PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { - issuerDomainPolicy CertPolicyId, - subjectDomainPolicy CertPolicyId } - --- subject alternative name extension OID and syntax - --- Directory string type -- - -DirectoryString ::= CHOICE { - teletexString TeletexString (SIZE (1..MAX)), - printableString PrintableString (SIZE (1..MAX)), - universalString UniversalString (SIZE (1..MAX)), - utf8String UTF8String (SIZE (1..MAX)), - bmpString BMPString (SIZE(1..MAX)), - -- IA5String is added here to handle old UID encoded as ia5String -- - -- See tests/userid/ for more information. It shouldn't be here, -- - -- so if it causes problems, considering dropping it. -- - ia5String IA5String (SIZE(1..MAX)) } - -id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 } - -SubjectAltName ::= GeneralNames - -GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName - -GeneralName ::= CHOICE { - otherName [0] AnotherName, - rfc822Name [1] IA5String, - dNSName [2] IA5String, - x400Address [3] ORAddress, --- Changed to work with the libtasn1 parser. - directoryName [4] EXPLICIT RDNSequence, --Name, - ediPartyName [5] EDIPartyName, - uniformResourceIdentifier [6] IA5String, - iPAddress [7] OCTET STRING, - registeredID [8] OBJECT IDENTIFIER } - --- AnotherName replaces OTHER-NAME ::= TYPE-IDENTIFIER, as --- TYPE-IDENTIFIER is not supported in the '88 ASN.1 syntax - -AnotherName ::= SEQUENCE { - type-id OBJECT IDENTIFIER, - value [0] EXPLICIT ANY DEFINED BY type-id } - -EDIPartyName ::= SEQUENCE { - nameAssigner [0] DirectoryString OPTIONAL, - partyName [1] DirectoryString } - --- issuer alternative name extension OID and syntax - -id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 } - -IssuerAltName ::= GeneralNames - -id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 } - -SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF Attribute - --- basic constraints extension OID and syntax - -id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 } - -BasicConstraints ::= SEQUENCE { - cA BOOLEAN DEFAULT FALSE, - pathLenConstraint INTEGER (0..MAX) OPTIONAL } - --- name constraints extension OID and syntax - -id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 } - -NameConstraints ::= SEQUENCE { - permittedSubtrees [0] GeneralSubtrees OPTIONAL, - excludedSubtrees [1] GeneralSubtrees OPTIONAL } - -GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree - -GeneralSubtree ::= SEQUENCE { - base GeneralName, - minimum [0] BaseDistance DEFAULT 0, - maximum [1] BaseDistance OPTIONAL } - -BaseDistance ::= INTEGER (0..MAX) - --- policy constraints extension OID and syntax - -id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 } - -PolicyConstraints ::= SEQUENCE { - requireExplicitPolicy [0] SkipCerts OPTIONAL, - inhibitPolicyMapping [1] SkipCerts OPTIONAL } - -SkipCerts ::= INTEGER (0..MAX) - --- CRL distribution points extension OID and syntax - -id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31} - -CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint - -DistributionPoint ::= SEQUENCE { - distributionPoint [0] EXPLICIT DistributionPointName OPTIONAL, - reasons [1] ReasonFlags OPTIONAL, - cRLIssuer [2] GeneralNames OPTIONAL -} - -DistributionPointName ::= CHOICE { - fullName [0] GeneralNames, - nameRelativeToCRLIssuer [1] RelativeDistinguishedName -} - -ReasonFlags ::= BIT STRING { - unused (0), - keyCompromise (1), - cACompromise (2), - affiliationChanged (3), - superseded (4), - cessationOfOperation (5), - certificateHold (6), - privilegeWithdrawn (7), - aACompromise (8) } - --- extended key usage extension OID and syntax - -id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37} - -ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId - -KeyPurposeId ::= OBJECT IDENTIFIER - --- extended key purpose OIDs -id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 } -id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 } -id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 } -id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 } -id-kp-ipsecEndSystem OBJECT IDENTIFIER ::= { id-kp 5 } -id-kp-ipsecTunnel OBJECT IDENTIFIER ::= { id-kp 6 } -id-kp-ipsecUser OBJECT IDENTIFIER ::= { id-kp 7 } -id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 } - --- authority info access - -id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 } - -AuthorityInfoAccessSyntax ::= - SEQUENCE SIZE (1..MAX) OF AccessDescription - -AccessDescription ::= SEQUENCE { - accessMethod OBJECT IDENTIFIER, - accessLocation GeneralName } - --- CRL number extension OID and syntax - -id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 } - -CRLNumber ::= INTEGER (0..MAX) - --- issuing distribution point extension OID and syntax - -id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 } - -IssuingDistributionPoint ::= SEQUENCE { - distributionPoint [0] DistributionPointName OPTIONAL, - onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE, - onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE, - onlySomeReasons [3] ReasonFlags OPTIONAL, - indirectCRL [4] BOOLEAN DEFAULT FALSE } - - -id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 } - --- deltaCRLIndicator ::= BaseCRLNumber - -BaseCRLNumber ::= CRLNumber - --- CRL reasons extension OID and syntax - -id-ce-cRLReasons OBJECT IDENTIFIER ::= { id-ce 21 } - -CRLReason ::= ENUMERATED { - unspecified (0), - keyCompromise (1), - cACompromise (2), - affiliationChanged (3), - superseded (4), - cessationOfOperation (5), - certificateHold (6), - removeFromCRL (8) } - --- certificate issuer CRL entry extension OID and syntax - -id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 } - -CertificateIssuer ::= GeneralNames - --- hold instruction extension OID and syntax - -id-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 } - -HoldInstructionCode ::= OBJECT IDENTIFIER - --- ANSI x9 holdinstructions - --- ANSI x9 arc holdinstruction arc -holdInstruction OBJECT IDENTIFIER ::= - {joint-iso-itu-t(2) member-body(2) us(840) x9cm(10040) 2} - --- ANSI X9 holdinstructions referenced by this standard -id-holdinstruction-none OBJECT IDENTIFIER ::= - {holdInstruction 1} -- deprecated -id-holdinstruction-callissuer OBJECT IDENTIFIER ::= - {holdInstruction 2} -id-holdinstruction-reject OBJECT IDENTIFIER ::= - {holdInstruction 3} - --- invalidity date CRL entry extension OID and syntax - -id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 } - -InvalidityDate ::= GeneralizedTime - - --- -------------------------------------- --- EXPLICIT --- -------------------------------------- - --- UNIVERSAL Types defined in '93 and '98 ASN.1 --- but required by this specification - -VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRING - -NumericString ::= [UNIVERSAL 18] IMPLICIT OCTET STRING - -IA5String ::= [UNIVERSAL 22] IMPLICIT OCTET STRING - -TeletexString ::= [UNIVERSAL 20] IMPLICIT OCTET STRING - -PrintableString ::= [UNIVERSAL 19] IMPLICIT OCTET STRING - -UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING - -- UniversalString is defined in ASN.1:1993 - -BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING - -- BMPString is the subtype of UniversalString and models - -- the Basic Multilingual Plane of ISO/IEC/ITU 10646-1 - -UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING - -- The content of this type conforms to RFC 2279. - - --- PKIX specific OIDs - -id-pkix OBJECT IDENTIFIER ::= - { iso(1) identified-organization(3) dod(6) internet(1) - security(5) mechanisms(5) pkix(7) } - --- PKIX arcs - -id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } - -- arc for private certificate extensions -id-qt OBJECT IDENTIFIER ::= { id-pkix 2 } - -- arc for policy qualifier types -id-kp OBJECT IDENTIFIER ::= { id-pkix 3 } - -- arc for extended key purpose OIDS -id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } - -- arc for access descriptors - --- policyQualifierIds for Internet policy qualifiers - -id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 } - -- OID for CPS qualifier -id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 } - -- OID for user notice qualifier - --- access descriptor definitions - -id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } -id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } - --- attribute data types -- - -Attribute ::= SEQUENCE { - type AttributeType, - values SET OF AttributeValue - -- at least one value is required -- -} - -AttributeType ::= OBJECT IDENTIFIER - -AttributeValue ::= ANY DEFINED BY type - -AttributeTypeAndValue ::= SEQUENCE { - type AttributeType, - value AttributeValue } - --- suggested naming attributes: Definition of the following --- information object set may be augmented to meet local --- requirements. Note that deleting members of the set may --- prevent interoperability with conforming implementations. --- presented in pairs: the AttributeType followed by the --- type definition for the corresponding AttributeValue - --- Arc for standard naming attributes -id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4} - --- Attributes of type NameDirectoryString -id-at-initials AttributeType ::= { id-at 43 } -X520initials ::= DirectoryString - -id-at-generationQualifier AttributeType ::= { id-at 44 } -X520generationQualifier ::= DirectoryString - -id-at-surname AttributeType ::= { id-at 4 } -X520surName ::= DirectoryString - -id-at-givenName AttributeType ::= { id-at 42 } -X520givenName ::= DirectoryString - -id-at-name AttributeType ::= { id-at 41 } -X520name ::= DirectoryString - -id-at-commonName AttributeType ::= {id-at 3} -X520CommonName ::= DirectoryString - -id-at-localityName AttributeType ::= {id-at 7} -X520LocalityName ::= DirectoryString - -id-at-stateOrProvinceName AttributeType ::= {id-at 8} -X520StateOrProvinceName ::= DirectoryString - -id-at-organizationName AttributeType ::= {id-at 10} -X520OrganizationName ::= DirectoryString - -id-at-organizationalUnitName AttributeType ::= {id-at 11} -X520OrganizationalUnitName ::= DirectoryString - -id-at-title AttributeType ::= {id-at 12} -X520Title ::= DirectoryString - -id-at-description AttributeType ::= {id-at 13} -X520Description ::= DirectoryString - -id-at-dnQualifier AttributeType ::= {id-at 46} -X520dnQualifier ::= PrintableString - -id-at-countryName AttributeType ::= {id-at 6} -X520countryName ::= PrintableString (SIZE (2)) -- IS 3166 codes - -id-at-serialNumber AttributeType ::= {id-at 5} -X520serialNumber ::= PrintableString - -id-at-telephoneNumber AttributeType ::= {id-at 20} -X520telephoneNumber ::= PrintableString - -id-at-facsimileTelephoneNumber AttributeType ::= {id-at 23} -X520facsimileTelephoneNumber ::= PrintableString - -id-at-pseudonym AttributeType ::= {id-at 65} -X520pseudonym ::= DirectoryString - -id-at-name AttributeType ::= {id-at 41} -X520name ::= DirectoryString - -id-at-streetAddress AttributeType ::= {id-at 9} -X520streetAddress ::= DirectoryString - -id-at-postalAddress AttributeType ::= {id-at 16} -X520postalAddress ::= PostalAddress - -PostalAddress ::= SEQUENCE OF DirectoryString - - - -- Legacy attributes - -pkcs OBJECT IDENTIFIER ::= - { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) } - -pkcs-9 OBJECT IDENTIFIER ::= - { pkcs 9 } - - -emailAddress AttributeType ::= { pkcs-9 1 } - -Pkcs9email ::= IA5String (SIZE (1..ub-emailaddress-length)) - --- naming data types -- - -Name ::= CHOICE { -- only one possibility for now -- - rdnSequence RDNSequence } - -RDNSequence ::= SEQUENCE OF RelativeDistinguishedName - -DistinguishedName ::= RDNSequence - -RelativeDistinguishedName ::= - SET SIZE (1 .. MAX) OF AttributeTypeAndValue - - - --- -------------------------------------------------------- --- certificate and CRL specific structures begin here --- -------------------------------------------------------- - -Certificate ::= SEQUENCE { - tbsCertificate TBSCertificate, - signatureAlgorithm AlgorithmIdentifier, - signature BIT STRING } - -TBSCertificate ::= SEQUENCE { - version [0] EXPLICIT Version DEFAULT v1, - serialNumber CertificateSerialNumber, - signature AlgorithmIdentifier, - issuer Name, - validity Validity, - subject Name, - subjectPublicKeyInfo SubjectPublicKeyInfo, - issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, - -- If present, version shall be v2 or v3 - subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, - -- If present, version shall be v2 or v3 - extensions [3] EXPLICIT Extensions OPTIONAL - -- If present, version shall be v3 -- -} - -Version ::= INTEGER { v1(0), v2(1), v3(2) } - -CertificateSerialNumber ::= INTEGER - -Validity ::= SEQUENCE { - notBefore Time, - notAfter Time } - -Time ::= CHOICE { - utcTime UTCTime, - generalTime GeneralizedTime } - -UniqueIdentifier ::= BIT STRING - -SubjectPublicKeyInfo ::= SEQUENCE { - algorithm AlgorithmIdentifier, - subjectPublicKey BIT STRING } - -Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension - -Extension ::= SEQUENCE { - extnID OBJECT IDENTIFIER, - critical BOOLEAN DEFAULT FALSE, - extnValue OCTET STRING } - - --- ------------------------------------------ --- CRL structures --- ------------------------------------------ - -CertificateList ::= SEQUENCE { - tbsCertList TBSCertList, - signatureAlgorithm AlgorithmIdentifier, - signature BIT STRING } - -TBSCertList ::= SEQUENCE { - version Version OPTIONAL, - -- if present, shall be v2 - signature AlgorithmIdentifier, - issuer Name, - thisUpdate Time, - nextUpdate Time OPTIONAL, - revokedCertificates SEQUENCE OF SEQUENCE { - userCertificate CertificateSerialNumber, - revocationDate Time, - crlEntryExtensions Extensions OPTIONAL - -- if present, shall be v2 - } OPTIONAL, - crlExtensions [0] EXPLICIT Extensions OPTIONAL - -- if present, shall be v2 -- -} - --- Version, Time, CertificateSerialNumber, and Extensions were --- defined earlier for use in the certificate structure - -AlgorithmIdentifier ::= SEQUENCE { - algorithm OBJECT IDENTIFIER, - parameters ANY DEFINED BY algorithm OPTIONAL } - -- contains a value of the type - -- registered for use with the - -- algorithm object identifier value - --- Algorithm OIDs and parameter structures - -pkcs-1 OBJECT IDENTIFIER ::= { - pkcs 1 } - -rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } - -md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 } - -md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 } - -sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } - -id-dsa-with-sha1 OBJECT IDENTIFIER ::= { - iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 } - -Dss-Sig-Value ::= SEQUENCE { - r INTEGER, - s INTEGER -} - -dhpublicnumber OBJECT IDENTIFIER ::= { - iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 } - -DomainParameters ::= SEQUENCE { - p INTEGER, -- odd prime, p=jq +1 - g INTEGER, -- generator, g - q INTEGER, -- factor of p-1 - j INTEGER OPTIONAL, -- subgroup factor, j>= 2 - validationParms ValidationParms OPTIONAL } - -ValidationParms ::= SEQUENCE { - seed BIT STRING, - pgenCounter INTEGER } - -id-dsa OBJECT IDENTIFIER ::= { - iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 } - -Dss-Parms ::= SEQUENCE { - p INTEGER, - q INTEGER, - g INTEGER } - --- x400 address syntax starts here --- OR Names - -ORAddress ::= SEQUENCE { - built-in-standard-attributes BuiltInStandardAttributes, - built-in-domain-defined-attributes - BuiltInDomainDefinedAttributes OPTIONAL, - -- see also teletex-domain-defined-attributes - extension-attributes ExtensionAttributes OPTIONAL } --- The OR-address is semantically absent from the OR-name if the --- built-in-standard-attribute sequence is empty and the --- built-in-domain-defined-attributes and extension-attributes are --- both omitted. - --- Built-in Standard Attributes - -BuiltInStandardAttributes ::= SEQUENCE { - country-name CountryName OPTIONAL, - administration-domain-name AdministrationDomainName OPTIONAL, - network-address [0] EXPLICIT NetworkAddress OPTIONAL, - -- see also extended-network-address - terminal-identifier [1] EXPLICIT TerminalIdentifier OPTIONAL, - private-domain-name [2] EXPLICIT PrivateDomainName OPTIONAL, - organization-name [3] EXPLICIT OrganizationName OPTIONAL, - -- see also teletex-organization-name - numeric-user-identifier [4] EXPLICIT NumericUserIdentifier OPTIONAL, - personal-name [5] EXPLICIT PersonalName OPTIONAL, - -- see also teletex-personal-name - organizational-unit-names [6] EXPLICIT OrganizationalUnitNames OPTIONAL - -- see also teletex-organizational-unit-names -- -} - -CountryName ::= [APPLICATION 1] CHOICE { - x121-dcc-code NumericString - (SIZE (ub-country-name-numeric-length)), - iso-3166-alpha2-code PrintableString - (SIZE (ub-country-name-alpha-length)) } - -AdministrationDomainName ::= [APPLICATION 2] EXPLICIT CHOICE { - numeric NumericString (SIZE (0..ub-domain-name-length)), - printable PrintableString (SIZE (0..ub-domain-name-length)) } - -NetworkAddress ::= X121Address -- see also extended-network-address - -X121Address ::= NumericString (SIZE (1..ub-x121-address-length)) - -TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length)) - -PrivateDomainName ::= CHOICE { - numeric NumericString (SIZE (1..ub-domain-name-length)), - printable PrintableString (SIZE (1..ub-domain-name-length)) } - -OrganizationName ::= PrintableString - (SIZE (1..ub-organization-name-length)) --- see also teletex-organization-name - -NumericUserIdentifier ::= NumericString - (SIZE (1..ub-numeric-user-id-length)) - -PersonalName ::= SET { - surname [0] PrintableString (SIZE (1..ub-surname-length)), - given-name [1] PrintableString - (SIZE (1..ub-given-name-length)) OPTIONAL, - initials [2] PrintableString (SIZE (1..ub-initials-length)) OPTIONAL, - generation-qualifier [3] PrintableString - (SIZE (1..ub-generation-qualifier-length)) OPTIONAL } --- see also teletex-personal-name - -OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units) - OF OrganizationalUnitName --- see also teletex-organizational-unit-names - -OrganizationalUnitName ::= PrintableString (SIZE - (1..ub-organizational-unit-name-length)) - --- Built-in Domain-defined Attributes - -BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE - (1..ub-domain-defined-attributes) OF - BuiltInDomainDefinedAttribute - -BuiltInDomainDefinedAttribute ::= SEQUENCE { - type PrintableString (SIZE - (1..ub-domain-defined-attribute-type-length)), - value PrintableString (SIZE - (1..ub-domain-defined-attribute-value-length))} - --- Extension Attributes - -ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF - ExtensionAttribute - -ExtensionAttribute ::= SEQUENCE { - extension-attribute-type [0] EXPLICIT INTEGER (0..ub-extension-attributes), - extension-attribute-value [1] EXPLICIT - ANY DEFINED BY extension-attribute-type } - --- Extension types and attribute values --- - -common-name INTEGER ::= 1 - -CommonName ::= PrintableString (SIZE (1..ub-common-name-length)) - -teletex-common-name INTEGER ::= 2 - -TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length)) - -teletex-organization-name INTEGER ::= 3 - -TeletexOrganizationName ::= - TeletexString (SIZE (1..ub-organization-name-length)) - -teletex-personal-name INTEGER ::= 4 - -TeletexPersonalName ::= SET { - surname [0] EXPLICIT TeletexString (SIZE (1..ub-surname-length)), - given-name [1] EXPLICIT TeletexString - (SIZE (1..ub-given-name-length)) OPTIONAL, - initials [2] EXPLICIT TeletexString (SIZE (1..ub-initials-length)) OPTIONAL, - generation-qualifier [3] EXPLICIT TeletexString (SIZE - (1..ub-generation-qualifier-length)) OPTIONAL } - -teletex-organizational-unit-names INTEGER ::= 5 - -TeletexOrganizationalUnitNames ::= SEQUENCE SIZE - (1..ub-organizational-units) OF TeletexOrganizationalUnitName - -TeletexOrganizationalUnitName ::= TeletexString - (SIZE (1..ub-organizational-unit-name-length)) - -pds-name INTEGER ::= 7 - -PDSName ::= PrintableString (SIZE (1..ub-pds-name-length)) - -physical-delivery-country-name INTEGER ::= 8 - -PhysicalDeliveryCountryName ::= CHOICE { - x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)), - iso-3166-alpha2-code PrintableString - (SIZE (ub-country-name-alpha-length)) } - -postal-code INTEGER ::= 9 - -PostalCode ::= CHOICE { - numeric-code NumericString (SIZE (1..ub-postal-code-length)), - printable-code PrintableString (SIZE (1..ub-postal-code-length)) } - -physical-delivery-office-name INTEGER ::= 10 - -PhysicalDeliveryOfficeName ::= PDSParameter - -physical-delivery-office-number INTEGER ::= 11 - -PhysicalDeliveryOfficeNumber ::= PDSParameter - -extension-OR-address-components INTEGER ::= 12 - -ExtensionORAddressComponents ::= PDSParameter - -physical-delivery-personal-name INTEGER ::= 13 - -PhysicalDeliveryPersonalName ::= PDSParameter - -physical-delivery-organization-name INTEGER ::= 14 - -PhysicalDeliveryOrganizationName ::= PDSParameter - -extension-physical-delivery-address-components INTEGER ::= 15 - -ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter - -unformatted-postal-address INTEGER ::= 16 - -UnformattedPostalAddress ::= SET { - printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF - PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL, - teletex-string TeletexString - (SIZE (1..ub-unformatted-address-length)) OPTIONAL } - -street-address INTEGER ::= 17 - -StreetAddress ::= PDSParameter - -post-office-box-address INTEGER ::= 18 - -PostOfficeBoxAddress ::= PDSParameter - -poste-restante-address INTEGER ::= 19 - -PosteRestanteAddress ::= PDSParameter - -unique-postal-name INTEGER ::= 20 - -UniquePostalName ::= PDSParameter - -local-postal-attributes INTEGER ::= 21 - -LocalPostalAttributes ::= PDSParameter - -PDSParameter ::= SET { - printable-string PrintableString - (SIZE(1..ub-pds-parameter-length)) OPTIONAL, - teletex-string TeletexString - (SIZE(1..ub-pds-parameter-length)) OPTIONAL } - -extended-network-address INTEGER ::= 22 - -ExtendedNetworkAddress ::= CHOICE { - e163-4-address SEQUENCE { - number [0] EXPLICIT NumericString (SIZE (1..ub-e163-4-number-length)), - sub-address [1] EXPLICIT NumericString - (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL }, - psap-address [0] EXPLICIT PresentationAddress } - -PresentationAddress ::= SEQUENCE { - pSelector [0] EXPLICIT OCTET STRING OPTIONAL, - sSelector [1] EXPLICIT OCTET STRING OPTIONAL, - tSelector [2] EXPLICIT OCTET STRING OPTIONAL, - nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING } - -terminal-type INTEGER ::= 23 - -TerminalType ::= INTEGER { - telex (3), - teletex (4), - g3-facsimile (5), - g4-facsimile (6), - ia5-terminal (7), - videotex (8) } -- (0..ub-integer-options) - --- Extension Domain-defined Attributes - -teletex-domain-defined-attributes INTEGER ::= 6 - -TeletexDomainDefinedAttributes ::= SEQUENCE SIZE - (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute - -TeletexDomainDefinedAttribute ::= SEQUENCE { - type TeletexString - (SIZE (1..ub-domain-defined-attribute-type-length)), - value TeletexString - (SIZE (1..ub-domain-defined-attribute-value-length)) } - --- specifications of Upper Bounds shall be regarded as mandatory --- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter --- Upper Bounds - --- Upper Bounds -ub-name INTEGER ::= 32768 -ub-common-name INTEGER ::= 64 -ub-locality-name INTEGER ::= 128 -ub-state-name INTEGER ::= 128 -ub-organization-name INTEGER ::= 64 -ub-organizational-unit-name INTEGER ::= 64 -ub-title INTEGER ::= 64 -ub-match INTEGER ::= 128 - -ub-emailaddress-length INTEGER ::= 128 - -ub-common-name-length INTEGER ::= 64 -ub-country-name-alpha-length INTEGER ::= 2 -ub-country-name-numeric-length INTEGER ::= 3 -ub-domain-defined-attributes INTEGER ::= 4 -ub-domain-defined-attribute-type-length INTEGER ::= 8 -ub-domain-defined-attribute-value-length INTEGER ::= 128 -ub-domain-name-length INTEGER ::= 16 -ub-extension-attributes INTEGER ::= 256 -ub-e163-4-number-length INTEGER ::= 15 -ub-e163-4-sub-address-length INTEGER ::= 40 -ub-generation-qualifier-length INTEGER ::= 3 -ub-given-name-length INTEGER ::= 16 -ub-initials-length INTEGER ::= 5 -ub-integer-options INTEGER ::= 256 -ub-numeric-user-id-length INTEGER ::= 32 -ub-organization-name-length INTEGER ::= 64 -ub-organizational-unit-name-length INTEGER ::= 32 -ub-organizational-units INTEGER ::= 4 -ub-pds-name-length INTEGER ::= 16 -ub-pds-parameter-length INTEGER ::= 30 -ub-pds-physical-address-lines INTEGER ::= 6 -ub-postal-code-length INTEGER ::= 16 -ub-surname-length INTEGER ::= 40 -ub-terminal-id-length INTEGER ::= 24 -ub-unformatted-address-length INTEGER ::= 180 -ub-x121-address-length INTEGER ::= 16 - --- Note - upper bounds on string types, such as TeletexString, are --- measured in characters. Excepting PrintableString or IA5String, a --- significantly greater number of octets will be required to hold --- such a value. As a minimum, 16 octets, or twice the specified upper --- bound, whichever is the larger, should be allowed for TeletexString. --- For UTF8String or UniversalString at least four times the upper --- bound should be allowed. - - - --- END of PKIX1Implicit88 - - --- BEGIN of RFC2630 - --- Cryptographic Message Syntax - -pkcs-7-ContentInfo ::= SEQUENCE { - contentType OBJECT IDENTIFIER, - content [0] EXPLICIT ANY DEFINED BY contentType } - -pkcs-7-DigestInfo ::= SEQUENCE { - digestAlgorithm AlgorithmIdentifier, - digest OCTET STRING -} - -pkcs-7-SignedData ::= SEQUENCE { - version INTEGER, - digestAlgorithms pkcs-7-DigestAlgorithmIdentifiers, - encapContentInfo pkcs-7-EncapsulatedContentInfo, - certificates [0] IMPLICIT pkcs-7-CertificateSet OPTIONAL, - crls [1] IMPLICIT pkcs-7-CertificateRevocationLists OPTIONAL, - signerInfos pkcs-7-SignerInfos -} - -pkcs-7-DigestAlgorithmIdentifiers ::= SET OF AlgorithmIdentifier - --- rfc5652: eContent [0] EXPLICIT OCTET STRING OPTIONAL --- rfc2315: content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL - -pkcs-7-EncapsulatedContentInfo ::= SEQUENCE { - eContentType OBJECT IDENTIFIER, - eContent [0] EXPLICIT ANY OPTIONAL } - --- We don't use CertificateList here since we only want --- to read the raw data. -pkcs-7-CertificateRevocationLists ::= SET OF ANY - -pkcs-7-CertificateChoices ::= CHOICE { --- Although the paper uses Certificate type, we --- don't use it since, we don't need to parse it. --- We only need to read and store it. - certificate ANY -} - -pkcs-7-CertificateSet ::= SET OF pkcs-7-CertificateChoices - -IssuerAndSerialNumber ::= SEQUENCE { - issuer Name, - serialNumber CertificateSerialNumber -} - -pkcs-7-SignerInfo ::= SEQUENCE { - version INTEGER, - sid SignerIdentifier, - digestAlgorithm AlgorithmIdentifier, - signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL, - signatureAlgorithm AlgorithmIdentifier, - signature OCTET STRING, - unsignedAttrs [1] IMPLICIT SignedAttributes OPTIONAL } - -SignedAttributes ::= SET SIZE (1..MAX) OF Attribute - -SignerIdentifier ::= CHOICE { - issuerAndSerialNumber IssuerAndSerialNumber, - subjectKeyIdentifier [0] SubjectKeyIdentifier -} - -pkcs-7-SignerInfos ::= SET OF pkcs-7-SignerInfo - - --- BEGIN of RFC2986 - --- Certificate requests -pkcs-10-CertificationRequestInfo ::= SEQUENCE { - version INTEGER { v1(0) }, - subject Name, - subjectPKInfo SubjectPublicKeyInfo, - attributes [0] Attributes -} - -Attributes ::= SET OF Attribute - -pkcs-10-CertificationRequest ::= SEQUENCE { - certificationRequestInfo pkcs-10-CertificationRequestInfo, - signatureAlgorithm AlgorithmIdentifier, - signature BIT STRING -} - --- stuff from PKCS#9 - -pkcs-9-ub-challengePassword INTEGER ::= 255 - -pkcs-9-certTypes OBJECT IDENTIFIER ::= {pkcs-9 22} -pkcs-9-crlTypes OBJECT IDENTIFIER ::= {pkcs-9 23} - -pkcs-9-at-challengePassword OBJECT IDENTIFIER ::= {pkcs-9 7} - -pkcs-9-challengePassword ::= CHOICE { - printableString PrintableString (SIZE (1..pkcs-9-ub-challengePassword)), - utf8String UTF8String (SIZE (1..pkcs-9-ub-challengePassword)) } - -pkcs-9-at-localKeyId OBJECT IDENTIFIER ::= {pkcs-9 21} - -pkcs-9-localKeyId ::= OCTET STRING - -pkcs-9-at-friendlyName OBJECT IDENTIFIER ::= {pkcs-9 20} - -pkcs-9-friendlyName ::= BMPString (SIZE (1..255)) - --- PKCS #8 stuff - --- Private-key information syntax - -pkcs-8-PrivateKeyInfo ::= SEQUENCE { - version pkcs-8-Version, - privateKeyAlgorithm AlgorithmIdentifier, - privateKey pkcs-8-PrivateKey, - attributes [0] Attributes OPTIONAL } - -pkcs-8-Version ::= INTEGER {v1(0)} - -pkcs-8-PrivateKey ::= OCTET STRING - -pkcs-8-Attributes ::= SET OF Attribute - --- Encrypted private-key information syntax - -pkcs-8-EncryptedPrivateKeyInfo ::= SEQUENCE { - encryptionAlgorithm AlgorithmIdentifier, - encryptedData pkcs-8-EncryptedData -} - -pkcs-8-EncryptedData ::= OCTET STRING - --- PKCS #5 stuff - -pkcs-5 OBJECT IDENTIFIER ::= - { pkcs 5 } - -pkcs-5-encryptionAlgorithm OBJECT IDENTIFIER ::= - { iso(1) member-body(2) us(840) rsadsi(113549) 3 } - -pkcs-5-des-EDE3-CBC OBJECT IDENTIFIER ::= {pkcs-5-encryptionAlgorithm 7} - -pkcs-5-des-EDE3-CBC-params ::= OCTET STRING (SIZE(8)) - -pkcs-5-id-PBES2 OBJECT IDENTIFIER ::= {pkcs-5 13} - -pkcs-5-PBES2-params ::= SEQUENCE { - keyDerivationFunc AlgorithmIdentifier, - encryptionScheme AlgorithmIdentifier } - --- PBKDF2 - -pkcs-5-id-PBKDF2 OBJECT IDENTIFIER ::= {pkcs-5 12} - --- pkcs-5-id-hmacWithSHA1 OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549) 2 7} - --- pkcs-5-algid-hmacWithSHA1 AlgorithmIdentifier ::= --- {algorithm pkcs-5-id-hmacWithSHA1, parameters NULL : NULL} - -pkcs-5-PBKDF2-params ::= SEQUENCE { - salt CHOICE { - specified OCTET STRING, - otherSource AlgorithmIdentifier - }, - iterationCount INTEGER (1..MAX), - keyLength INTEGER (1..MAX) OPTIONAL, - prf AlgorithmIdentifier OPTIONAL -- DEFAULT pkcs-5-id-hmacWithSHA1 -} - --- PKCS #12 stuff - -pkcs-12 OBJECT IDENTIFIER ::= {pkcs 12} - -pkcs-12-PFX ::= SEQUENCE { - version INTEGER {v3(3)}, - authSafe pkcs-7-ContentInfo, - macData pkcs-12-MacData OPTIONAL -} - -pkcs-12-PbeParams ::= SEQUENCE { - salt OCTET STRING, - iterations INTEGER -} - -pkcs-12-MacData ::= SEQUENCE { - mac pkcs-7-DigestInfo, - macSalt OCTET STRING, - iterations INTEGER DEFAULT 1 --- Note: The default is for historical reasons and its use is --- deprecated. A higher value, like 1024 is recommended. -} - -pkcs-12-AuthenticatedSafe ::= SEQUENCE OF pkcs-7-ContentInfo - -- Data if unencrypted - -- EncryptedData if password-encrypted - -- EnvelopedData if public key-encrypted - -pkcs-12-SafeContents ::= SEQUENCE OF pkcs-12-SafeBag - -pkcs-12-SafeBag ::= SEQUENCE { - bagId OBJECT IDENTIFIER, - bagValue [0] EXPLICIT ANY DEFINED BY badId, - bagAttributes SET OF pkcs-12-PKCS12Attribute OPTIONAL -} - --- Bag types - - -pkcs-12-bagtypes OBJECT IDENTIFIER ::= {pkcs-12 10 1} - -pkcs-12-keyBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 1} -pkcs-12-pkcs8ShroudedKeyBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 2} -pkcs-12-certBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 3} -pkcs-12-crlBag OBJECT IDENTIFIER ::= {pkcs-12-bagtypes 4} - -pkcs-12-KeyBag ::= pkcs-8-PrivateKeyInfo - --- Shrouded KeyBag - -pkcs-12-PKCS8ShroudedKeyBag ::= pkcs-8-EncryptedPrivateKeyInfo - --- CertBag - -pkcs-12-CertBag ::= SEQUENCE { - certId OBJECT IDENTIFIER, - certValue [0] EXPLICIT ANY DEFINED BY certId -} - --- x509Certificate BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {pkcs-9-certTypes 1}} --- DER-encoded X.509 certificate stored in OCTET STRING - -pkcs-12-CRLBag ::= SEQUENCE { - crlId OBJECT IDENTIFIER, - crlValue [0] EXPLICIT ANY DEFINED BY crlId -} - --- x509CRL BAG-TYPE ::= --- {OCTET STRING IDENTIFIED BY {pkcs-9-crlTypes 1}} --- DER-encoded X.509 CRL stored in OCTET STRING - -pkcs-12-PKCS12Attribute ::= Attribute - --- PKCS #7 stuff (needed in PKCS 12) - -pkcs-7-Data ::= OCTET STRING - -pkcs-7-EncryptedData ::= SEQUENCE { - version INTEGER, - encryptedContentInfo pkcs-7-EncryptedContentInfo, - unprotectedAttrs [1] IMPLICIT pkcs-7-UnprotectedAttributes OPTIONAL } - -pkcs-7-EncryptedContentInfo ::= SEQUENCE { - contentType OBJECT IDENTIFIER, - contentEncryptionAlgorithm pkcs-7-ContentEncryptionAlgorithmIdentifier, - encryptedContent [0] IMPLICIT OCTET STRING OPTIONAL } - -pkcs-7-ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier - -pkcs-7-UnprotectedAttributes ::= SET SIZE (1..MAX) OF Attribute - --- LDAP stuff --- may not be correct - -id-at-ldap-DC AttributeType ::= { 0 9 2342 19200300 100 1 25 } - -ldap-DC ::= IA5String - -id-at-ldap-UID AttributeType ::= { 0 9 2342 19200300 100 1 1 } - -ldap-UID ::= DirectoryString - --- rfc3039 - -id-pda OBJECT IDENTIFIER ::= { id-pkix 9 } - -id-pda-dateOfBirth AttributeType ::= { id-pda 1 } -DateOfBirth ::= GeneralizedTime - -id-pda-placeOfBirth AttributeType ::= { id-pda 2 } -PlaceOfBirth ::= DirectoryString - -id-pda-gender AttributeType ::= { id-pda 3 } -Gender ::= PrintableString (SIZE(1)) - -- "M", "F", "m" or "f" - -id-pda-countryOfCitizenship AttributeType ::= { id-pda 4 } -CountryOfCitizenship ::= PrintableString (SIZE (2)) - -- ISO 3166 Country Code - -id-pda-countryOfResidence AttributeType ::= { id-pda 5 } -CountryOfResidence ::= PrintableString (SIZE (2)) - -- ISO 3166 Country Code - --- rfc3820 - -id-pe-proxyCertInfo OBJECT IDENTIFIER ::= { id-pe 14 } - -id-ppl-inheritAll OBJECT IDENTIFIER ::= { id-pkix 21 1 } -id-ppl-independent OBJECT IDENTIFIER ::= { id-pkix 21 2 } - -ProxyCertInfo ::= SEQUENCE { - pCPathLenConstraint INTEGER (0..MAX) OPTIONAL, - proxyPolicy ProxyPolicy } - -ProxyPolicy ::= SEQUENCE { - policyLanguage OBJECT IDENTIFIER, - policy OCTET STRING OPTIONAL } - --- rfc3920 section 5.1.1 - -id-on OBJECT IDENTIFIER ::= { id-pkix 8 } -- other name forms - -id-on-xmppAddr OBJECT IDENTIFIER ::= { id-on 5 } - -XmppAddr ::= UTF8String - --- ocsp - -BasicOCSPResponse ::= SEQUENCE { - tbsResponseData ResponseData, - signatureAlgorithm AlgorithmIdentifier, - signature BIT STRING, - certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - -ResponseData ::= SEQUENCE { - version [0] EXPLICIT INTEGER DEFAULT 0, - responderID ResponderID, - producedAt GeneralizedTime, - responses SEQUENCE OF SingleResponse, - responseExtensions [1] EXPLICIT Extensions OPTIONAL } - -ResponderID ::= CHOICE { --- Changed to work with the libtasn1 parser. - byName [1] EXPLICIT RDNSequence, --Name - byKey [2] EXPLICIT OCTET STRING --SHA-1 hash of responder's public key -} - -CertID ::= SEQUENCE { - hashAlgorithm AlgorithmIdentifier, - issuerNameHash OCTET STRING, -- Hash of Issuer's DN - issuerKeyHash OCTET STRING, -- Hash of Issuers public key - serialNumber CertificateSerialNumber } - -CertStatus ::= CHOICE { - good [0] IMPLICIT NULL, - revoked [1] IMPLICIT RevokedInfo, - unknown [2] IMPLICIT UnknownInfo } - -SingleResponse ::= SEQUENCE { - certID CertID, - certStatus CertStatus, - thisUpdate GeneralizedTime, - nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, - singleExtensions [1] EXPLICIT Extensions OPTIONAL } - -RevokedInfo ::= SEQUENCE { - revocationTime GeneralizedTime, - revocationReason [0] EXPLICIT CRLReason OPTIONAL } - -UnknownInfo ::= NULL -- this can be replaced with an enumeration - -END - --- Copyright (C) 2002-2014 Free Software Foundation, Inc. --- --- This file is part of LIBTASN1. --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see <http://www.gnu.org/licenses/>. - diff --git a/tests/spc_pe_image_data.c b/tests/spc_pe_image_data.c deleted file mode 100644 index a6bff0c..0000000 --- a/tests/spc_pe_image_data.c +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (C) 2016 Red Hat, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <libtasn1.h> - -int main (int argc, char** argv) -{ - int result = 0, len; - asn1_node definitions = NULL, node1 = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - const char *choicefile = getenv ("ASN1_MSCAT"); - const char *datafile = getenv ("ASN1_SPC_PE_IMAGE_DATA"); - FILE *fp; - char data[1024]; - int data_size = sizeof (data); - unsigned etype; - int cmp; - - if (choicefile == NULL) { - choicefile = "mscat.asn"; - } - - if (datafile == NULL) { - datafile = "spc_pe_image_data.der"; - } - - result = asn1_parser2tree(choicefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) { - fprintf(stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - result = asn1_create_element(definitions, - "CATALOG.SpcPEImageData", - &node1); - if (result != ASN1_SUCCESS) { - fprintf(stderr, "error in %d\n", __LINE__); - exit (1); - } - - fp = fopen(datafile, "rb"); - if (fp == NULL) { - fprintf (stderr, "error in %d\n", __LINE__); - exit(1); - } - data_size = fread(data, 1, sizeof(data), fp); - fclose(fp); - - result = asn1_der_decoding2(&node1, - data, - &data_size, - ASN1_DECODE_FLAG_STRICT_DER, - errorDescription); - if (result != ASN1_SUCCESS) { - fprintf(stderr, "error in %d: decoding: %s\n", __LINE__, errorDescription); - exit(1); - } - - len = 0; - result = asn1_read_value_type(node1, - "flags", - NULL, - &len, - &etype); - if (result != ASN1_MEM_ERROR) { - fprintf(stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit(1); - } - - if ((size_t)len >= sizeof(data)) { - fprintf(stderr, - "error len=%d, sizeof(data)=%zu\n", - len, - sizeof(data)); - exit(1); - } - - result = asn1_read_value(node1, "flags", data, &len); - if (result != ASN1_SUCCESS) { - fprintf(stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - etype = 0; - len = 0; - result = asn1_read_value_type(node1, "link", NULL, &len, &etype); - if (result != ASN1_MEM_ERROR) - { - fprintf(stderr, - "error in %d: result is: %s\n", - __LINE__, - asn1_strerror(result)); - exit(1); - } - - if (etype != ASN1_ETYPE_CHOICE) { - fprintf(stderr, - "error in %d: The type (%u) doesn't match choice.\n", - __LINE__, - etype); - exit(1); - } - - if (len != 5) { - fprintf (stderr, "length doesn't match the expected (got: %d, should be: 20)\n", len); - exit (1); - } - - len = sizeof(data); - result = asn1_read_value(node1, "link", data, &len); - if (result != ASN1_SUCCESS) { - fprintf(stderr, "error in %d: %s\n", __LINE__, errorDescription); - exit (1); - } - - cmp = memcmp(data, "file", len); - if (cmp != 0) { - fprintf(stderr, "contents don't match\n"); - exit(1); - } - - printf("SUCCESS\n"); - - asn1_delete_structure (&node1); - asn1_delete_structure (&definitions); - - return 0; -} diff --git a/tests/spc_pe_image_data.der b/tests/spc_pe_image_data.der Binary files differdeleted file mode 100644 index 0e72dfa..0000000 --- a/tests/spc_pe_image_data.der +++ /dev/null diff --git a/tests/strict-der.c b/tests/strict-der.c deleted file mode 100644 index 477e041..0000000 --- a/tests/strict-der.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (C) 2002-2014 Free Software Foundation, Inc. - * - * This file is part of LIBTASN1. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "libtasn1.h" - - - -int -main (int argc, char *argv[]) -{ - int result; - char buffer[10 * 1024]; - asn1_node definitions = NULL; - asn1_node asn1_element = NULL; - char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; - FILE *out, *fd; - int size; - const char *treefile = getenv ("ASN1PKIX"); - const char *indeffile = getenv ("ASN1INDEF"); - int verbose = 0; - - if (argc > 1) - verbose = 1; - - if (!treefile) - treefile = "pkix.asn"; - - if (!indeffile) - indeffile = "TestIndef.p12"; - - if (verbose) - { - printf ("\n\n/****************************************/\n"); - printf ("/* Test sequence : strict DER decoding */\n"); - printf ("/****************************************/\n\n"); - printf ("ASN1TREE: %s\n", treefile); - } - - /* Check version */ - if (asn1_check_version ("0.2.11") == NULL) - printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", - asn1_check_version (NULL)); - - result = asn1_parser2tree (treefile, &definitions, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("ErrorDescription = %s\n\n", errorDescription); - exit (1); - } - - out = stdout; - - fd = fopen (indeffile, "rb"); - if (fd == NULL) - { - printf ("Cannot read file %s\n", indeffile); - exit (1); - } - size = fread (buffer, 1, sizeof (buffer), fd); - if (size <= 0) - { - printf ("Cannot read from file %s\n", indeffile); - exit (1); - } - - fclose (fd); - - result = - asn1_create_element (definitions, "PKIX1.pkcs-12-PFX", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create PKCS12 element\n"); - exit (1); - } - - result = asn1_der_decoding2 (&asn1_element, buffer, &size, 0, errorDescription); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot decode BER data (size %ld) in %s: %s\n", (long) size, indeffile, errorDescription); - exit (1); - } - - asn1_delete_structure (&asn1_element); - - /* Now try with strict DER */ - result = - asn1_create_element (definitions, "PKIX1.pkcs-12-PFX", &asn1_element); - if (result != ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Cannot create PKCS12 element\n"); - exit (1); - } - - result = asn1_der_decoding2 (&asn1_element, buffer, &size, ASN1_DECODE_FLAG_STRICT_DER, errorDescription); - if (result == ASN1_SUCCESS) - { - asn1_perror (result); - printf ("Should not have decoded DER data (size %ld) in %s: %s\n", (long) size, indeffile, errorDescription); - exit (1); - } - - asn1_delete_structure (&asn1_element); - - /* Clear the definition structures */ - asn1_delete_structure (&definitions); - - if (out != stdout) - fclose (out); - - exit (0); -} diff --git a/tests/threadsafety b/tests/threadsafety deleted file mode 100755 index 608fa16..0000000 --- a/tests/threadsafety +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2004-2014 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -FILES="$@" -FILES=${FILES:-$THREADSAFETY_FILES} -EGREP=${EGREP:-egrep} - -if test -z "$FILES"; then - echo "Usage: $0 [FILE...]" - exit 1 -fi - -UNSAFE="" - -# Thread unsafe functions according to latest POSIX, see: -# http://www.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09_01 -UNSAFE="$UNSAFE asctime" -UNSAFE="$UNSAFE basename" -UNSAFE="$UNSAFE catgets" -UNSAFE="$UNSAFE crypt" -UNSAFE="$UNSAFE ctime" -UNSAFE="$UNSAFE dbm_clearerr" -UNSAFE="$UNSAFE dbm_close" -UNSAFE="$UNSAFE dbm_delete" -UNSAFE="$UNSAFE dbm_error" -UNSAFE="$UNSAFE dbm_fetch" -UNSAFE="$UNSAFE dbm_firstkey" -UNSAFE="$UNSAFE dbm_nextkey" -UNSAFE="$UNSAFE dbm_open" -UNSAFE="$UNSAFE dbm_store" -UNSAFE="$UNSAFE dirname" -UNSAFE="$UNSAFE dlerror" -UNSAFE="$UNSAFE drand48" -UNSAFE="$UNSAFE encrypt" -UNSAFE="$UNSAFE endgrent" -UNSAFE="$UNSAFE endpwent" -UNSAFE="$UNSAFE endutxent" -UNSAFE="$UNSAFE ftw" -UNSAFE="$UNSAFE getc_unlocked" -UNSAFE="$UNSAFE getchar_unlocked" -UNSAFE="$UNSAFE getdate" -UNSAFE="$UNSAFE getenv" -UNSAFE="$UNSAFE getgrent" -UNSAFE="$UNSAFE getgrgid" -UNSAFE="$UNSAFE getgrnam" -UNSAFE="$UNSAFE gethostent" -UNSAFE="$UNSAFE getlogin" -UNSAFE="$UNSAFE getnetbyaddr" -UNSAFE="$UNSAFE getnetbyname" -UNSAFE="$UNSAFE getnetent" -UNSAFE="$UNSAFE getopt" -UNSAFE="$UNSAFE getprotobyname" -UNSAFE="$UNSAFE getprotobynumber" -UNSAFE="$UNSAFE getprotoent" -UNSAFE="$UNSAFE getpwent" -UNSAFE="$UNSAFE getpwnam" -UNSAFE="$UNSAFE getpwuid" -UNSAFE="$UNSAFE getservbyname" -UNSAFE="$UNSAFE getservbyport" -UNSAFE="$UNSAFE getservent" -UNSAFE="$UNSAFE getutxent" -UNSAFE="$UNSAFE getutxid" -UNSAFE="$UNSAFE getutxline" -UNSAFE="$UNSAFE gmtime" -UNSAFE="$UNSAFE hcreate" -UNSAFE="$UNSAFE hdestroy" -UNSAFE="$UNSAFE hsearch" -UNSAFE="$UNSAFE inet_ntoa" -UNSAFE="$UNSAFE l64a" -UNSAFE="$UNSAFE lgamma" -UNSAFE="$UNSAFE lgammaf" -UNSAFE="$UNSAFE lgammal" -UNSAFE="$UNSAFE localeconv" -UNSAFE="$UNSAFE localtime" -UNSAFE="$UNSAFE lrand48" -UNSAFE="$UNSAFE mrand48" -UNSAFE="$UNSAFE nftw" -UNSAFE="$UNSAFE nl_langinfo" -UNSAFE="$UNSAFE ptsname" -UNSAFE="$UNSAFE putc_unlocked" -UNSAFE="$UNSAFE putchar_unlocked" -UNSAFE="$UNSAFE putenv" -UNSAFE="$UNSAFE pututxline" -UNSAFE="$UNSAFE rand" -UNSAFE="$UNSAFE readdir" -UNSAFE="$UNSAFE setenv" -UNSAFE="$UNSAFE setgrent" -UNSAFE="$UNSAFE setkey" -UNSAFE="$UNSAFE setpwent" -UNSAFE="$UNSAFE setutxent" -UNSAFE="$UNSAFE strerror" -UNSAFE="$UNSAFE strsignal" -UNSAFE="$UNSAFE strtok" -UNSAFE="$UNSAFE system" -UNSAFE="$UNSAFE ttyname" -UNSAFE="$UNSAFE unsetenv" -UNSAFE="$UNSAFE wcstombs" -UNSAFE="$UNSAFE wctomb" - -# Additional functions that aren't thread-safe if passed a NULL argument -UNSAFE="$UNSAFE ctermid" -UNSAFE="$UNSAFE tmpname" -UNSAFE="$UNSAFE wcrtomb" -UNSAFE="$UNSAFE wcsrtombs" - -# Legacy functions removed between issue 6 and 7, see: -# http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html#tag_02_09_01 -UNSAFE="$UNSAFE ecvt" -UNSAFE="$UNSAFE fcvt" -UNSAFE="$UNSAFE gcvt" -UNSAFE="$UNSAFE gethostbyaddr" -UNSAFE="$UNSAFE gethostbyname" - -# Other (potentially) thread unsafe functions, see: -# http://blog.josefsson.org/2009/06/23/thread-safe-functions/ -UNSAFE="$UNSAFE erand48" -UNSAFE="$UNSAFE ether_aton" -UNSAFE="$UNSAFE ether_ntoa" -UNSAFE="$UNSAFE fgetgrent" -UNSAFE="$UNSAFE fgetpwent" -UNSAFE="$UNSAFE fgetspent" -UNSAFE="$UNSAFE getaliasbyname" -UNSAFE="$UNSAFE getaliasent" -UNSAFE="$UNSAFE gethostbyname2" -UNSAFE="$UNSAFE getmntent" -UNSAFE="$UNSAFE getnetgrent" -UNSAFE="$UNSAFE getrpcbyname" -UNSAFE="$UNSAFE getrpcbynumber" -UNSAFE="$UNSAFE getrpcent" -UNSAFE="$UNSAFE getspent" -UNSAFE="$UNSAFE getspnam" -UNSAFE="$UNSAFE getutent" -UNSAFE="$UNSAFE getutid" -UNSAFE="$UNSAFE getutline" -UNSAFE="$UNSAFE initstate" -UNSAFE="$UNSAFE jrand48" -UNSAFE="$UNSAFE lcong48" -UNSAFE="$UNSAFE nrand48" -UNSAFE="$UNSAFE qecvt" -UNSAFE="$UNSAFE qfcvt" -UNSAFE="$UNSAFE random" -UNSAFE="$UNSAFE seed48" -UNSAFE="$UNSAFE setstate" -UNSAFE="$UNSAFE sgetspent" -UNSAFE="$UNSAFE srand48" -UNSAFE="$UNSAFE srandom" - -set -- $UNSAFE -cmd="-e [^.>=_0-9a-z]($1" -shift -while test $# != 0; do - cmd="${cmd}|$1" - shift -done -cmd="${cmd})[^.>=_0-9a-z]*\(" - -if $EGREP $cmd $FILES; then - exit 1 -fi - -exit 0 |